This commit is contained in:
Lauszus 2021-05-02 21:26:04 +00:00
parent ec0f008d74
commit f211a5c1f5
19 changed files with 525 additions and 520 deletions

View file

@ -333,7 +333,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_a44416ff64fc0e3691f98addac13d4595"><div class="ttname"><a href="_usb_core_8h.html#a44416ff64fc0e3691f98addac13d4595">USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</a></div><div class="ttdeci">#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00098">UsbCore.h:98</a></div></div>
<div class="ttc" id="a_a_m_b_x_enums_8h_html_a629a6a0310b15932888986a4e775fedb"><div class="ttname"><a href="_a_m_b_x_enums_8h.html#a629a6a0310b15932888986a4e775fedb">AmbxColorsEnum</a></div><div class="ttdeci">AmbxColorsEnum</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_enums_8h_source.html#l00021">AMBXEnums.h:21</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="a_a_m_b_x_enums_8h_html_ab89d9ad8d1631f26d5e35b3e3c9b6ee2a3c35749443d61bd0d6a13453c604c40e"><div class="ttname"><a href="_a_m_b_x_enums_8h.html#ab89d9ad8d1631f26d5e35b3e3c9b6ee2a3c35749443d61bd0d6a13453c604c40e">Sidelight_right</a></div><div class="ttdeci">@ Sidelight_right</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_enums_8h_source.html#l00032">AMBXEnums.h:32</a></div></div>
<div class="ttc" id="a_a_m_b_x_enums_8h_html_ab89d9ad8d1631f26d5e35b3e3c9b6ee2"><div class="ttname"><a href="_a_m_b_x_enums_8h.html#ab89d9ad8d1631f26d5e35b3e3c9b6ee2">AmbxLightsEnum</a></div><div class="ttdeci">AmbxLightsEnum</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_enums_8h_source.html#l00030">AMBXEnums.h:30</a></div></div>
<div class="ttc" id="aclass_a_m_b_x_html_ac6d86347274400d7db5d2394c53ad972"><div class="ttname"><a href="class_a_m_b_x.html#ac6d86347274400d7db5d2394c53ad972">AMBX::setLight</a></div><div class="ttdeci">void setLight(uint8_t ambx_light, uint8_t r, uint8_t g, uint8_t b)</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_8cpp_source.html#l00223">AMBX.cpp:223</a></div></div>
@ -366,7 +366,7 @@ $(function() {
<div class="ttc" id="aclass_a_m_b_x_html_a2dea8d23588f26a82e439618f57b7ffb"><div class="ttname"><a href="class_a_m_b_x.html#a2dea8d23588f26a82e439618f57b7ffb">AMBX::AMBXConnected</a></div><div class="ttdeci">bool AMBXConnected</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_8h_source.html#l00133">AMBX.h:133</a></div></div>
<div class="ttc" id="astruct_usb_device_html"><div class="ttname"><a href="struct_usb_device.html">UsbDevice</a></div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00082">address.h:82</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="a_a_m_b_x_8h_html_ab04bdad22d2614867d6cb4541b32f8bc"><div class="ttname"><a href="_a_m_b_x_8h.html#ab04bdad22d2614867d6cb4541b32f8bc">AMBX_CONTROL_PIPE</a></div><div class="ttdeci">#define AMBX_CONTROL_PIPE</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_8h_source.html#l00027">AMBX.h:27</a></div></div>
<div class="ttc" id="a_a_m_b_x_8h_html_a269d5e0ee9816e398188f23520f41192"><div class="ttname"><a href="_a_m_b_x_8h.html#a269d5e0ee9816e398188f23520f41192">AMBX_ENDPOINT_OUT</a></div><div class="ttdeci">#define AMBX_ENDPOINT_OUT</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_8h_source.html#l00037">AMBX.h:37</a></div></div>
<div class="ttc" id="aversion__helper_8h_html_a73809107539df84eaf01f6a4dea4fbff"><div class="ttname"><a href="version__helper_8h.html#a73809107539df84eaf01f6a4dea4fbff">PSTR</a></div><div class="ttdeci">#define PSTR(str)</div><div class="ttdef"><b>Definition:</b> <a href="version__helper_8h_source.html#l00054">version_helper.h:54</a></div></div>
@ -375,7 +375,7 @@ $(function() {
<div class="ttc" id="aclass_a_m_b_x_html_a1bac21499826d3730b09c0518285261b"><div class="ttname"><a href="class_a_m_b_x.html#a1bac21499826d3730b09c0518285261b">AMBX::Release</a></div><div class="ttdeci">uint8_t Release()</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_8cpp_source.html#l00205">AMBX.cpp:205</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="a_a_m_b_x_8h_html_a3e6cbee3e09613e3f5904ef062c4ff6f"><div class="ttname"><a href="_a_m_b_x_8h.html#a3e6cbee3e09613e3f5904ef062c4ff6f">AMBX_OUTPUT_PIPE</a></div><div class="ttdeci">#define AMBX_OUTPUT_PIPE</div><div class="ttdef"><b>Definition:</b> <a href="_a_m_b_x_8h_source.html#l00028">AMBX.h:28</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>

View file

@ -1717,7 +1717,7 @@ $(function() {
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_bluetooth_service_html_aa7c81841d4e898e9dc91533da6d7ab64"><div class="ttname"><a href="class_bluetooth_service.html#aa7c81841d4e898e9dc91533da6d7ab64">BluetoothService::Reset</a></div><div class="ttdeci">virtual void Reset()=0</div></div>
<div class="ttc" id="aclass_b_t_d_html_a4dc8f94fe85028f3d54f13dde1e5b4ee"><div class="ttname"><a href="class_b_t_d.html#a4dc8f94fe85028f3d54f13dde1e5b4ee">BTD::incomingWii</a></div><div class="ttdeci">bool incomingWii</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00504">BTD.h:504</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_afc242b8a1b867f79c49ad78e3a47b37f"><div class="ttname"><a href="_b_t_d_8h.html#afc242b8a1b867f79c49ad78e3a47b37f">PS3MOVE_PID</a></div><div class="ttdeci">#define PS3MOVE_PID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00028">BTD.h:28</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a91d92fee94e5a4cbca472bb3fd883e3e"><div class="ttname"><a href="class_b_t_d.html#a91d92fee94e5a4cbca472bb3fd883e3e">BTD::epInfo</a></div><div class="ttdeci">EpInfo epInfo[BTD_MAX_ENDPOINTS]</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00542">BTD.h:542</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
@ -1760,7 +1760,7 @@ $(function() {
<div class="ttc" id="aclass_b_t_d_html_a019e145da18f2cbf5ab55538427c4f0a"><div class="ttname"><a href="class_b_t_d.html#a019e145da18f2cbf5ab55538427c4f0a">BTD::hci_user_confirmation_request_reply</a></div><div class="ttdeci">void hci_user_confirmation_request_reply()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01375">BTD.cpp:1375</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_af11ad71d20783d46fe42dd405d10dfda"><div class="ttname"><a href="class_b_t_d.html#af11ad71d20783d46fe42dd405d10dfda">BTD::HCI_Command</a></div><div class="ttdeci">void HCI_Command(uint8_t *data, uint16_t nbytes)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01108">BTD.cpp:1108</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a8bfcf6e1a0a044aba26d728fb0c6a17a"><div class="ttname"><a href="_b_t_d_8h.html#a8bfcf6e1a0a044aba26d728fb0c6a17a">HCI_CONNECT_IN_STATE</a></div><div class="ttdeci">#define HCI_CONNECT_IN_STATE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00056">BTD.h:56</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_a4aa4f58744a713316d6547927ac0d406"><div class="ttname"><a href="_b_t_d_8h.html#a4aa4f58744a713316d6547927ac0d406">HCI_WRITE_NAME_STATE</a></div><div class="ttdeci">#define HCI_WRITE_NAME_STATE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00048">BTD.h:48</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_ad142141f4e7685e31dce306128eaad5f"><div class="ttname"><a href="_b_t_d_8h.html#ad142141f4e7685e31dce306128eaad5f">BELKIN_F8T065BF_PID</a></div><div class="ttdeci">#define BELKIN_F8T065BF_PID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00034">BTD.h:34</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_ac7ef2953c95a2c5e15ffe86186c5f6e0"><div class="ttname"><a href="_b_t_d_8h.html#ac7ef2953c95a2c5e15ffe86186c5f6e0">HCI_WRITE_SIMPLE_PAIRING_STATE</a></div><div class="ttdeci">#define HCI_WRITE_SIMPLE_PAIRING_STATE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00063">BTD.h:63</a></div></div>
@ -1842,7 +1842,7 @@ $(function() {
<div class="ttc" id="aclass_bluetooth_service_html_a16df27af39d09963cf0d43910d92ff4c"><div class="ttname"><a href="class_bluetooth_service.html#a16df27af39d09963cf0d43910d92ff4c">BluetoothService::Run</a></div><div class="ttdeci">virtual void Run()=0</div></div>
<div class="ttc" id="aclass_b_t_d_html_a1f8e9171a310e50f2c4a3c19066efe5a"><div class="ttname"><a href="class_b_t_d.html#a1f8e9171a310e50f2c4a3c19066efe5a">BTD::my_bdaddr</a></div><div class="ttdeci">uint8_t my_bdaddr[6]</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00482">BTD.h:482</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_adcc9736be085564f567c0e6643c5d4f3"><div class="ttname"><a href="class_b_t_d.html#adcc9736be085564f567c0e6643c5d4f3">BTD::hci_set_event_mask</a></div><div class="ttdeci">void hci_set_event_mask()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01219">BTD.cpp:1219</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_addd07c18c725a324a05792a83026d36d"><div class="ttname"><a href="class_b_t_d.html#addd07c18c725a324a05792a83026d36d">BTD::hci_authentication_request</a></div><div class="ttdeci">void hci_authentication_request()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l01389">BTD.cpp:1389</a></div></div>
<div class="ttc" id="aclass_b_t_d_html_a76e201c5b561e3a6d0405894ba5c2e41"><div class="ttname"><a href="class_b_t_d.html#a76e201c5b561e3a6d0405894ba5c2e41">BTD::Poll</a></div><div class="ttdeci">uint8_t Poll()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8cpp_source.html#l00385">BTD.cpp:385</a></div></div>
@ -1867,7 +1867,7 @@ $(function() {
<div class="ttc" id="a_b_t_d_8h_html_a472a2cb241a6e13fa8f62d19b6c418bd"><div class="ttname"><a href="_b_t_d_8h.html#a472a2cb241a6e13fa8f62d19b6c418bd">HCI_FLAG_CONNECT_COMPLETE</a></div><div class="ttdeci">#define HCI_FLAG_CONNECT_COMPLETE</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00068">BTD.h:68</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a96a7af8bc5ba78235312e1084a5ee229"><div class="ttname"><a href="_usb_core_8h.html#a96a7af8bc5ba78235312e1084a5ee229">USB_ERROR_FailGetDevDescr</a></div><div class="ttdeci">#define USB_ERROR_FailGetDevDescr</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00102">UsbCore.h:102</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_ac4bae0c65fd00ed849cb226302d19c85"><div class="ttname"><a href="_b_t_d_8h.html#ac4bae0c65fd00ed849cb226302d19c85">L2CAP_CMD_CONNECTION_REQUEST</a></div><div class="ttdeci">#define L2CAP_CMD_CONNECTION_REQUEST</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00176">BTD.h:176</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_ada46cc57bb9134769989b1b18bdac525"><div class="ttname"><a href="_b_t_d_8h.html#ada46cc57bb9134769989b1b18bdac525">hci_set_flag</a></div><div class="ttdeci">#define hci_set_flag(flag)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00080">BTD.h:80</a></div></div>

View file

@ -670,7 +670,7 @@ $(function() {
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="a_p_s3_enums_8h_html_add5c7a32e8138b44244caf07232161aea1a36ca9a60a5e244f3404ec0db7b44a1"><div class="ttname"><a href="_p_s3_enums_8h.html#add5c7a32e8138b44244caf07232161aea1a36ca9a60a5e244f3404ec0db7b44a1">Cable</a></div><div class="ttdeci">@ Cable</div><div class="ttdef"><b>Definition:</b> <a href="_p_s3_enums_8h_source.html#l00136">PS3Enums.h:136</a></div></div>
<div class="ttc" id="asettings_8h_html_a11b6e9d1bc9facf0772bda8ad763530c"><div class="ttname"><a href="settings_8h.html#a11b6e9d1bc9facf0772bda8ad763530c">USB_HOST_SERIAL</a></div><div class="ttdeci">#define USB_HOST_SERIAL</div><div class="ttdef"><b>Definition:</b> <a href="settings_8h_source.html#l00049">settings.h:49</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="a_b_t_d_8h_html_afc242b8a1b867f79c49ad78e3a47b37f"><div class="ttname"><a href="_b_t_d_8h.html#afc242b8a1b867f79c49ad78e3a47b37f">PS3MOVE_PID</a></div><div class="ttdeci">#define PS3MOVE_PID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_d_8h_source.html#l00028">BTD.h:28</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a00d5030559c481763282483889597d51a4a709497e95c67840807ab9e99af2bbc"><div class="ttname"><a href="controller_enums_8h.html#a00d5030559c481763282483889597d51a4a709497e95c67840807ab9e99af2bbc">aZ</a></div><div class="ttdeci">@ aZ</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00230">controllerEnums.h:230</a></div></div>
<div class="ttc" id="aclass_p_s3_u_s_b_html_a1448bc51226a9b63f2937630da6bd48f"><div class="ttname"><a href="class_p_s3_u_s_b.html#a1448bc51226a9b63f2937630da6bd48f">PS3USB::getBdaddr</a></div><div class="ttdeci">void getBdaddr(uint8_t *bdaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s3_u_s_b_8cpp_source.html#l00481">PS3USB.cpp:481</a></div></div>
@ -740,7 +740,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_aac6fa7b0395b95cc528deaad0ce884a2"><div class="ttname"><a href="controller_enums_8h.html#aac6fa7b0395b95cc528deaad0ce884a2">ColorsEnum</a></div><div class="ttdeci">ColorsEnum</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00050">controllerEnums.h:50</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a70df64e026046bc352983127b7ae2cf0aac132f2982b98bcaa3445e535a03ff75"><div class="ttname"><a href="controller_enums_8h.html#a70df64e026046bc352983127b7ae2cf0aac132f2982b98bcaa3445e535a03ff75">OFF</a></div><div class="ttdeci">@ OFF</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00032">controllerEnums.h:32</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="a_p_s3_enums_8h_html_ab8d0298319d2131eb55cd94c07bcf391"><div class="ttname"><a href="_p_s3_enums_8h.html#ab8d0298319d2131eb55cd94c07bcf391">PS3_REPORT_BUFFER</a></div><div class="ttdeci">const uint8_t PS3_REPORT_BUFFER[PS3_REPORT_BUFFER_SIZE]</div><div class="ttdef"><b>Definition:</b> <a href="_p_s3_enums_8h_source.html#l00027">PS3Enums.h:27</a></div></div>
<div class="ttc" id="a_p_s3_enums_8h_html_add5c7a32e8138b44244caf07232161aeaff01ce39b42bec30132b0fc53c882387"><div class="ttname"><a href="_p_s3_enums_8h.html#add5c7a32e8138b44244caf07232161aeaff01ce39b42bec30132b0fc53c882387">Plugged</a></div><div class="ttdeci">@ Plugged</div><div class="ttdef"><b>Definition:</b> <a href="_p_s3_enums_8h_source.html#l00116">PS3Enums.h:116</a></div></div>
<div class="ttc" id="a_p_s3_enums_8h_html_add5c7a32e8138b44244caf07232161aea8b7c5cd8bd8eb51ee6d3fd0eac584679"><div class="ttname"><a href="_p_s3_enums_8h.html#add5c7a32e8138b44244caf07232161aea8b7c5cd8bd8eb51ee6d3fd0eac584679">Full</a></div><div class="ttdeci">@ Full</div><div class="ttdef"><b>Definition:</b> <a href="_p_s3_enums_8h_source.html#l00125">PS3Enums.h:125</a></div></div>
@ -754,7 +754,7 @@ $(function() {
<div class="ttc" id="aclass_p_s3_u_s_b_html_a66d542c2cec73cefb3cdda36ff080e1a"><div class="ttname"><a href="class_p_s3_u_s_b.html#a66d542c2cec73cefb3cdda36ff080e1a">PS3USB::moveSetRumble</a></div><div class="ttdeci">void moveSetRumble(uint8_t rumble)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s3_u_s_b_8cpp_source.html#l00520">PS3USB.cpp:520</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aversion__helper_8h_html_ae74941b597bdd8ffb5c35f45b636946b"><div class="ttname"><a href="version__helper_8h.html#ae74941b597bdd8ffb5c35f45b636946b">strcpy_P</a></div><div class="ttdeci">#define strcpy_P(dest, src)</div><div class="ttdef"><b>Definition:</b> <a href="version__helper_8h_source.html#l00091">version_helper.h:91</a></div></div>
<div class="ttc" id="a_p_s3_enums_8h_html_add5c7a32e8138b44244caf07232161aea82084136e62c38642986b05419b4e734"><div class="ttname"><a href="_p_s3_enums_8h.html#add5c7a32e8138b44244caf07232161aea82084136e62c38642986b05419b4e734">Shutdown</a></div><div class="ttdeci">@ Shutdown</div><div class="ttdef"><b>Definition:</b> <a href="_p_s3_enums_8h_source.html#l00121">PS3Enums.h:121</a></div></div>

View file

@ -456,460 +456,465 @@ $(function() {
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; data_p += bytes_tosend;</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }<span class="comment">//while( bytes_left...</span></div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;breakout:</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; pep-&gt;<a class="code" href="struct_ep_info.html#ac85bff70ad0e5d71e50cb501f4d8caf3">bmSndToggle</a> = (<a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a246dbd203f68062fab34f2869b76e479">rHRSL</a>) &amp; <a class="code" href="max3421e_8h.html#a4a9dee0254d637bcd27ac53fd2a7cb7c">bmSNDTOGRD</a>) ? 1 : 0; <span class="comment">//bmSNDTOG1 : bmSNDTOG0; //update toggle</span></div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">return</span> ( rcode); <span class="comment">//should be 0 in all cases</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;}</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="comment">/* dispatch USB packet. Assumes peripheral address is set and relevant buffer is loaded/empty */</span></div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<span class="comment">/* If NAK, tries to re-send up to nak_limit times */</span></div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="comment">/* If nak_limit == 0, do not count NAKs, exit after timeout */</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;<span class="comment">/* If bus timeout, re-sends up to USB_RETRY_LIMIT times */</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; </div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment">/* return codes 0x00-0x0f are HRSLT( 0x00 being success ), 0xff means timeout */</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a343d4b321cf8e99f0504cb04c7ce8b10"> 401</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a343d4b321cf8e99f0504cb04c7ce8b10">USB::dispatchPkt</a>(uint8_t token, uint8_t ep, uint16_t nak_limit) {</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; uint32_t timeout = (uint32_t)millis() + <a class="code" href="_usb_core_8h.html#ad8686abbfa0d98547d450fe2a105a588">USB_XFER_TIMEOUT</a>;</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; uint8_t tmpdata;</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; uint8_t rcode = <a class="code" href="max3421e_8h.html#aea69e77cdc2b4124122d0fbda7e37019">hrSUCCESS</a>;</div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; uint8_t retry_count = 0;</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; uint16_t nak_count = 0;</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; </div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">while</span>((int32_t)((uint32_t)millis() - timeout) &lt; 0<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdaef31cc6fe9479955961311ee18ac205f">L</a>) {</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;<span class="preprocessor">#if defined(ESP8266) || defined(ESP32)</span></div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; yield(); <span class="comment">// needed in order to reset the watchdog timer on the ESP8266</span></div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#aa541c456525254b21a0bc53aadaeee4d">rHXFR</a>, (token | ep)); <span class="comment">//launch the transfer</span></div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; rcode = <a class="code" href="_usb_core_8h.html#ae691ccb027b8e281ac87522a0e66aaa7">USB_ERROR_TRANSFER_TIMEOUT</a>;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; </div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">while</span>((int32_t)((uint32_t)millis() - timeout) &lt; 0<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdaef31cc6fe9479955961311ee18ac205f">L</a>) <span class="comment">//wait for transfer completion</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; {</div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;<span class="preprocessor">#if defined(ESP8266) || defined(ESP32)</span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; yield(); <span class="comment">// needed in order to reset the watchdog timer on the ESP8266</span></div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; tmpdata = <a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a9ab289252615caa2d19ceb4359d71a44">rHIRQ</a>);</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; </div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">if</span>(tmpdata &amp; <a class="code" href="max3421e_8h.html#a82f316064dd5442d86e1536d3f1d9f7a">bmHXFRDNIRQ</a>) {</div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a9ab289252615caa2d19ceb4359d71a44">rHIRQ</a>, <a class="code" href="max3421e_8h.html#a82f316064dd5442d86e1536d3f1d9f7a">bmHXFRDNIRQ</a>); <span class="comment">//clear the interrupt</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; rcode = 0x00;</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }<span class="comment">//if( tmpdata &amp; bmHXFRDNIRQ</span></div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; </div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; }<span class="comment">//while ( millis() &lt; timeout</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; </div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="comment">//if (rcode != 0x00) //exit if timeout</span></div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="comment">// return ( rcode);</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="comment">/* If rcode(=rHRSL) is non-zero, untransmitted data remains in the SNDFIFO. */</span></div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">if</span>(rcode != 0) {</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">//Switch the FIFO containing the OUT data back under microcontroller control and reset pointer.</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a1eb6ec372ed236f1db3fbca201bdc28f">rSNDBC</a>, 0);</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; </div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; pep-&gt;<a class="code" href="struct_ep_info.html#ac85bff70ad0e5d71e50cb501f4d8caf3">bmSndToggle</a> = (<a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a246dbd203f68062fab34f2869b76e479">rHRSL</a>) &amp; <a class="code" href="max3421e_8h.html#a4a9dee0254d637bcd27ac53fd2a7cb7c">bmSNDTOGRD</a>) ? 1 : 0; <span class="comment">//bmSNDTOG1 : bmSNDTOG0; //update toggle</span></div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> ( rcode); <span class="comment">//should be 0 in all cases</span></div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;}</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="comment">/* dispatch USB packet. Assumes peripheral address is set and relevant buffer is loaded/empty */</span></div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="comment">/* If NAK, tries to re-send up to nak_limit times */</span></div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="comment">/* If nak_limit == 0, do not count NAKs, exit after timeout */</span></div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;<span class="comment">/* If bus timeout, re-sends up to USB_RETRY_LIMIT times */</span></div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; </div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;<span class="comment">/* return codes 0x00-0x0f are HRSLT( 0x00 being success ), 0xff means timeout */</span></div>
<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a343d4b321cf8e99f0504cb04c7ce8b10"> 406</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a343d4b321cf8e99f0504cb04c7ce8b10">USB::dispatchPkt</a>(uint8_t token, uint8_t ep, uint16_t nak_limit) {</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; uint32_t timeout = (uint32_t)millis() + <a class="code" href="_usb_core_8h.html#ad8686abbfa0d98547d450fe2a105a588">USB_XFER_TIMEOUT</a>;</div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; uint8_t tmpdata;</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; uint8_t rcode = <a class="code" href="max3421e_8h.html#aea69e77cdc2b4124122d0fbda7e37019">hrSUCCESS</a>;</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; uint8_t retry_count = 0;</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; uint16_t nak_count = 0;</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; </div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">while</span>((int32_t)((uint32_t)millis() - timeout) &lt; 0<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdaef31cc6fe9479955961311ee18ac205f">L</a>) {</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="preprocessor">#if defined(ESP8266) || defined(ESP32)</span></div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; yield(); <span class="comment">// needed in order to reset the watchdog timer on the ESP8266</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#aa541c456525254b21a0bc53aadaeee4d">rHXFR</a>, (token | ep)); <span class="comment">//launch the transfer</span></div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; rcode = <a class="code" href="_usb_core_8h.html#ae691ccb027b8e281ac87522a0e66aaa7">USB_ERROR_TRANSFER_TIMEOUT</a>;</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; </div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">while</span>((int32_t)((uint32_t)millis() - timeout) &lt; 0<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdaef31cc6fe9479955961311ee18ac205f">L</a>) <span class="comment">//wait for transfer completion</span></div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;<span class="preprocessor">#if defined(ESP8266) || defined(ESP32)</span></div>
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; yield(); <span class="comment">// needed in order to reset the watchdog timer on the ESP8266</span></div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; tmpdata = <a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a9ab289252615caa2d19ceb4359d71a44">rHIRQ</a>);</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; </div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">if</span>(tmpdata &amp; <a class="code" href="max3421e_8h.html#a82f316064dd5442d86e1536d3f1d9f7a">bmHXFRDNIRQ</a>) {</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a9ab289252615caa2d19ceb4359d71a44">rHIRQ</a>, <a class="code" href="max3421e_8h.html#a82f316064dd5442d86e1536d3f1d9f7a">bmHXFRDNIRQ</a>); <span class="comment">//clear the interrupt</span></div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; rcode = 0x00;</div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }<span class="comment">//if( tmpdata &amp; bmHXFRDNIRQ</span></div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; </div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; rcode = (<a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a246dbd203f68062fab34f2869b76e479">rHRSL</a>) &amp; 0x0f); <span class="comment">//analyze transfer result</span></div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }<span class="comment">//while ( millis() &lt; timeout</span></div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; </div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">switch</span>(rcode) {</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#ab44a7968d08016b58d98951059c37076">hrNAK</a>:</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; nak_count++;</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">if</span>(nak_limit &amp;&amp; (nak_count == nak_limit))</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">return</span> (rcode);</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#ab4e9ff11b75e71171814fdab1ff7ce45">hrTIMEOUT</a>:</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; retry_count++;</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">if</span>(retry_count == <a class="code" href="_usb_core_8h.html#a857a9899ad4f277faf074c3012e14ffa">USB_RETRY_LIMIT</a>)</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="comment">//if (rcode != 0x00) //exit if timeout</span></div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="comment">// return ( rcode);</span></div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; </div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; rcode = (<a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a246dbd203f68062fab34f2869b76e479">rHRSL</a>) &amp; 0x0f); <span class="comment">//analyze transfer result</span></div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; </div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">switch</span>(rcode) {</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#ab44a7968d08016b58d98951059c37076">hrNAK</a>:</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; nak_count++;</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">if</span>(nak_limit &amp;&amp; (nak_count == nak_limit))</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordflow">return</span> (rcode);</div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">return</span> (rcode);</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; }<span class="comment">//switch( rcode</span></div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; </div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; }<span class="comment">//while( timeout &gt; millis()</span></div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">return</span> ( rcode);</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;}</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; </div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;<span class="comment">/* USB main task. Performs enumeration/cleanup */</span></div>
<div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="class_u_s_b.html#aff8d1b2009c760bc27fb12762bd3c9b6"> 455</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_u_s_b.html#aff8d1b2009c760bc27fb12762bd3c9b6">USB::Task</a>(<span class="keywordtype">void</span>) <span class="comment">//USB state machine</span></div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;{</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; uint8_t rcode;</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; uint8_t tmpdata;</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keyword">static</span> uint32_t delay = 0;</div>
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="comment">//USB_DEVICE_DESCRIPTOR buf;</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordtype">bool</span> lowspeed = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; </div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <a class="code" href="class_m_a_x3421e.html#a07720e9f2311bfa0d66cfae746576946">MAX3421E::Task</a>();</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; </div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; tmpdata = <a class="code" href="class_m_a_x3421e.html#aa1e9380222063c40fbf43428f7c50d67">getVbusState</a>();</div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; </div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="comment">/* modify USB task state if Vbus changed */</span></div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <span class="keywordflow">switch</span>(tmpdata) {</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#a5c3d7b0a5b0933cfc0183cd36ea91f16">SE1</a>: <span class="comment">//illegal state</span></div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#aff6ab2376cd29385b20c2b63d4ddd26d">USB_DETACHED_SUBSTATE_ILLEGAL</a>;</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; lowspeed = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#a3cb02fdd2d36f8a755c4b1946a0b0063">SE0</a>: <span class="comment">//disconnected</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span>((usb_task_state &amp; <a class="code" href="_usb_core_8h.html#a3168cf67661a2716677b9830f30b880c">USB_STATE_MASK</a>) != <a class="code" href="_usb_core_8h.html#ae7fd7c5bb6dc87f44724dde2ad57df87">USB_STATE_DETACHED</a>)</div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a60a744d0f1386e4b28053a41bd6a958f">USB_DETACHED_SUBSTATE_INITIALIZE</a>;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#ab4e9ff11b75e71171814fdab1ff7ce45">hrTIMEOUT</a>:</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; retry_count++;</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">if</span>(retry_count == <a class="code" href="_usb_core_8h.html#a857a9899ad4f277faf074c3012e14ffa">USB_RETRY_LIMIT</a>)</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">return</span> (rcode);</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">return</span> (rcode);</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; }<span class="comment">//switch( rcode</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; </div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }<span class="comment">//while( timeout &gt; millis()</span></div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> ( rcode);</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;}</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; </div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="comment">/* USB main task. Performs enumeration/cleanup */</span></div>
<div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="class_u_s_b.html#aff8d1b2009c760bc27fb12762bd3c9b6"> 460</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="class_u_s_b.html#aff8d1b2009c760bc27fb12762bd3c9b6">USB::Task</a>(<span class="keywordtype">void</span>) <span class="comment">//USB state machine</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;{</div>
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; uint8_t rcode;</div>
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; uint8_t tmpdata;</div>
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keyword">static</span> uint32_t delay = 0;</div>
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="comment">//USB_DEVICE_DESCRIPTOR buf;</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordtype">bool</span> lowspeed = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; </div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; <a class="code" href="class_m_a_x3421e.html#a07720e9f2311bfa0d66cfae746576946">MAX3421E::Task</a>();</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; </div>
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; tmpdata = <a class="code" href="class_m_a_x3421e.html#aa1e9380222063c40fbf43428f7c50d67">getVbusState</a>();</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; </div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="comment">/* modify USB task state if Vbus changed */</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">switch</span>(tmpdata) {</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#a5c3d7b0a5b0933cfc0183cd36ea91f16">SE1</a>: <span class="comment">//illegal state</span></div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#aff6ab2376cd29385b20c2b63d4ddd26d">USB_DETACHED_SUBSTATE_ILLEGAL</a>;</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; lowspeed = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#aa05ee2be883f4b96948e18b0d55ab5c2">LSHOST</a>:</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; </div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; lowspeed = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="comment">//intentional fallthrough</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#a8ec45bdb8c5273e99c3ab89349cb43f9">FSHOST</a>: <span class="comment">//attached</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">if</span>((usb_task_state &amp; <a class="code" href="_usb_core_8h.html#a3168cf67661a2716677b9830f30b880c">USB_STATE_MASK</a>) == <a class="code" href="_usb_core_8h.html#ae7fd7c5bb6dc87f44724dde2ad57df87">USB_STATE_DETACHED</a>) {</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; delay = (uint32_t)millis() + <a class="code" href="_usb_core_8h.html#a1b082667723b29243b021a1829bdd8d6">USB_SETTLE_DELAY</a>;</div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#aaadb20392558e23e3eba073e358a4493">USB_ATTACHED_SUBSTATE_SETTLE</a>;</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }<span class="comment">// switch( tmpdata</span></div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; </div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; i++)</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span>(devConfig[i])</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; rcode = devConfig[i]-&gt;<a class="code" href="class_u_s_b_device_config.html#a893ea73deab98be837c257201e7da25a">Poll</a>();</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; </div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">switch</span>(usb_task_state) {</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a60a744d0f1386e4b28053a41bd6a958f">USB_DETACHED_SUBSTATE_INITIALIZE</a>:</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; init();</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; </div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; i++)</div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">if</span>(devConfig[i])</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; rcode = devConfig[i]-&gt;<a class="code" href="class_u_s_b_device_config.html#a61e301efedae55c6ac12c6cce154e432">Release</a>();</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; </div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a3708f4e8166d5d099e1982aa956eacce">USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE</a>;</div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a3708f4e8166d5d099e1982aa956eacce">USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE</a>: <span class="comment">//just sit here</span></div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#aff6ab2376cd29385b20c2b63d4ddd26d">USB_DETACHED_SUBSTATE_ILLEGAL</a>: <span class="comment">//just sit here</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#aaadb20392558e23e3eba073e358a4493">USB_ATTACHED_SUBSTATE_SETTLE</a>: <span class="comment">//settle time for just attached device</span></div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">if</span>((int32_t)((uint32_t)millis() - delay) &gt;= 0<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdaef31cc6fe9479955961311ee18ac205f">L</a>)</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#ada22633d6de30155a60cb19f6e6452fe">USB_ATTACHED_SUBSTATE_RESET_DEVICE</a>;</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">break</span>; <span class="comment">// don&#39;t fall through</span></div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#ada22633d6de30155a60cb19f6e6452fe">USB_ATTACHED_SUBSTATE_RESET_DEVICE</a>:</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a>, <a class="code" href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a>); <span class="comment">//issue bus reset</span></div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a311f11b79c4020d771cd6930e0a3223d">USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE</a>;</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a311f11b79c4020d771cd6930e0a3223d">USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE</a>:</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">if</span>((<a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a>) &amp; <a class="code" href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a>) == 0) {</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; tmpdata = <a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a330db4fc764b8ccae5214645c1ee5423">rMODE</a>) | <a class="code" href="max3421e_8h.html#a1cde86dfa0124c81ebffcde9fdf61cc3">bmSOFKAENAB</a>; <span class="comment">//start SOF generation</span></div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a330db4fc764b8ccae5214645c1ee5423">rMODE</a>, tmpdata);</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a2d69537e663e7d5f188004f0d25ec0cc">USB_ATTACHED_SUBSTATE_WAIT_SOF</a>;</div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="comment">//delay = (uint32_t)millis() + 20; //20ms wait after reset per USB spec</span></div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; }</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a2d69537e663e7d5f188004f0d25ec0cc">USB_ATTACHED_SUBSTATE_WAIT_SOF</a>: <span class="comment">//todo: change check order</span></div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a9ab289252615caa2d19ceb4359d71a44">rHIRQ</a>) &amp; <a class="code" href="max3421e_8h.html#a042cc701398502fb70b8793ed76394ce">bmFRAMEIRQ</a>) {</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="comment">//when first SOF received _and_ 20ms has passed we can continue</span></div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;<span class="comment"> if (delay &lt; (uint32_t)millis()) //20ms passed</span></div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;<span class="comment"> usb_task_state = USB_STATE_CONFIGURING;</span></div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a80a8d6b8e75c76947e452b4afa04c84e">USB_ATTACHED_SUBSTATE_WAIT_RESET</a>;</div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; delay = (uint32_t)millis() + 20;</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; }</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a80a8d6b8e75c76947e452b4afa04c84e">USB_ATTACHED_SUBSTATE_WAIT_RESET</a>:</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">if</span>((int32_t)((uint32_t)millis() - delay) &gt;= 0<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdaef31cc6fe9479955961311ee18ac205f">L</a>) usb_task_state = <a class="code" href="_usb_core_8h.html#aac8c844e6a20f42298d70e4438a029e5">USB_STATE_CONFIGURING</a>;</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">break</span>; <span class="comment">// don&#39;t fall through</span></div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#aac8c844e6a20f42298d70e4438a029e5">USB_STATE_CONFIGURING</a>:</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; </div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="comment">//Serial.print(&quot;\r\nConf.LS: &quot;);</span></div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="comment">//Serial.println(lowspeed, HEX);</span></div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; </div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; rcode = <a class="code" href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">Configuring</a>(0, 0, lowspeed);</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#a3cb02fdd2d36f8a755c4b1946a0b0063">SE0</a>: <span class="comment">//disconnected</span></div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">if</span>((usb_task_state &amp; <a class="code" href="_usb_core_8h.html#a3168cf67661a2716677b9830f30b880c">USB_STATE_MASK</a>) != <a class="code" href="_usb_core_8h.html#ae7fd7c5bb6dc87f44724dde2ad57df87">USB_STATE_DETACHED</a>)</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a60a744d0f1386e4b28053a41bd6a958f">USB_DETACHED_SUBSTATE_INITIALIZE</a>;</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; lowspeed = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#aa05ee2be883f4b96948e18b0d55ab5c2">LSHOST</a>:</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; </div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; lowspeed = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="comment">//intentional fallthrough</span></div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">case</span> <a class="code" href="max3421e_8h.html#a8ec45bdb8c5273e99c3ab89349cb43f9">FSHOST</a>: <span class="comment">//attached</span></div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <span class="keywordflow">if</span>((usb_task_state &amp; <a class="code" href="_usb_core_8h.html#a3168cf67661a2716677b9830f30b880c">USB_STATE_MASK</a>) == <a class="code" href="_usb_core_8h.html#ae7fd7c5bb6dc87f44724dde2ad57df87">USB_STATE_DETACHED</a>) {</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; delay = (uint32_t)millis() + <a class="code" href="_usb_core_8h.html#a1b082667723b29243b021a1829bdd8d6">USB_SETTLE_DELAY</a>;</div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#aaadb20392558e23e3eba073e358a4493">USB_ATTACHED_SUBSTATE_SETTLE</a>;</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; }</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; }<span class="comment">// switch( tmpdata</span></div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; </div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; i++)</div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">if</span>(devConfig[i])</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; rcode = devConfig[i]-&gt;<a class="code" href="class_u_s_b_device_config.html#a893ea73deab98be837c257201e7da25a">Poll</a>();</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; </div>
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordflow">switch</span>(usb_task_state) {</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a60a744d0f1386e4b28053a41bd6a958f">USB_DETACHED_SUBSTATE_INITIALIZE</a>:</div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; init();</div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; </div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; i++)</div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">if</span>(devConfig[i])</div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; rcode = devConfig[i]-&gt;<a class="code" href="class_u_s_b_device_config.html#a61e301efedae55c6ac12c6cce154e432">Release</a>();</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; </div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a3708f4e8166d5d099e1982aa956eacce">USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE</a>;</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a3708f4e8166d5d099e1982aa956eacce">USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE</a>: <span class="comment">//just sit here</span></div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#aff6ab2376cd29385b20c2b63d4ddd26d">USB_DETACHED_SUBSTATE_ILLEGAL</a>: <span class="comment">//just sit here</span></div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#aaadb20392558e23e3eba073e358a4493">USB_ATTACHED_SUBSTATE_SETTLE</a>: <span class="comment">//settle time for just attached device</span></div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">if</span>((int32_t)((uint32_t)millis() - delay) &gt;= 0<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdaef31cc6fe9479955961311ee18ac205f">L</a>)</div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#ada22633d6de30155a60cb19f6e6452fe">USB_ATTACHED_SUBSTATE_RESET_DEVICE</a>;</div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">break</span>; <span class="comment">// don&#39;t fall through</span></div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#ada22633d6de30155a60cb19f6e6452fe">USB_ATTACHED_SUBSTATE_RESET_DEVICE</a>:</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a>, <a class="code" href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a>); <span class="comment">//issue bus reset</span></div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a311f11b79c4020d771cd6930e0a3223d">USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE</a>;</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a311f11b79c4020d771cd6930e0a3223d">USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE</a>:</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">if</span>((<a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a>) &amp; <a class="code" href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a>) == 0) {</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; tmpdata = <a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a330db4fc764b8ccae5214645c1ee5423">rMODE</a>) | <a class="code" href="max3421e_8h.html#a1cde86dfa0124c81ebffcde9fdf61cc3">bmSOFKAENAB</a>; <span class="comment">//start SOF generation</span></div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a330db4fc764b8ccae5214645c1ee5423">rMODE</a>, tmpdata);</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a2d69537e663e7d5f188004f0d25ec0cc">USB_ATTACHED_SUBSTATE_WAIT_SOF</a>;</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="comment">//delay = (uint32_t)millis() + 20; //20ms wait after reset per USB spec</span></div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; }</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a2d69537e663e7d5f188004f0d25ec0cc">USB_ATTACHED_SUBSTATE_WAIT_SOF</a>: <span class="comment">//todo: change check order</span></div>
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="class_m_a_x3421e.html#a508fe70d1983cdaa71cce85ea9c75ec1">regRd</a>(<a class="code" href="max3421e_8h.html#a9ab289252615caa2d19ceb4359d71a44">rHIRQ</a>) &amp; <a class="code" href="max3421e_8h.html#a042cc701398502fb70b8793ed76394ce">bmFRAMEIRQ</a>) {</div>
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="comment">//when first SOF received _and_ 20ms has passed we can continue</span></div>
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;<span class="comment"> if (delay &lt; (uint32_t)millis()) //20ms passed</span></div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;<span class="comment"> usb_task_state = USB_STATE_CONFIGURING;</span></div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a80a8d6b8e75c76947e452b4afa04c84e">USB_ATTACHED_SUBSTATE_WAIT_RESET</a>;</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; delay = (uint32_t)millis() + 20;</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a80a8d6b8e75c76947e452b4afa04c84e">USB_ATTACHED_SUBSTATE_WAIT_RESET</a>:</div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">if</span>((int32_t)((uint32_t)millis() - delay) &gt;= 0<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdaef31cc6fe9479955961311ee18ac205f">L</a>) usb_task_state = <a class="code" href="_usb_core_8h.html#aac8c844e6a20f42298d70e4438a029e5">USB_STATE_CONFIGURING</a>;</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">break</span>; <span class="comment">// don&#39;t fall through</span></div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#aac8c844e6a20f42298d70e4438a029e5">USB_STATE_CONFIGURING</a>:</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; </div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">if</span>(rcode) {</div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="keywordflow">if</span>(rcode != <a class="code" href="_usb_core_8h.html#a7cb7070e699b7815e3c45dc8f7dd67f1">USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE</a>) {</div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; usb_error = rcode;</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a6fef5305841ac36f67d8ddb0bd9127d4">USB_STATE_ERROR</a>;</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; } <span class="keywordflow">else</span></div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a138c40c59f628eefbe273a8db0a96753">USB_STATE_RUNNING</a>;</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a138c40c59f628eefbe273a8db0a96753">USB_STATE_RUNNING</a>:</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a6fef5305841ac36f67d8ddb0bd9127d4">USB_STATE_ERROR</a>:</div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="comment">//MAX3421E::Init();</span></div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="comment">//Serial.print(&quot;\r\nConf.LS: &quot;);</span></div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; <span class="comment">//Serial.println(lowspeed, HEX);</span></div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; </div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; rcode = <a class="code" href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">Configuring</a>(0, 0, lowspeed);</div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; </div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">if</span>(rcode) {</div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">if</span>(rcode != <a class="code" href="_usb_core_8h.html#a7cb7070e699b7815e3c45dc8f7dd67f1">USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE</a>) {</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; usb_error = rcode;</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a6fef5305841ac36f67d8ddb0bd9127d4">USB_STATE_ERROR</a>;</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div>
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; } <span class="keywordflow">else</span></div>
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; usb_task_state = <a class="code" href="_usb_core_8h.html#a138c40c59f628eefbe273a8db0a96753">USB_STATE_RUNNING</a>;</div>
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; } <span class="comment">// switch( usb_task_state )</span></div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;}</div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; </div>
<div class="line"><a name="l00561"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1"> 561</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1">USB::DefaultAddressing</a>(uint8_t parent, uint8_t port, <span class="keywordtype">bool</span> lowspeed) {</div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="comment">//uint8_t buf[12];</span></div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; uint8_t rcode;</div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <a class="code" href="struct_usb_device.html">UsbDevice</a> *p0 = NULL, *p = NULL;</div>
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a138c40c59f628eefbe273a8db0a96753">USB_STATE_RUNNING</a>:</div>
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">case</span> <a class="code" href="_usb_core_8h.html#a6fef5305841ac36f67d8ddb0bd9127d4">USB_STATE_ERROR</a>:</div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="comment">//MAX3421E::Init();</span></div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; } <span class="comment">// switch( usb_task_state )</span></div>
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;}</div>
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; </div>
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="comment">// Get pointer to pseudo device with address 0 assigned</span></div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; p0 = addrPool.<a class="code" href="class_address_pool_impl.html#aa3e12dda249ef6acbb27592fc8fe1cba">GetUsbDevicePtr</a>(0);</div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; </div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">if</span>(!p0)</div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a>;</div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; </div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">if</span>(!p0-&gt;<a class="code" href="struct_usb_device.html#a410d39fb7758157f57794335e990ed02">epinfo</a>)</div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#af192c59cafe2192ad802b22e6dbc077d">USB_ERROR_EPINFO_IS_NULL</a>;</div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; </div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; p0-&gt;<a class="code" href="struct_usb_device.html#a86a815577ad7883437d3ca72b32b8e8a">lowspeed</a> = (lowspeed) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div>
<div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1"> 566</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1">USB::DefaultAddressing</a>(uint8_t parent, uint8_t port, <span class="keywordtype">bool</span> lowspeed) {</div>
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="comment">//uint8_t buf[12];</span></div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; uint8_t rcode;</div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <a class="code" href="struct_usb_device.html">UsbDevice</a> *p0 = NULL, *p = NULL;</div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; </div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="comment">// Get pointer to pseudo device with address 0 assigned</span></div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; p0 = addrPool.<a class="code" href="class_address_pool_impl.html#aa3e12dda249ef6acbb27592fc8fe1cba">GetUsbDevicePtr</a>(0);</div>
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; </div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">if</span>(!p0)</div>
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a>;</div>
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; </div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="comment">// Allocate new address according to device class</span></div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; uint8_t bAddress = addrPool.<a class="code" href="class_address_pool_impl.html#a14657183c73c631754b31bd0cc588c87">AllocAddress</a>(parent, <span class="keyword">false</span>, port);</div>
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">if</span>(!p0-&gt;<a class="code" href="struct_usb_device.html#a410d39fb7758157f57794335e990ed02">epinfo</a>)</div>
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#af192c59cafe2192ad802b22e6dbc077d">USB_ERROR_EPINFO_IS_NULL</a>;</div>
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; </div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">if</span>(!bAddress)</div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#a15370eb665cdded5514e69ca58d9f39d">USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL</a>;</div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; </div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; p = addrPool.<a class="code" href="class_address_pool_impl.html#aa3e12dda249ef6acbb27592fc8fe1cba">GetUsbDevicePtr</a>(bAddress);</div>
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; p0-&gt;<a class="code" href="struct_usb_device.html#a86a815577ad7883437d3ca72b32b8e8a">lowspeed</a> = (lowspeed) ? <span class="keyword">true</span> : <span class="keyword">false</span>;</div>
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; </div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="comment">// Allocate new address according to device class</span></div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; uint8_t bAddress = addrPool.<a class="code" href="class_address_pool_impl.html#a14657183c73c631754b31bd0cc588c87">AllocAddress</a>(parent, <span class="keyword">false</span>, port);</div>
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; </div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">if</span>(!p)</div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a>;</div>
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">if</span>(!bAddress)</div>
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#a15370eb665cdded5514e69ca58d9f39d">USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL</a>;</div>
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; </div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; p-&gt;lowspeed = lowspeed;</div>
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; p = addrPool.<a class="code" href="class_address_pool_impl.html#aa3e12dda249ef6acbb27592fc8fe1cba">GetUsbDevicePtr</a>(bAddress);</div>
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; </div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="comment">// Assign new address to the device</span></div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; rcode = <a class="code" href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">setAddr</a>(0, 0, bAddress);</div>
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">if</span>(!p)</div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a>;</div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; </div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">if</span>(rcode) {</div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; addrPool.<a class="code" href="class_address_pool_impl.html#a3d59841faa336c359b0736ca45988ce5">FreeAddress</a>(bAddress);</div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; bAddress = 0;</div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160;};</div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; </div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;uint8_t USB::AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, <span class="keywordtype">bool</span> lowspeed) {</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="comment">//printf(&quot;AttemptConfig: parent = %i, port = %i\r\n&quot;, parent, port);</span></div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; uint8_t retries = 0;</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; </div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;again:</div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; uint8_t rcode = devConfig[driver]-&gt;<a class="code" href="class_u_s_b_device_config.html#aef77a1e62f78c04a1aad53e8795ec89e">ConfigureDevice</a>(parent, port, lowspeed);</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">if</span>(rcode == <a class="code" href="_usb_core_8h.html#a7cad2f024e98c4b2b1b52df76b10c01e">USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET</a>) {</div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">if</span>(parent == 0) {</div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="comment">// Send a bus reset on the root interface.</span></div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a>, <a class="code" href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a>); <span class="comment">//issue bus reset</span></div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; delay(102); <span class="comment">// delay 102ms, compensate for clock inaccuracy.</span></div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="comment">// reset parent port</span></div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; devConfig[parent]-&gt;<a class="code" href="class_u_s_b_device_config.html#a12bb63558ded5bb6661bb173b07ff391">ResetHubPort</a>(port);</div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; }</div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(rcode == <a class="code" href="max3421e_8h.html#aa128de549704094dadb93daa8875472b">hrJERR</a> &amp;&amp; retries &lt; 3) { <span class="comment">// Some devices returns this when plugged in - trying to initialize the device again usually works</span></div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; delay(100);</div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; retries++;</div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keywordflow">goto</span> again;</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(rcode)</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; </div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; rcode = devConfig[driver]-&gt;<a class="code" href="class_u_s_b_device_config.html#a3706cf6b18785aff823171e280bab738">Init</a>(parent, port, lowspeed);</div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">if</span>(rcode == <a class="code" href="max3421e_8h.html#aa128de549704094dadb93daa8875472b">hrJERR</a> &amp;&amp; retries &lt; 3) { <span class="comment">// Some devices returns this when plugged in - trying to initialize the device again usually works</span></div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; delay(100);</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; retries++;</div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">goto</span> again;</div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; }</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">if</span>(rcode) {</div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="comment">// Issue a bus reset, because the device may be in a limbo state</span></div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">if</span>(parent == 0) {</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="comment">// Send a bus reset on the root interface.</span></div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a>, <a class="code" href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a>); <span class="comment">//issue bus reset</span></div>
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; delay(102); <span class="comment">// delay 102ms, compensate for clock inaccuracy.</span></div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="comment">// reset parent port</span></div>
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; devConfig[parent]-&gt;<a class="code" href="class_u_s_b_device_config.html#a12bb63558ded5bb6661bb173b07ff391">ResetHubPort</a>(port);</div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; }</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;}</div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; </div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;<span class="comment"> * This is broken. We need to enumerate differently.</span></div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;<span class="comment"> * It causes major problems with several devices if detected in an unexpected order.</span></div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="comment"> * Oleg - I wouldn&#39;t do anything before the newly connected device is considered sane.</span></div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;<span class="comment"> * i.e.(delays are not indicated for brevity):</span></div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;<span class="comment"> * 1. reset</span></div>
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;<span class="comment"> * 2. GetDevDescr();</span></div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;<span class="comment"> * 3a. If ACK, continue with allocating address, addressing, etc.</span></div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;<span class="comment"> * 3b. Else reset again, count resets, stop at some number (5?).</span></div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;<span class="comment"> * 4. When max.number of resets is reached, toggle power/fail</span></div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;<span class="comment"> * If desired, this could be modified by performing two resets with GetDevDescr() in the middle - however, from my experience, if a device answers to GDD()</span></div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;<span class="comment"> * it doesn&#39;t need to be reset again</span></div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;<span class="comment"> * New steps proposal:</span></div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;<span class="comment"> * 1: get address pool instance. exit on fail</span></div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;<span class="comment"> * 2: pUsb-&gt;getDevDescr(0, 0, constBufSize, (uint8_t*)buf). exit on fail.</span></div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;<span class="comment"> * 3: bus reset, 100ms delay</span></div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;<span class="comment"> * 4: set address</span></div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;<span class="comment"> * 5: pUsb-&gt;setEpInfoEntry(bAddress, 1, epInfo), exit on fail</span></div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;<span class="comment"> * 6: while (configurations) {</span></div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;<span class="comment"> * for(each configuration) {</span></div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;<span class="comment"> * for (each driver) {</span></div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;<span class="comment"> * 6a: Ask device if it likes configuration. Returns 0 on OK.</span></div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;<span class="comment"> * If successful, the driver configured device.</span></div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;<span class="comment"> * The driver now owns the endpoints, and takes over managing them.</span></div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;<span class="comment"> * The following will need codes:</span></div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;<span class="comment"> * Everything went well, instance consumed, exit with success.</span></div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;<span class="comment"> * Instance already in use, ignore it, try next driver.</span></div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;<span class="comment"> * Not a supported device, ignore it, try next driver.</span></div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="comment"> * Not a supported configuration for this device, ignore it, try next driver.</span></div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="comment"> * Could not configure device, fatal, exit with fail.</span></div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;<span class="comment"> * }</span></div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;<span class="comment"> * }</span></div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;<span class="comment"> * }</span></div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;<span class="comment"> * 7: for(each driver) {</span></div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="comment"> * 7a: Ask device if it knows this VID/PID. Acts exactly like 6a, but using VID/PID</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment"> * 8: if we get here, no driver likes the device plugged in, so exit failure.</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00683"></a><span class="lineno"><a class="line" href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765"> 683</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">USB::Configuring</a>(uint8_t parent, uint8_t port, <span class="keywordtype">bool</span> lowspeed) {</div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="comment">//uint8_t bAddress = 0;</span></div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="comment">//printf(&quot;Configuring: parent = %i, port = %i\r\n&quot;, parent, port);</span></div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; uint8_t devConfigIndex;</div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; uint8_t rcode = 0;</div>
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; uint8_t buf[<span class="keyword">sizeof</span> (<a class="code" href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a>)];</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <a class="code" href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a> *udd = <span class="keyword">reinterpret_cast&lt;</span><a class="code" href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a> *<span class="keyword">&gt;</span>(buf);</div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <a class="code" href="struct_usb_device.html">UsbDevice</a> *p = NULL;</div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <a class="code" href="struct_ep_info.html">EpInfo</a> *oldep_ptr = NULL;</div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <a class="code" href="struct_ep_info.html">EpInfo</a> epInfo;</div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; </div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#a9f92be74c75c037b39e2cae1eb49b89b">epAddr</a> = 0;</div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">maxPktSize</a> = 8;</div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#ac85bff70ad0e5d71e50cb501f4d8caf3">bmSndToggle</a> = 0;</div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#a9238dd40c096baedf041c98b19386a14">bmRcvToggle</a> = 0;</div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#a3a5b1c017a034cd9e06e76729e727c46">bmNakPower</a> = <a class="code" href="address_8h.html#a517dfa014946e2d087d197312234a1de">USB_NAK_MAX_POWER</a>;</div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; </div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="comment">//delay(2000);</span></div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <a class="code" href="class_address_pool.html">AddressPool</a> &amp;addrPool = <a class="code" href="class_u_s_b.html#a66ab8f5eda239e761d5a48741ea1f9d4">GetAddressPool</a>();</div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="comment">// Get pointer to pseudo device with address 0 assigned</span></div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; p = addrPool.<a class="code" href="class_address_pool.html#aa92d7e8f0f515340ae2dc1679b627056">GetUsbDevicePtr</a>(0);</div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">if</span>(!p) {</div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="comment">//printf(&quot;Configuring error: USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL\r\n&quot;);</span></div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a>;</div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; }</div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; </div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="comment">// Save old pointer to EP_RECORD of address 0</span></div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; oldep_ptr = p-&gt;<a class="code" href="struct_usb_device.html#a410d39fb7758157f57794335e990ed02">epinfo</a>;</div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; </div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="comment">// Temporary assign new pointer to epInfo to p-&gt;epinfo in order to</span></div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="comment">// avoid toggle inconsistence</span></div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; </div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; p-&gt;<a class="code" href="struct_usb_device.html#a410d39fb7758157f57794335e990ed02">epinfo</a> = &amp;epInfo;</div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; p-&gt;lowspeed = lowspeed;</div>
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; </div>
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="comment">// Assign new address to the device</span></div>
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; rcode = <a class="code" href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">setAddr</a>(0, 0, bAddress);</div>
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; </div>
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">if</span>(rcode) {</div>
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; addrPool.<a class="code" href="class_address_pool_impl.html#a3d59841faa336c359b0736ca45988ce5">FreeAddress</a>(bAddress);</div>
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; bAddress = 0;</div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;};</div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; </div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;uint8_t USB::AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, <span class="keywordtype">bool</span> lowspeed) {</div>
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="comment">//printf(&quot;AttemptConfig: parent = %i, port = %i\r\n&quot;, parent, port);</span></div>
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; uint8_t retries = 0;</div>
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; </div>
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;again:</div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; uint8_t rcode = devConfig[driver]-&gt;<a class="code" href="class_u_s_b_device_config.html#aef77a1e62f78c04a1aad53e8795ec89e">ConfigureDevice</a>(parent, port, lowspeed);</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">if</span>(rcode == <a class="code" href="_usb_core_8h.html#a7cad2f024e98c4b2b1b52df76b10c01e">USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET</a>) {</div>
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">if</span>(parent == 0) {</div>
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="comment">// Send a bus reset on the root interface.</span></div>
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a>, <a class="code" href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a>); <span class="comment">//issue bus reset</span></div>
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; delay(102); <span class="comment">// delay 102ms, compensate for clock inaccuracy.</span></div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="comment">// reset parent port</span></div>
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; devConfig[parent]-&gt;<a class="code" href="class_u_s_b_device_config.html#a12bb63558ded5bb6661bb173b07ff391">ResetHubPort</a>(port);</div>
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; }</div>
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(rcode == <a class="code" href="max3421e_8h.html#aa128de549704094dadb93daa8875472b">hrJERR</a> &amp;&amp; retries &lt; 3) { <span class="comment">// Some devices returns this when plugged in - trying to initialize the device again usually works</span></div>
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; delay(100);</div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; retries++;</div>
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">goto</span> again;</div>
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(rcode)</div>
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; </div>
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; rcode = devConfig[driver]-&gt;<a class="code" href="class_u_s_b_device_config.html#a3706cf6b18785aff823171e280bab738">Init</a>(parent, port, lowspeed);</div>
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">if</span>(rcode == <a class="code" href="max3421e_8h.html#aa128de549704094dadb93daa8875472b">hrJERR</a> &amp;&amp; retries &lt; 3) { <span class="comment">// Some devices returns this when plugged in - trying to initialize the device again usually works</span></div>
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; delay(100);</div>
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; retries++;</div>
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">goto</span> again;</div>
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; }</div>
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordflow">if</span>(rcode) {</div>
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="comment">// Issue a bus reset, because the device may be in a limbo state</span></div>
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">if</span>(parent == 0) {</div>
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="comment">// Send a bus reset on the root interface.</span></div>
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <a class="code" href="class_m_a_x3421e.html#a53f1d4d8d100a709fd6b37b5e6f0829e">regWr</a>(<a class="code" href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a>, <a class="code" href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a>); <span class="comment">//issue bus reset</span></div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; delay(102); <span class="comment">// delay 102ms, compensate for clock inaccuracy.</span></div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="comment">// reset parent port</span></div>
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; devConfig[parent]-&gt;<a class="code" href="class_u_s_b_device_config.html#a12bb63558ded5bb6661bb173b07ff391">ResetHubPort</a>(port);</div>
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div>
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div>
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;}</div>
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; </div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;<span class="comment"> * This is broken. We need to enumerate differently.</span></div>
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;<span class="comment"> * It causes major problems with several devices if detected in an unexpected order.</span></div>
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;<span class="comment"> * Oleg - I wouldn&#39;t do anything before the newly connected device is considered sane.</span></div>
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;<span class="comment"> * i.e.(delays are not indicated for brevity):</span></div>
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;<span class="comment"> * 1. reset</span></div>
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;<span class="comment"> * 2. GetDevDescr();</span></div>
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;<span class="comment"> * 3a. If ACK, continue with allocating address, addressing, etc.</span></div>
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;<span class="comment"> * 3b. Else reset again, count resets, stop at some number (5?).</span></div>
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;<span class="comment"> * 4. When max.number of resets is reached, toggle power/fail</span></div>
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;<span class="comment"> * If desired, this could be modified by performing two resets with GetDevDescr() in the middle - however, from my experience, if a device answers to GDD()</span></div>
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160;<span class="comment"> * it doesn&#39;t need to be reset again</span></div>
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;<span class="comment"> * New steps proposal:</span></div>
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;<span class="comment"> * 1: get address pool instance. exit on fail</span></div>
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;<span class="comment"> * 2: pUsb-&gt;getDevDescr(0, 0, constBufSize, (uint8_t*)buf). exit on fail.</span></div>
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;<span class="comment"> * 3: bus reset, 100ms delay</span></div>
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;<span class="comment"> * 4: set address</span></div>
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;<span class="comment"> * 5: pUsb-&gt;setEpInfoEntry(bAddress, 1, epInfo), exit on fail</span></div>
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;<span class="comment"> * 6: while (configurations) {</span></div>
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;<span class="comment"> * for(each configuration) {</span></div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;<span class="comment"> * for (each driver) {</span></div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;<span class="comment"> * 6a: Ask device if it likes configuration. Returns 0 on OK.</span></div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;<span class="comment"> * If successful, the driver configured device.</span></div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="comment"> * The driver now owns the endpoints, and takes over managing them.</span></div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="comment"> * The following will need codes:</span></div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;<span class="comment"> * Everything went well, instance consumed, exit with success.</span></div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;<span class="comment"> * Instance already in use, ignore it, try next driver.</span></div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;<span class="comment"> * Not a supported device, ignore it, try next driver.</span></div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;<span class="comment"> * Not a supported configuration for this device, ignore it, try next driver.</span></div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="comment"> * Could not configure device, fatal, exit with fail.</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment"> * }</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;<span class="comment"> * }</span></div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;<span class="comment"> * }</span></div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="comment"> * 7: for(each driver) {</span></div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;<span class="comment"> * 7a: Ask device if it knows this VID/PID. Acts exactly like 6a, but using VID/PID</span></div>
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160;<span class="comment"> * 8: if we get here, no driver likes the device plugged in, so exit failure.</span></div>
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00688"></a><span class="lineno"><a class="line" href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765"> 688</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">USB::Configuring</a>(uint8_t parent, uint8_t port, <span class="keywordtype">bool</span> lowspeed) {</div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="comment">//uint8_t bAddress = 0;</span></div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="comment">//printf(&quot;Configuring: parent = %i, port = %i\r\n&quot;, parent, port);</span></div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; uint8_t devConfigIndex;</div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; uint8_t rcode = 0;</div>
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; uint8_t buf[<span class="keyword">sizeof</span> (<a class="code" href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a>)];</div>
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <a class="code" href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a> *udd = <span class="keyword">reinterpret_cast&lt;</span><a class="code" href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a> *<span class="keyword">&gt;</span>(buf);</div>
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <a class="code" href="struct_usb_device.html">UsbDevice</a> *p = NULL;</div>
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <a class="code" href="struct_ep_info.html">EpInfo</a> *oldep_ptr = NULL;</div>
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <a class="code" href="struct_ep_info.html">EpInfo</a> epInfo;</div>
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; </div>
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#a9f92be74c75c037b39e2cae1eb49b89b">epAddr</a> = 0;</div>
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">maxPktSize</a> = 8;</div>
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#ac85bff70ad0e5d71e50cb501f4d8caf3">bmSndToggle</a> = 0;</div>
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#a9238dd40c096baedf041c98b19386a14">bmRcvToggle</a> = 0;</div>
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; epInfo.<a class="code" href="struct_ep_info.html#a3a5b1c017a034cd9e06e76729e727c46">bmNakPower</a> = <a class="code" href="address_8h.html#a517dfa014946e2d087d197312234a1de">USB_NAK_MAX_POWER</a>;</div>
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; </div>
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="comment">//delay(2000);</span></div>
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <a class="code" href="class_address_pool.html">AddressPool</a> &amp;addrPool = <a class="code" href="class_u_s_b.html#a66ab8f5eda239e761d5a48741ea1f9d4">GetAddressPool</a>();</div>
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="comment">// Get pointer to pseudo device with address 0 assigned</span></div>
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; p = addrPool.<a class="code" href="class_address_pool.html#aa92d7e8f0f515340ae2dc1679b627056">GetUsbDevicePtr</a>(0);</div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">if</span>(!p) {</div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="comment">//printf(&quot;Configuring error: USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL\r\n&quot;);</span></div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">return</span> <a class="code" href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a>;</div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; }</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; </div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="comment">// Save old pointer to EP_RECORD of address 0</span></div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; oldep_ptr = p-&gt;<a class="code" href="struct_usb_device.html#a410d39fb7758157f57794335e990ed02">epinfo</a>;</div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; </div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; p-&gt;<a class="code" href="struct_usb_device.html#a86a815577ad7883437d3ca72b32b8e8a">lowspeed</a> = lowspeed;</div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="comment">// Get device descriptor</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; rcode = <a class="code" href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">getDevDescr</a>(0, 0, <span class="keyword">sizeof</span> (<a class="code" href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a>), (uint8_t*)buf);</div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; </div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="comment">// Restore p-&gt;epinfo</span></div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; p-&gt;<a class="code" href="struct_usb_device.html#a410d39fb7758157f57794335e990ed02">epinfo</a> = oldep_ptr;</div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; </div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">if</span>(rcode) {</div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="comment">//printf(&quot;Configuring error: Can&#39;t get USB_DEVICE_DESCRIPTOR\r\n&quot;);</span></div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; }</div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="comment">// Temporary assign new pointer to epInfo to p-&gt;epinfo in order to</span></div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="comment">// avoid toggle inconsistence</span></div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; </div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; p-&gt;<a class="code" href="struct_usb_device.html#a410d39fb7758157f57794335e990ed02">epinfo</a> = &amp;epInfo;</div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; </div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; p-&gt;<a class="code" href="struct_usb_device.html#a86a815577ad7883437d3ca72b32b8e8a">lowspeed</a> = lowspeed;</div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="comment">// Get device descriptor</span></div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; rcode = <a class="code" href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">getDevDescr</a>(0, 0, <span class="keyword">sizeof</span> (<a class="code" href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a>), (uint8_t*)buf);</div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; </div>
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="comment">// Restore p-&gt;epinfo</span></div>
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; p-&gt;<a class="code" href="struct_usb_device.html#a410d39fb7758157f57794335e990ed02">epinfo</a> = oldep_ptr;</div>
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; </div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="comment">// to-do?</span></div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="comment">// Allocate new address according to device class</span></div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="comment">//bAddress = addrPool.AllocAddress(parent, false, port);</span></div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; </div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; uint16_t vid = udd-&gt;idVendor;</div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; uint16_t pid = udd-&gt;idProduct;</div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; uint8_t klass = udd-&gt;bDeviceClass;</div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; uint8_t subklass = udd-&gt;bDeviceSubClass;</div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="comment">// Attempt to configure if VID/PID or device class matches with a driver</span></div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="comment">// Qualify with subclass too.</span></div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="comment">// VID/PID &amp; class tests default to false for drivers not yet ported</span></div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="comment">// subclass defaults to true, so you don&#39;t have to define it if you don&#39;t have to.</span></div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keywordflow">for</span>(devConfigIndex = 0; devConfigIndex &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; devConfigIndex++) {</div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">if</span>(!devConfig[devConfigIndex]) <span class="keywordflow">continue</span>; <span class="comment">// no driver</span></div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">if</span>(devConfig[devConfigIndex]-&gt;GetAddress()) <span class="keywordflow">continue</span>; <span class="comment">// consumed</span></div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="keywordflow">if</span>(devConfig[devConfigIndex]-&gt;DEVSUBCLASSOK(subklass) &amp;&amp; (devConfig[devConfigIndex]-&gt;VIDPIDOK(vid, pid) || devConfig[devConfigIndex]-&gt;DEVCLASSOK(klass))) {</div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; rcode = AttemptConfig(devConfigIndex, parent, port, lowspeed);</div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">if</span>(rcode != <a class="code" href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a>)</div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; }</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; }</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; </div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">if</span>(devConfigIndex &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>) {</div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; </div>
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">if</span>(rcode) {</div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="comment">//printf(&quot;Configuring error: Can&#39;t get USB_DEVICE_DESCRIPTOR\r\n&quot;);</span></div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; }</div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; </div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="comment">// to-do?</span></div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="comment">// Allocate new address according to device class</span></div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="comment">//bAddress = addrPool.AllocAddress(parent, false, port);</span></div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; </div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; uint16_t vid = udd-&gt;idVendor;</div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; uint16_t pid = udd-&gt;idProduct;</div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; uint8_t klass = udd-&gt;bDeviceClass;</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; uint8_t subklass = udd-&gt;bDeviceSubClass;</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="comment">// Attempt to configure if VID/PID or device class matches with a driver</span></div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="comment">// Qualify with subclass too.</span></div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="comment">// VID/PID &amp; class tests default to false for drivers not yet ported</span></div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <span class="comment">// subclass defaults to true, so you don&#39;t have to define it if you don&#39;t have to.</span></div>
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="comment">//</span></div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">for</span>(devConfigIndex = 0; devConfigIndex &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; devConfigIndex++) {</div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="keywordflow">if</span>(!devConfig[devConfigIndex]) <span class="keywordflow">continue</span>; <span class="comment">// no driver</span></div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">if</span>(devConfig[devConfigIndex]-&gt;GetAddress()) <span class="keywordflow">continue</span>; <span class="comment">// consumed</span></div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span>(devConfig[devConfigIndex]-&gt;DEVSUBCLASSOK(subklass) &amp;&amp; (devConfig[devConfigIndex]-&gt;VIDPIDOK(vid, pid) || devConfig[devConfigIndex]-&gt;DEVCLASSOK(klass))) {</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; rcode = AttemptConfig(devConfigIndex, parent, port, lowspeed);</div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">if</span>(rcode != <a class="code" href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a>)</div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; }</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; </div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="comment">// blindly attempt to configure</span></div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">for</span>(devConfigIndex = 0; devConfigIndex &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; devConfigIndex++) {</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">if</span>(!devConfig[devConfigIndex]) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">if</span>(devConfig[devConfigIndex]-&gt;GetAddress()) <span class="keywordflow">continue</span>; <span class="comment">// consumed</span></div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">if</span>(devConfig[devConfigIndex]-&gt;DEVSUBCLASSOK(subklass) &amp;&amp; (devConfig[devConfigIndex]-&gt;VIDPIDOK(vid, pid) || devConfig[devConfigIndex]-&gt;DEVCLASSOK(klass))) <span class="keywordflow">continue</span>; <span class="comment">// If this is true it means it must have returned USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED above</span></div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; rcode = AttemptConfig(devConfigIndex, parent, port, lowspeed);</div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; </div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="comment">//printf(&quot;ERROR ENUMERATING %2.2x\r\n&quot;, rcode);</span></div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">if</span>(!(rcode == <a class="code" href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a> || rcode == <a class="code" href="_usb_core_8h.html#a44416ff64fc0e3691f98addac13d4595">USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</a>)) {</div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="comment">// in case of an error dev_index should be reset to 0</span></div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="comment">// in order to start from the very beginning the</span></div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="comment">// next time the program gets here</span></div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="comment">//if (rcode != USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE)</span></div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="comment">// devConfigIndex = 0;</span></div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; }</div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="comment">// if we get here that means that the device class is not supported by any of registered classes</span></div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; rcode = <a class="code" href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1">DefaultAddressing</a>(parent, port, lowspeed);</div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; </div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;}</div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; </div>
<div class="line"><a name="l00781"></a><span class="lineno"><a class="line" href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a"> 781</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a">USB::ReleaseDevice</a>(uint8_t addr) {</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">if</span>(!addr)</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; </div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; i++) {</div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">if</span>(!devConfig[i]) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">if</span>(devConfig[i]-&gt;GetAddress() == addr)</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">return</span> devConfig[i]-&gt;<a class="code" href="class_u_s_b_device_config.html#a61e301efedae55c6ac12c6cce154e432">Release</a>();</div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; }</div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;}</div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; </div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;<span class="preprocessor">#if 1 </span></div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160;<span class="preprocessor">//get device descriptor</span></div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; </div>
<div class="line"><a name="l00796"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24"> 796</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a>(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr) {</div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a>, <a class="code" href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a>, 0x00, <a class="code" href="usb__ch9_8h.html#ac6d0566773ed4549fe1a7a932e6c46de">USB_DESCRIPTOR_DEVICE</a>, 0x0000, nbytes, nbytes, dataptr, NULL));</div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;}</div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="comment">//get configuration descriptor</span></div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">if</span>(devConfigIndex &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>) {</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; }</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; </div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; </div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="comment">// blindly attempt to configure</span></div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">for</span>(devConfigIndex = 0; devConfigIndex &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; devConfigIndex++) {</div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">if</span>(!devConfig[devConfigIndex]) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">if</span>(devConfig[devConfigIndex]-&gt;GetAddress()) <span class="keywordflow">continue</span>; <span class="comment">// consumed</span></div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordflow">if</span>(devConfig[devConfigIndex]-&gt;DEVSUBCLASSOK(subklass) &amp;&amp; (devConfig[devConfigIndex]-&gt;VIDPIDOK(vid, pid) || devConfig[devConfigIndex]-&gt;DEVCLASSOK(klass))) <span class="keywordflow">continue</span>; <span class="comment">// If this is true it means it must have returned USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED above</span></div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; rcode = AttemptConfig(devConfigIndex, parent, port, lowspeed);</div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; </div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="comment">//printf(&quot;ERROR ENUMERATING %2.2x\r\n&quot;, rcode);</span></div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">if</span>(!(rcode == <a class="code" href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a> || rcode == <a class="code" href="_usb_core_8h.html#a44416ff64fc0e3691f98addac13d4595">USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</a>)) {</div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="comment">// in case of an error dev_index should be reset to 0</span></div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="comment">// in order to start from the very beginning the</span></div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="comment">// next time the program gets here</span></div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="comment">//if (rcode != USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE)</span></div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="comment">// devConfigIndex = 0;</span></div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; }</div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; }</div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="comment">// if we get here that means that the device class is not supported by any of registered classes</span></div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; rcode = <a class="code" href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1">DefaultAddressing</a>(parent, port, lowspeed);</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; </div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;}</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; </div>
<div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a"> 786</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a">USB::ReleaseDevice</a>(uint8_t addr) {</div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">if</span>(!addr)</div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; </div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">for</span>(uint8_t i = 0; i &lt; <a class="code" href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a>; i++) {</div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">if</span>(!devConfig[i]) <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">if</span>(devConfig[i]-&gt;GetAddress() == addr)</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keywordflow">return</span> devConfig[i]-&gt;<a class="code" href="class_u_s_b_device_config.html#a61e301efedae55c6ac12c6cce154e432">Release</a>();</div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; }</div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;}</div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; </div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;<span class="preprocessor">#if 1 </span></div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="preprocessor">//get device descriptor</span></div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; </div>
<div class="line"><a name="l00801"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89"> 801</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a>(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t* dataptr) {</div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a>, <a class="code" href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a>, conf, <a class="code" href="usb__ch9_8h.html#aa17b365c4eb8bd2f6a4d4e4fb5f881c7">USB_DESCRIPTOR_CONFIGURATION</a>, 0x0000, nbytes, nbytes, dataptr, NULL));</div>
<div class="line"><a name="l00801"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24"> 801</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a>(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr) {</div>
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a>, <a class="code" href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a>, 0x00, <a class="code" href="usb__ch9_8h.html#ac6d0566773ed4549fe1a7a932e6c46de">USB_DESCRIPTOR_DEVICE</a>, 0x0000, nbytes, nbytes, dataptr, NULL));</div>
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160;}</div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; </div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;<span class="comment">/* Requests Configuration Descriptor. Sends two Get Conf Descr requests. The first one gets the total length of all descriptors, then the second one requests this</span></div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160;<span class="comment"> total length. The length of the first request can be shorter ( 4 bytes ), however, there are devices which won&#39;t work unless this length is set to 9 */</span></div>
<div class="line"><a name="l00807"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a9ebd4acdc37b12bbab2ca893cb899eba"> 807</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a>(uint8_t addr, uint8_t ep, uint8_t conf, <a class="code" href="class_u_s_b_read_parser.html">USBReadParser</a> *p) {</div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keyword">const</span> uint8_t bufSize = 64;</div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; uint8_t buf[bufSize];</div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <a class="code" href="struct_u_s_b___c_o_n_f_i_g_u_r_a_t_i_o_n___d_e_s_c_r_i_p_t_o_r.html">USB_CONFIGURATION_DESCRIPTOR</a> *ucd = <span class="keyword">reinterpret_cast&lt;</span><a class="code" href="struct_u_s_b___c_o_n_f_i_g_u_r_a_t_i_o_n___d_e_s_c_r_i_p_t_o_r.html">USB_CONFIGURATION_DESCRIPTOR</a> *<span class="keyword">&gt;</span>(buf);</div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; </div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; uint8_t ret = <a class="code" href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">getConfDescr</a>(addr, ep, 9, conf, buf);</div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; </div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keywordflow">if</span>(ret)</div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">return</span> ret;</div>
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;<span class="comment">//get configuration descriptor</span></div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; </div>
<div class="line"><a name="l00806"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89"> 806</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a>(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t* dataptr) {</div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a>, <a class="code" href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a>, conf, <a class="code" href="usb__ch9_8h.html#aa17b365c4eb8bd2f6a4d4e4fb5f881c7">USB_DESCRIPTOR_CONFIGURATION</a>, 0x0000, nbytes, nbytes, dataptr, NULL));</div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160;}</div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; </div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;<span class="comment">/* Requests Configuration Descriptor. Sends two Get Conf Descr requests. The first one gets the total length of all descriptors, then the second one requests this</span></div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;<span class="comment"> total length. The length of the first request can be shorter ( 4 bytes ), however, there are devices which won&#39;t work unless this length is set to 9 */</span></div>
<div class="line"><a name="l00812"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a9ebd4acdc37b12bbab2ca893cb899eba"> 812</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a>(uint8_t addr, uint8_t ep, uint8_t conf, <a class="code" href="class_u_s_b_read_parser.html">USBReadParser</a> *p) {</div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; <span class="keyword">const</span> uint8_t bufSize = 64;</div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; uint8_t buf[bufSize];</div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <a class="code" href="struct_u_s_b___c_o_n_f_i_g_u_r_a_t_i_o_n___d_e_s_c_r_i_p_t_o_r.html">USB_CONFIGURATION_DESCRIPTOR</a> *ucd = <span class="keyword">reinterpret_cast&lt;</span><a class="code" href="struct_u_s_b___c_o_n_f_i_g_u_r_a_t_i_o_n___d_e_s_c_r_i_p_t_o_r.html">USB_CONFIGURATION_DESCRIPTOR</a> *<span class="keyword">&gt;</span>(buf);</div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; </div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; uint16_t total = ucd-&gt;<a class="code" href="struct_u_s_b___c_o_n_f_i_g_u_r_a_t_i_o_n___d_e_s_c_r_i_p_t_o_r.html#a39499f3dd4e3f1ef1d8a2c9b430bc11b">wTotalLength</a>;</div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; uint8_t ret = <a class="code" href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">getConfDescr</a>(addr, ep, 9, conf, buf);</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; </div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="comment">//USBTRACE2(&quot;\r\ntotal conf.size:&quot;, total);</span></div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; </div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a>, <a class="code" href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a>, conf, <a class="code" href="usb__ch9_8h.html#aa17b365c4eb8bd2f6a4d4e4fb5f881c7">USB_DESCRIPTOR_CONFIGURATION</a>, 0x0000, total, bufSize, buf, p));</div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160;}</div>
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">if</span>(ret)</div>
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">return</span> ret;</div>
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; </div>
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; uint16_t total = ucd-&gt;<a class="code" href="struct_u_s_b___c_o_n_f_i_g_u_r_a_t_i_o_n___d_e_s_c_r_i_p_t_o_r.html#a39499f3dd4e3f1ef1d8a2c9b430bc11b">wTotalLength</a>;</div>
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; </div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160;<span class="comment">//get string descriptor</span></div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="comment">//USBTRACE2(&quot;\r\ntotal conf.size:&quot;, total);</span></div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; </div>
<div class="line"><a name="l00826"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a372ecbe1d23955e8b04b5e95e0e4a833"> 826</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a372ecbe1d23955e8b04b5e95e0e4a833">USB::getStrDescr</a>(uint8_t addr, uint8_t ep, uint16_t ns, uint8_t index, uint16_t langid, uint8_t* dataptr) {</div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a>, <a class="code" href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a>, index, <a class="code" href="usb__ch9_8h.html#abbad38caa1ca9c52f47adccd3a850aed">USB_DESCRIPTOR_STRING</a>, langid, ns, ns, dataptr, NULL));</div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160;}</div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;<span class="comment">//set address</span></div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a>, <a class="code" href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a>, conf, <a class="code" href="usb__ch9_8h.html#aa17b365c4eb8bd2f6a4d4e4fb5f881c7">USB_DESCRIPTOR_CONFIGURATION</a>, 0x0000, total, bufSize, buf, p));</div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;}</div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; </div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;<span class="comment">//get string descriptor</span></div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; </div>
<div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47"> 831</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a>(uint8_t oldaddr, uint8_t ep, uint8_t newaddr) {</div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; uint8_t rcode = <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(oldaddr, ep, <a class="code" href="_usb_core_8h.html#af4965e768593007eacde7644979f56da">bmREQ_SET</a>, <a class="code" href="usb__ch9_8h.html#ac87659819bfd6491120c819fae2d46bc">USB_REQUEST_SET_ADDRESS</a>, newaddr, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL);</div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <span class="comment">//delay(2); //per USB 2.0 sect.9.2.6.3</span></div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; delay(300); <span class="comment">// Older spec says you should wait at least 200ms</span></div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="comment">//return ( ctrlReq(oldaddr, ep, bmREQ_SET, USB_REQUEST_SET_ADDRESS, newaddr, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL));</span></div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160;}</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;<span class="comment">//set configuration</span></div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; </div>
<div class="line"><a name="l00840"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378"> 840</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a>(uint8_t addr, uint8_t ep, uint8_t conf_value) {</div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#af4965e768593007eacde7644979f56da">bmREQ_SET</a>, <a class="code" href="usb__ch9_8h.html#aadef005acc40340955d34d9767ef297c">USB_REQUEST_SET_CONFIGURATION</a>, conf_value, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL));</div>
<div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a372ecbe1d23955e8b04b5e95e0e4a833"> 831</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a372ecbe1d23955e8b04b5e95e0e4a833">USB::getStrDescr</a>(uint8_t addr, uint8_t ep, uint16_t ns, uint8_t index, uint16_t langid, uint8_t* dataptr) {</div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a>, <a class="code" href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a>, index, <a class="code" href="usb__ch9_8h.html#abbad38caa1ca9c52f47adccd3a850aed">USB_DESCRIPTOR_STRING</a>, langid, ns, ns, dataptr, NULL));</div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;}</div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;<span class="comment">//set address</span></div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; </div>
<div class="line"><a name="l00836"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47"> 836</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a>(uint8_t oldaddr, uint8_t ep, uint8_t newaddr) {</div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; uint8_t rcode = <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(oldaddr, ep, <a class="code" href="_usb_core_8h.html#af4965e768593007eacde7644979f56da">bmREQ_SET</a>, <a class="code" href="usb__ch9_8h.html#ac87659819bfd6491120c819fae2d46bc">USB_REQUEST_SET_ADDRESS</a>, newaddr, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL);</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <span class="comment">//delay(2); //per USB 2.0 sect.9.2.6.3</span></div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; delay(300); <span class="comment">// Older spec says you should wait at least 200ms</span></div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">return</span> rcode;</div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="comment">//return ( ctrlReq(oldaddr, ep, bmREQ_SET, USB_REQUEST_SET_ADDRESS, newaddr, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL));</span></div>
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;}</div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; </div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;<span class="preprocessor">#endif // defined(USB_METHODS_INLINE)</span></div>
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;<span class="comment">//set configuration</span></div>
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; </div>
<div class="line"><a name="l00845"></a><span class="lineno"><a class="line" href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378"> 845</a></span>&#160;uint8_t <a class="code" href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a>(uint8_t addr, uint8_t ep, uint8_t conf_value) {</div>
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="keywordflow">return</span> ( <a class="code" href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">ctrlReq</a>(addr, ep, <a class="code" href="_usb_core_8h.html#af4965e768593007eacde7644979f56da">bmREQ_SET</a>, <a class="code" href="usb__ch9_8h.html#aadef005acc40340955d34d9767ef297c">USB_REQUEST_SET_CONFIGURATION</a>, conf_value, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL));</div>
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160;}</div>
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; </div>
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160;<span class="preprocessor">#endif // defined(USB_METHODS_INLINE)</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="amax3421e_8h_html_a6d59486bc96e76ebb429756a30ddb238"><div class="ttname"><a href="max3421e_8h.html#a6d59486bc96e76ebb429756a30ddb238">tokOUT</a></div><div class="ttdeci">#define tokOUT</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00197">max3421e.h:197</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_aac8c844e6a20f42298d70e4438a029e5"><div class="ttname"><a href="_usb_core_8h.html#aac8c844e6a20f42298d70e4438a029e5">USB_STATE_CONFIGURING</a></div><div class="ttdeci">#define USB_STATE_CONFIGURING</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00130">UsbCore.h:130</a></div></div>
@ -917,10 +922,10 @@ $(function() {
<div class="ttc" id="amax3421e_8h_html_ab44a7968d08016b58d98951059c37076"><div class="ttname"><a href="max3421e_8h.html#ab44a7968d08016b58d98951059c37076">hrNAK</a></div><div class="ttdeci">#define hrNAK</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00218">max3421e.h:218</a></div></div>
<div class="ttc" id="amax3421e_8h_html_aea69e77cdc2b4124122d0fbda7e37019"><div class="ttname"><a href="max3421e_8h.html#aea69e77cdc2b4124122d0fbda7e37019">hrSUCCESS</a></div><div class="ttdeci">#define hrSUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00214">max3421e.h:214</a></div></div>
<div class="ttc" id="amax3421e_8h_html_acddbcc3176885ece538a7e71665c27be"><div class="ttname"><a href="max3421e_8h.html#acddbcc3176885ece538a7e71665c27be">rSUDFIFO</a></div><div class="ttdeci">#define rSUDFIFO</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00046">max3421e.h:46</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a372ecbe1d23955e8b04b5e95e0e4a833"><div class="ttname"><a href="class_u_s_b.html#a372ecbe1d23955e8b04b5e95e0e4a833">USB::getStrDescr</a></div><div class="ttdeci">uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00826">Usb.cpp:826</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a372ecbe1d23955e8b04b5e95e0e4a833"><div class="ttname"><a href="class_u_s_b.html#a372ecbe1d23955e8b04b5e95e0e4a833">USB::getStrDescr</a></div><div class="ttdeci">uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_ac87659819bfd6491120c819fae2d46bc"><div class="ttname"><a href="usb__ch9_8h.html#ac87659819bfd6491120c819fae2d46bc">USB_REQUEST_SET_ADDRESS</a></div><div class="ttdeci">#define USB_REQUEST_SET_ADDRESS</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00043">usb_ch9.h:43</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_ac6d0566773ed4549fe1a7a932e6c46de"><div class="ttname"><a href="usb__ch9_8h.html#ac6d0566773ed4549fe1a7a932e6c46de">USB_DESCRIPTOR_DEVICE</a></div><div class="ttdeci">#define USB_DESCRIPTOR_DEVICE</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00070">usb_ch9.h:70</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_af4008dfc1c2d15c23cf8a7815cc17765"><div class="ttname"><a href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">USB::Configuring</a></div><div class="ttdeci">uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00683">Usb.cpp:683</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_af4008dfc1c2d15c23cf8a7815cc17765"><div class="ttname"><a href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">USB::Configuring</a></div><div class="ttdeci">uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00688">Usb.cpp:688</a></div></div>
<div class="ttc" id="amax3421e_8h_html_ad780c154c3761f68e0e397e4fd8f9a07"><div class="ttname"><a href="max3421e_8h.html#ad780c154c3761f68e0e397e4fd8f9a07">bmRCVDAVIRQ</a></div><div class="ttdeci">#define bmRCVDAVIRQ</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00148">max3421e.h:148</a></div></div>
<div class="ttc" id="aclass_address_pool_html_aa92d7e8f0f515340ae2dc1679b627056"><div class="ttname"><a href="class_address_pool.html#aa92d7e8f0f515340ae2dc1679b627056">AddressPool::GetUsbDevicePtr</a></div><div class="ttdeci">virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ad55f0079a95df5e4a9bb22e88a7395f5"><div class="ttname"><a href="_usb_core_8h.html#ad55f0079a95df5e4a9bb22e88a7395f5">USB_ERROR_EP_NOT_FOUND_IN_TBL</a></div><div class="ttdeci">#define USB_ERROR_EP_NOT_FOUND_IN_TBL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00100">UsbCore.h:100</a></div></div>
@ -941,11 +946,11 @@ $(function() {
<div class="ttc" id="amax3421e_8h_html_a042cc701398502fb70b8793ed76394ce"><div class="ttname"><a href="max3421e_8h.html#a042cc701398502fb70b8793ed76394ce">bmFRAMEIRQ</a></div><div class="ttdeci">#define bmFRAMEIRQ</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00152">max3421e.h:152</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a1b082667723b29243b021a1829bdd8d6"><div class="ttname"><a href="_usb_core_8h.html#a1b082667723b29243b021a1829bdd8d6">USB_SETTLE_DELAY</a></div><div class="ttdeci">#define USB_SETTLE_DELAY</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00110">UsbCore.h:110</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a04ea2d151f9edb6575fc159a58f1e443"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a04ea2d151f9edb6575fc159a58f1e443">SETUP_PKT::wValueHi</a></div><div class="ttdeci">uint8_t wValueHi</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00194">UsbCore.h:194</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html">SETUP_PKT</a></div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00176">UsbCore.h:176</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a4a9dee0254d637bcd27ac53fd2a7cb7c"><div class="ttname"><a href="max3421e_8h.html#a4a9dee0254d637bcd27ac53fd2a7cb7c">bmSNDTOGRD</a></div><div class="ttdeci">#define bmSNDTOGRD</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00207">max3421e.h:207</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a7e82a85eb165f82afde45df5f98504ff"><div class="ttname"><a href="max3421e_8h.html#a7e82a85eb165f82afde45df5f98504ff">rHCTL</a></div><div class="ttdeci">#define rHCTL</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00181">max3421e.h:181</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_ac681c6c98e1641f705bc14d670a2663a"><div class="ttname"><a href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a">USB::ReleaseDevice</a></div><div class="ttdeci">uint8_t ReleaseDevice(uint8_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00781">Usb.cpp:781</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_ac681c6c98e1641f705bc14d670a2663a"><div class="ttname"><a href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a">USB::ReleaseDevice</a></div><div class="ttdeci">uint8_t ReleaseDevice(uint8_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00786">Usb.cpp:786</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a3cb02fdd2d36f8a755c4b1946a0b0063"><div class="ttname"><a href="max3421e_8h.html#a3cb02fdd2d36f8a755c4b1946a0b0063">SE0</a></div><div class="ttdeci">#define SE0</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00035">max3421e.h:35</a></div></div>
<div class="ttc" id="aclass_m_a_x3421e_html_aa1e9380222063c40fbf43428f7c50d67"><div class="ttname"><a href="class_m_a_x3421e.html#aa1e9380222063c40fbf43428f7c50d67">MAX3421e::getVbusState</a></div><div class="ttdeci">uint8_t getVbusState(void)</div><div class="ttdef"><b>Definition:</b> <a href="usbhost_8h_source.html#l00154">usbhost.h:154</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a52c379fe7e22f53d3e3d47d65735fa3b"><div class="ttname"><a href="_usb_core_8h.html#a52c379fe7e22f53d3e3d47d65735fa3b">USB_ERROR_INVALID_ARGUMENT</a></div><div class="ttdeci">#define USB_ERROR_INVALID_ARGUMENT</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00097">UsbCore.h:97</a></div></div>
@ -956,7 +961,7 @@ $(function() {
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a1ec9b19c0ed1e66e399ad9cf3c4a6537"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a1ec9b19c0ed1e66e399ad9cf3c4a6537">SETUP_PKT::wLength</a></div><div class="ttdeci">uint16_t wLength</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00198">UsbCore.h:198</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a321b931277d6ce278416dc5d74059016"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a321b931277d6ce278416dc5d74059016">SETUP_PKT::bRequest</a></div><div class="ttdeci">uint8_t bRequest</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00187">UsbCore.h:187</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a8ff697d334dc611720419374acd1e5fb"><div class="ttname"><a href="class_u_s_b.html#a8ff697d334dc611720419374acd1e5fb">USB::setUsbTaskState</a></div><div class="ttdeci">void setUsbTaskState(uint8_t state)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00040">Usb.cpp:40</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a343d4b321cf8e99f0504cb04c7ce8b10"><div class="ttname"><a href="class_u_s_b.html#a343d4b321cf8e99f0504cb04c7ce8b10">USB::dispatchPkt</a></div><div class="ttdeci">uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00401">Usb.cpp:401</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a343d4b321cf8e99f0504cb04c7ce8b10"><div class="ttname"><a href="class_u_s_b.html#a343d4b321cf8e99f0504cb04c7ce8b10">USB::dispatchPkt</a></div><div class="ttdeci">uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00406">Usb.cpp:406</a></div></div>
<div class="ttc" id="amax3421e_8h_html_acdfff8cccb2ba5a3dfaa67241ffe86a4"><div class="ttname"><a href="max3421e_8h.html#acdfff8cccb2ba5a3dfaa67241ffe86a4">bmRCVTOGRD</a></div><div class="ttdeci">#define bmRCVTOGRD</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00206">max3421e.h:206</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a80a8d6b8e75c76947e452b4afa04c84e"><div class="ttname"><a href="_usb_core_8h.html#a80a8d6b8e75c76947e452b4afa04c84e">USB_ATTACHED_SUBSTATE_WAIT_RESET</a></div><div class="ttdeci">#define USB_ATTACHED_SUBSTATE_WAIT_RESET</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00127">UsbCore.h:127</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_aa17b365c4eb8bd2f6a4d4e4fb5f881c7"><div class="ttname"><a href="usb__ch9_8h.html#aa17b365c4eb8bd2f6a4d4e4fb5f881c7">USB_DESCRIPTOR_CONFIGURATION</a></div><div class="ttdeci">#define USB_DESCRIPTOR_CONFIGURATION</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00071">usb_ch9.h:71</a></div></div>
@ -971,13 +976,13 @@ $(function() {
<div class="ttc" id="amax3421e_8h_html_a651e9347e706d3cb16357c656a7e9c8f"><div class="ttname"><a href="max3421e_8h.html#a651e9347e706d3cb16357c656a7e9c8f">hrTOGERR</a></div><div class="ttdeci">#define hrTOGERR</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00220">max3421e.h:220</a></div></div>
<div class="ttc" id="astruct_usb_device_address_html_a79ed442d6a357907ddb4d1697bd6af5f"><div class="ttname"><a href="struct_usb_device_address.html#a79ed442d6a357907ddb4d1697bd6af5f">UsbDeviceAddress::devAddress</a></div><div class="ttdeci">uint8_t devAddress</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00074">address.h:74</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a299d9f88d294369ea88b48b5026f4c7e"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a299d9f88d294369ea88b48b5026f4c7e">SETUP_PKT::wIndex</a></div><div class="ttdeci">uint16_t wIndex</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00197">UsbCore.h:197</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a9ab289252615caa2d19ceb4359d71a44"><div class="ttname"><a href="max3421e_8h.html#a9ab289252615caa2d19ceb4359d71a44">rHIRQ</a></div><div class="ttdeci">#define rHIRQ</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00144">max3421e.h:144</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a4834ae7378471b63b9a1985c6294006f"><div class="ttname"><a href="max3421e_8h.html#a4834ae7378471b63b9a1985c6294006f">bmSNDTOG0</a></div><div class="ttdeci">#define bmSNDTOG0</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00189">max3421e.h:189</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a1eb6ec372ed236f1db3fbca201bdc28f"><div class="ttname"><a href="max3421e_8h.html#a1eb6ec372ed236f1db3fbca201bdc28f">rSNDBC</a></div><div class="ttdeci">#define rSNDBC</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00048">max3421e.h:48</a></div></div>
<div class="ttc" id="amax3421e_8h_html_ab59b41d6ecb3a04e5bfc38b0eee4aec0"><div class="ttname"><a href="max3421e_8h.html#ab59b41d6ecb3a04e5bfc38b0eee4aec0">bmBUSRST</a></div><div class="ttdeci">#define bmBUSRST</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00183">max3421e.h:183</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a1cde86dfa0124c81ebffcde9fdf61cc3"><div class="ttname"><a href="max3421e_8h.html#a1cde86dfa0124c81ebffcde9fdf61cc3">bmSOFKAENAB</a></div><div class="ttdeci">#define bmSOFKAENAB</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00173">max3421e.h:173</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a5eb0d31372d26f0015a0d7be0b9ff4e1"><div class="ttname"><a href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1">USB::DefaultAddressing</a></div><div class="ttdeci">uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00561">Usb.cpp:561</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a5eb0d31372d26f0015a0d7be0b9ff4e1"><div class="ttname"><a href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1">USB::DefaultAddressing</a></div><div class="ttdeci">uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00566">Usb.cpp:566</a></div></div>
<div class="ttc" id="aaddress_8h_html_a517dfa014946e2d087d197312234a1de"><div class="ttname"><a href="address_8h.html#a517dfa014946e2d087d197312234a1de">USB_NAK_MAX_POWER</a></div><div class="ttdeci">#define USB_NAK_MAX_POWER</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00034">address.h:34</a></div></div>
<div class="ttc" id="amax3421e_8h_html_aca6a8aa4f0aebbe07c5e175572a92ef7"><div class="ttname"><a href="max3421e_8h.html#aca6a8aa4f0aebbe07c5e175572a92ef7">bmRCVTOG0</a></div><div class="ttdeci">#define bmRCVTOG0</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00187">max3421e.h:187</a></div></div>
<div class="ttc" id="aclass_u_s_b_device_config_html_a893ea73deab98be837c257201e7da25a"><div class="ttname"><a href="class_u_s_b_device_config.html#a893ea73deab98be837c257201e7da25a">USBDeviceConfig::Poll</a></div><div class="ttdeci">virtual uint8_t Poll()</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00149">UsbCore.h:149</a></div></div>
@ -991,7 +996,7 @@ $(function() {
<div class="ttc" id="aclass_u_s_b_html_a636695a5c3d35cd6b9e31c54edfacd7c"><div class="ttname"><a href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">USB::ctrlReq</a></div><div class="ttdeci">uint8_t ctrlReq(uint8_t addr, uint8_t ep, uint8_t bmReqType, uint8_t bRequest, uint8_t wValLo, uint8_t wValHi, uint16_t wInd, uint16_t total, uint16_t nbytes, uint8_t *dataptr, USBReadParser *p)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00126">Usb.cpp:126</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a6fef5305841ac36f67d8ddb0bd9127d4"><div class="ttname"><a href="_usb_core_8h.html#a6fef5305841ac36f67d8ddb0bd9127d4">USB_STATE_ERROR</a></div><div class="ttdeci">#define USB_STATE_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00132">UsbCore.h:132</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a9bbd6cf5a93a6433d2eb97c59b9102d5"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a9bbd6cf5a93a6433d2eb97c59b9102d5">SETUP_PKT::bmRequestType</a></div><div class="ttdeci">uint8_t bmRequestType</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00179">UsbCore.h:179</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_aff8d1b2009c760bc27fb12762bd3c9b6"><div class="ttname"><a href="class_u_s_b.html#aff8d1b2009c760bc27fb12762bd3c9b6">USB::Task</a></div><div class="ttdeci">void Task(void)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00455">Usb.cpp:455</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_aff8d1b2009c760bc27fb12762bd3c9b6"><div class="ttname"><a href="class_u_s_b.html#aff8d1b2009c760bc27fb12762bd3c9b6">USB::Task</a></div><div class="ttdeci">void Task(void)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00460">Usb.cpp:460</a></div></div>
<div class="ttc" id="amax3421e_8h_html_aee283b6d075581cdff38a6054e6f63a2"><div class="ttname"><a href="max3421e_8h.html#aee283b6d075581cdff38a6054e6f63a2">bmSNDTOG1</a></div><div class="ttdeci">#define bmSNDTOG1</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00190">max3421e.h:190</a></div></div>
<div class="ttc" id="amax3421e_8h_html_aa128de549704094dadb93daa8875472b"><div class="ttname"><a href="max3421e_8h.html#aa128de549704094dadb93daa8875472b">hrJERR</a></div><div class="ttdeci">#define hrJERR</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00227">max3421e.h:227</a></div></div>
<div class="ttc" id="aclass_m_a_x3421e_html_af136074eab636da10cf50a03d735c1b5"><div class="ttname"><a href="class_m_a_x3421e.html#af136074eab636da10cf50a03d735c1b5">MAX3421e::bytesRd</a></div><div class="ttdeci">uint8_t * bytesRd(uint8_t reg, uint8_t nbytes, uint8_t *data_p)</div><div class="ttdef"><b>Definition:</b> <a href="usbhost_8h_source.html#l00319">usbhost.h:319</a></div></div>
@ -1023,7 +1028,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_aadef005acc40340955d34d9767ef297c"><div class="ttname"><a href="usb__ch9_8h.html#aadef005acc40340955d34d9767ef297c">USB_REQUEST_SET_CONFIGURATION</a></div><div class="ttdeci">#define USB_REQUEST_SET_CONFIGURATION</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00047">usb_ch9.h:47</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a68c9436c00560f96e044052c3fb681e9"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a68c9436c00560f96e044052c3fb681e9">SETUP_PKT::wValueLo</a></div><div class="ttdeci">uint8_t wValueLo</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00193">UsbCore.h:193</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a60a744d0f1386e4b28053a41bd6a958f"><div class="ttname"><a href="_usb_core_8h.html#a60a744d0f1386e4b28053a41bd6a958f">USB_DETACHED_SUBSTATE_INITIALIZE</a></div><div class="ttdeci">#define USB_DETACHED_SUBSTATE_INITIALIZE</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00120">UsbCore.h:120</a></div></div>
<div class="ttc" id="aclass_u_s_b_device_config_html_aef77a1e62f78c04a1aad53e8795ec89e"><div class="ttname"><a href="class_u_s_b_device_config.html#aef77a1e62f78c04a1aad53e8795ec89e">USBDeviceConfig::ConfigureDevice</a></div><div class="ttdeci">virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00141">UsbCore.h:141</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_af4965e768593007eacde7644979f56da"><div class="ttname"><a href="_usb_core_8h.html#af4965e768593007eacde7644979f56da">bmREQ_SET</a></div><div class="ttdeci">#define bmREQ_SET</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00061">UsbCore.h:61</a></div></div>
@ -1033,7 +1038,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_a15370eb665cdded5514e69ca58d9f39d"><div class="ttname"><a href="_usb_core_8h.html#a15370eb665cdded5514e69ca58d9f39d">USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00093">UsbCore.h:93</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a3168cf67661a2716677b9830f30b880c"><div class="ttname"><a href="_usb_core_8h.html#a3168cf67661a2716677b9830f30b880c">USB_STATE_MASK</a></div><div class="ttdeci">#define USB_STATE_MASK</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00117">UsbCore.h:117</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a9744878036529e375f3b017b22b1eda2"><div class="ttname"><a href="max3421e_8h.html#a9744878036529e375f3b017b22b1eda2">bmLOWSPEED</a></div><div class="ttdeci">#define bmLOWSPEED</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00171">max3421e.h:171</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>

View file

@ -379,10 +379,10 @@ $(function() {
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* USBCORE_H */</span><span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclass_u_s_b_html_affbc018973a588995457d535b0ac7ee7"><div class="ttname"><a href="class_u_s_b.html#affbc018973a588995457d535b0ac7ee7">USB::outTransfer</a></div><div class="ttdeci">uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00303">Usb.cpp:303</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a372ecbe1d23955e8b04b5e95e0e4a833"><div class="ttname"><a href="class_u_s_b.html#a372ecbe1d23955e8b04b5e95e0e4a833">USB::getStrDescr</a></div><div class="ttdeci">uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00826">Usb.cpp:826</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a372ecbe1d23955e8b04b5e95e0e4a833"><div class="ttname"><a href="class_u_s_b.html#a372ecbe1d23955e8b04b5e95e0e4a833">USB::getStrDescr</a></div><div class="ttdeci">uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_ac87659819bfd6491120c819fae2d46bc"><div class="ttname"><a href="usb__ch9_8h.html#ac87659819bfd6491120c819fae2d46bc">USB_REQUEST_SET_ADDRESS</a></div><div class="ttdeci">#define USB_REQUEST_SET_ADDRESS</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00043">usb_ch9.h:43</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_ac6d0566773ed4549fe1a7a932e6c46de"><div class="ttname"><a href="usb__ch9_8h.html#ac6d0566773ed4549fe1a7a932e6c46de">USB_DESCRIPTOR_DEVICE</a></div><div class="ttdeci">#define USB_DESCRIPTOR_DEVICE</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00070">usb_ch9.h:70</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_af4008dfc1c2d15c23cf8a7815cc17765"><div class="ttname"><a href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">USB::Configuring</a></div><div class="ttdeci">uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00683">Usb.cpp:683</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_af4008dfc1c2d15c23cf8a7815cc17765"><div class="ttname"><a href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">USB::Configuring</a></div><div class="ttdeci">uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00688">Usb.cpp:688</a></div></div>
<div class="ttc" id="aclass_u_s_b_device_config_html_a2bb3e09cf128c8ecd04ea0dfce2126e1"><div class="ttname"><a href="class_u_s_b_device_config.html#a2bb3e09cf128c8ecd04ea0dfce2126e1">USBDeviceConfig::DEVCLASSOK</a></div><div class="ttdeci">virtual bool DEVCLASSOK(uint8_t klass)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00165">UsbCore.h:165</a></div></div>
<div class="ttc" id="aclass_u_s_b_device_config_html"><div class="ttname"><a href="class_u_s_b_device_config.html">USBDeviceConfig</a></div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00134">UsbCore.h:134</a></div></div>
<div class="ttc" id="aclass_address_pool_html"><div class="ttname"><a href="class_address_pool.html">AddressPool</a></div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00090">address.h:90</a></div></div>
@ -391,16 +391,16 @@ $(function() {
<div class="ttc" id="aclass_u_s_b_device_config_html_a61e301efedae55c6ac12c6cce154e432"><div class="ttname"><a href="class_u_s_b_device_config.html#a61e301efedae55c6ac12c6cce154e432">USBDeviceConfig::Release</a></div><div class="ttdeci">virtual uint8_t Release()</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00145">UsbCore.h:145</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_ad9346ba7b7a4da6829142e23e3ba8a2f"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#ad9346ba7b7a4da6829142e23e3ba8a2f">SETUP_PKT::type</a></div><div class="ttdeci">uint8_t type</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00183">UsbCore.h:183</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a04ea2d151f9edb6575fc159a58f1e443"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a04ea2d151f9edb6575fc159a58f1e443">SETUP_PKT::wValueHi</a></div><div class="ttdeci">uint8_t wValueHi</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00194">UsbCore.h:194</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html">SETUP_PKT</a></div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00176">UsbCore.h:176</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_ac681c6c98e1641f705bc14d670a2663a"><div class="ttname"><a href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a">USB::ReleaseDevice</a></div><div class="ttdeci">uint8_t ReleaseDevice(uint8_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00781">Usb.cpp:781</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_ac681c6c98e1641f705bc14d670a2663a"><div class="ttname"><a href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a">USB::ReleaseDevice</a></div><div class="ttdeci">uint8_t ReleaseDevice(uint8_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00786">Usb.cpp:786</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_ad4929f74079f3bc22b00936ae84d18b0"><div class="ttname"><a href="_usb_core_8h.html#ad4929f74079f3bc22b00936ae84d18b0">USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS</a></div><div class="ttdeci">#define USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00092">UsbCore.h:92</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a1c1aad8269403bf488e3bc4c79886ce4"><div class="ttname"><a href="class_u_s_b.html#a1c1aad8269403bf488e3bc4c79886ce4">USB::getUsbTaskState</a></div><div class="ttdeci">uint8_t getUsbTaskState(void)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00036">Usb.cpp:36</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_a3572226ee2137c7fbf7487a02b0f560f"><div class="ttname"><a href="usb__ch9_8h.html#a3572226ee2137c7fbf7487a02b0f560f">USB_REQUEST_GET_DESCRIPTOR</a></div><div class="ttdeci">#define USB_REQUEST_GET_DESCRIPTOR</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00044">usb_ch9.h:44</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a1ec9b19c0ed1e66e399ad9cf3c4a6537"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a1ec9b19c0ed1e66e399ad9cf3c4a6537">SETUP_PKT::wLength</a></div><div class="ttdeci">uint16_t wLength</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00198">UsbCore.h:198</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a321b931277d6ce278416dc5d74059016"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a321b931277d6ce278416dc5d74059016">SETUP_PKT::bRequest</a></div><div class="ttdeci">uint8_t bRequest</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00187">UsbCore.h:187</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a8ff697d334dc611720419374acd1e5fb"><div class="ttname"><a href="class_u_s_b.html#a8ff697d334dc611720419374acd1e5fb">USB::setUsbTaskState</a></div><div class="ttdeci">void setUsbTaskState(uint8_t state)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00040">Usb.cpp:40</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a343d4b321cf8e99f0504cb04c7ce8b10"><div class="ttname"><a href="class_u_s_b.html#a343d4b321cf8e99f0504cb04c7ce8b10">USB::dispatchPkt</a></div><div class="ttdeci">uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00401">Usb.cpp:401</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a343d4b321cf8e99f0504cb04c7ce8b10"><div class="ttname"><a href="class_u_s_b.html#a343d4b321cf8e99f0504cb04c7ce8b10">USB::dispatchPkt</a></div><div class="ttdeci">uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00406">Usb.cpp:406</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_ab50c95fb951cdebc78c3e024de1d6d65"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#ab50c95fb951cdebc78c3e024de1d6d65">SETUP_PKT::direction</a></div><div class="ttdeci">uint8_t direction</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00184">UsbCore.h:184</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_af36716855ff65599786d9bdf6e4c11f9"><div class="ttname"><a href="_usb_core_8h.html#af36716855ff65599786d9bdf6e4c11f9">PSETUP_PKT</a></div><div class="ttdeci">struct SETUP_PKT * PSETUP_PKT</div></div>
<div class="ttc" id="ausb__ch9_8h_html_aa17b365c4eb8bd2f6a4d4e4fb5f881c7"><div class="ttname"><a href="usb__ch9_8h.html#aa17b365c4eb8bd2f6a4d4e4fb5f881c7">USB_DESCRIPTOR_CONFIGURATION</a></div><div class="ttdeci">#define USB_DESCRIPTOR_CONFIGURATION</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00071">usb_ch9.h:71</a></div></div>
@ -408,16 +408,16 @@ $(function() {
<div class="ttc" id="aclass_u_s_b_read_parser_html"><div class="ttname"><a href="class_u_s_b_read_parser.html">USBReadParser</a></div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00205">UsbCore.h:205</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a060f3a6423f1e3640aa7b14d5ce72285"><div class="ttname"><a href="_usb_core_8h.html#a060f3a6423f1e3640aa7b14d5ce72285">bmREQ_GET_DESCR</a></div><div class="ttdeci">#define bmREQ_GET_DESCR</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00060">UsbCore.h:60</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a299d9f88d294369ea88b48b5026f4c7e"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a299d9f88d294369ea88b48b5026f4c7e">SETUP_PKT::wIndex</a></div><div class="ttdeci">uint16_t wIndex</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00197">UsbCore.h:197</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a102dab8571035757dd63ed3751993836"><div class="ttname"><a href="class_u_s_b.html#a102dab8571035757dd63ed3751993836">USB::ctrlData</a></div><div class="ttdeci">uint8_t ctrlData(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr, bool direction)</div></div>
<div class="ttc" id="aclass_u_s_b_html_a5eb0d31372d26f0015a0d7be0b9ff4e1"><div class="ttname"><a href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1">USB::DefaultAddressing</a></div><div class="ttdeci">uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00561">Usb.cpp:561</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a5eb0d31372d26f0015a0d7be0b9ff4e1"><div class="ttname"><a href="class_u_s_b.html#a5eb0d31372d26f0015a0d7be0b9ff4e1">USB::DefaultAddressing</a></div><div class="ttdeci">uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00566">Usb.cpp:566</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a8346db8f2219f65257d735834940bc42"><div class="ttname"><a href="class_u_s_b.html#a8346db8f2219f65257d735834940bc42">USB::ForEachUsbDevice</a></div><div class="ttdeci">void ForEachUsbDevice(UsbDeviceHandleFunc pfunc)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00240">UsbCore.h:240</a></div></div>
<div class="ttc" id="aclass_u_s_b_device_config_html_a893ea73deab98be837c257201e7da25a"><div class="ttname"><a href="class_u_s_b_device_config.html#a893ea73deab98be837c257201e7da25a">USBDeviceConfig::Poll</a></div><div class="ttdeci">virtual uint8_t Poll()</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00149">UsbCore.h:149</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a690a55f65b2ce4e69c426b92004a1cc6"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a690a55f65b2ce4e69c426b92004a1cc6">SETUP_PKT::recipient</a></div><div class="ttdeci">uint8_t recipient</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00182">UsbCore.h:182</a></div></div>
<div class="ttc" id="astruct_ep_info_html"><div class="ttname"><a href="struct_ep_info.html">EpInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00039">address.h:39</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a636695a5c3d35cd6b9e31c54edfacd7c"><div class="ttname"><a href="class_u_s_b.html#a636695a5c3d35cd6b9e31c54edfacd7c">USB::ctrlReq</a></div><div class="ttdeci">uint8_t ctrlReq(uint8_t addr, uint8_t ep, uint8_t bmReqType, uint8_t bRequest, uint8_t wValLo, uint8_t wValHi, uint16_t wInd, uint16_t total, uint16_t nbytes, uint8_t *dataptr, USBReadParser *p)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00126">Usb.cpp:126</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a9bbd6cf5a93a6433d2eb97c59b9102d5"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a9bbd6cf5a93a6433d2eb97c59b9102d5">SETUP_PKT::bmRequestType</a></div><div class="ttdeci">uint8_t bmRequestType</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00179">UsbCore.h:179</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_aff8d1b2009c760bc27fb12762bd3c9b6"><div class="ttname"><a href="class_u_s_b.html#aff8d1b2009c760bc27fb12762bd3c9b6">USB::Task</a></div><div class="ttdeci">void Task(void)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00455">Usb.cpp:455</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_aff8d1b2009c760bc27fb12762bd3c9b6"><div class="ttname"><a href="class_u_s_b.html#aff8d1b2009c760bc27fb12762bd3c9b6">USB::Task</a></div><div class="ttdeci">void Task(void)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00460">Usb.cpp:460</a></div></div>
<div class="ttc" id="aclass_u_s_b_html"><div class="ttname"><a href="class_u_s_b.html">USB</a></div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00210">UsbCore.h:210</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_aead4d2040c641d55176854b236804088"><div class="ttname"><a href="class_u_s_b.html#aead4d2040c641d55176854b236804088">USB::inTransfer</a></div><div class="ttdeci">uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data, uint8_t bInterval=0)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00209">Usb.cpp:209</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_aedcc6c06badd14b6fd3b0dda94269ad4"><div class="ttname"><a href="class_u_s_b.html#aedcc6c06badd14b6fd3b0dda94269ad4">USB::SetHubPreMask</a></div><div class="ttdeci">void SetHubPreMask()</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00218">UsbCore.h:218</a></div></div>
@ -431,14 +431,14 @@ $(function() {
<div class="ttc" id="aclass_u_s_b_device_config_html_a12bb63558ded5bb6661bb173b07ff391"><div class="ttname"><a href="class_u_s_b_device_config.html#a12bb63558ded5bb6661bb173b07ff391">USBDeviceConfig::ResetHubPort</a></div><div class="ttdeci">virtual void ResetHubPort(uint8_t port)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00157">UsbCore.h:157</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_aadef005acc40340955d34d9767ef297c"><div class="ttname"><a href="usb__ch9_8h.html#aadef005acc40340955d34d9767ef297c">USB_REQUEST_SET_CONFIGURATION</a></div><div class="ttdeci">#define USB_REQUEST_SET_CONFIGURATION</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00047">usb_ch9.h:47</a></div></div>
<div class="ttc" id="astruct_s_e_t_u_p___p_k_t_html_a68c9436c00560f96e044052c3fb681e9"><div class="ttname"><a href="struct_s_e_t_u_p___p_k_t.html#a68c9436c00560f96e044052c3fb681e9">SETUP_PKT::wValueLo</a></div><div class="ttdeci">uint8_t wValueLo</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00193">UsbCore.h:193</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_aec793bc1f702174d80bca8c66b8c65e8"><div class="ttname"><a href="class_u_s_b.html#aec793bc1f702174d80bca8c66b8c65e8">USB::ctrlStatus</a></div><div class="ttdeci">uint8_t ctrlStatus(uint8_t ep, bool direction, uint16_t nak_limit)</div></div>
<div class="ttc" id="aclass_u_s_b_device_config_html_aef77a1e62f78c04a1aad53e8795ec89e"><div class="ttname"><a href="class_u_s_b_device_config.html#aef77a1e62f78c04a1aad53e8795ec89e">USBDeviceConfig::ConfigureDevice</a></div><div class="ttdeci">virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00141">UsbCore.h:141</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_ae8ea2a106e94f5bb20be2fcbd4e402fb"><div class="ttname"><a href="_usb_core_8h.html#ae8ea2a106e94f5bb20be2fcbd4e402fb">MAX3421E</a></div><div class="ttdeci">MAX3421e&lt; P10, P9 &gt; MAX3421E</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00056">UsbCore.h:56</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_af4965e768593007eacde7644979f56da"><div class="ttname"><a href="_usb_core_8h.html#af4965e768593007eacde7644979f56da">bmREQ_SET</a></div><div class="ttdeci">#define bmREQ_SET</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00061">UsbCore.h:61</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a8ff8cd03496bdcb0ca26f18878ad299d"><div class="ttname"><a href="class_u_s_b.html#a8ff8cd03496bdcb0ca26f18878ad299d">USB::USB</a></div><div class="ttdeci">USB(void)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00025">Usb.cpp:25</a></div></div>
<div class="ttc" id="aaddress_8h_html_ae95131d8d03796566b00a312faa8360a"><div class="ttname"><a href="address_8h.html#ae95131d8d03796566b00a312faa8360a">UsbDeviceHandleFunc</a></div><div class="ttdeci">void(* UsbDeviceHandleFunc)(UsbDevice *pdev)</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00097">address.h:97</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a0282f9f7a0313f957e02449d7313b7b5"><div class="ttname"><a href="_usb_core_8h.html#a0282f9f7a0313f957e02449d7313b7b5">USB_NUMDEVICES</a></div><div class="ttdeci">#define USB_NUMDEVICES</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00112">UsbCore.h:112</a></div></div>
<div class="ttc" id="amax3421e_8h_html_a8816c259368604d0de57f31bcb6c1674"><div class="ttname"><a href="max3421e_8h.html#a8816c259368604d0de57f31bcb6c1674">bmHUBPRE</a></div><div class="ttdeci">#define bmHUBPRE</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00172">max3421e.h:172</a></div></div>

View file

@ -472,7 +472,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_a44416ff64fc0e3691f98addac13d4595"><div class="ttname"><a href="_usb_core_8h.html#a44416ff64fc0e3691f98addac13d4595">USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</a></div><div class="ttdeci">#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00098">UsbCore.h:98</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_o_l_d_html_aa091ff52ba7ad4216b0cd0f18651b755"><div class="ttname"><a href="class_x_b_o_x_o_l_d.html#aa091ff52ba7ad4216b0cd0f18651b755">XBOXOLD::XboxConnected</a></div><div class="ttdeci">bool XboxConnected</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_l_d_8h_source.html#l00141">XBOXOLD.h:141</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a114f266591a03b0eff0f1e6b67d94f85"><div class="ttname"><a href="controller_enums_8h.html#a114f266591a03b0eff0f1e6b67d94f85">ButtonIndex</a></div><div class="ttdeci">constexpr int8_t ButtonIndex(ButtonEnum key)</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00186">controllerEnums.h:186</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a94f7389d205c78830a5441370d7870fda5596231eabd6cf29050967d5ac83ad84"><div class="ttname"><a href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fda5596231eabd6cf29050967d5ac83ad84">Y</a></div><div class="ttdeci">@ Y</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00141">controllerEnums.h:141</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a94f7389d205c78830a5441370d7870fda283fc479650da98250635b9c3c0e7e50"><div class="ttname"><a href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fda283fc479650da98250635b9c3c0e7e50">WHITE</a></div><div class="ttdeci">@ WHITE</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00155">controllerEnums.h:155</a></div></div>
@ -521,7 +521,7 @@ $(function() {
<div class="ttc" id="aversion__helper_8h_html_a48c60b057902adf805797f183286728d"><div class="ttname"><a href="version__helper_8h.html#a48c60b057902adf805797f183286728d">pgm_read_byte</a></div><div class="ttdeci">#define pgm_read_byte(addr)</div><div class="ttdef"><b>Definition:</b> <a href="version__helper_8h_source.html#l00161">version_helper.h:161</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="a_x_b_o_x_o_l_d_8h_html_a3bf8a81e24b9c3df304fdafb06bbeb4e"><div class="ttname"><a href="_x_b_o_x_o_l_d_8h.html#a3bf8a81e24b9c3df304fdafb06bbeb4e">XBOX_OLD_PID4</a></div><div class="ttdeci">#define XBOX_OLD_PID4</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_l_d_8h_source.html#l00041">XBOXOLD.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_o_l_d_html_a2b4d7d994ab6f5e1d1344d4162e9f5fb"><div class="ttname"><a href="class_x_b_o_x_o_l_d.html#a2b4d7d994ab6f5e1d1344d4162e9f5fb">XBOXOLD::pUsb</a></div><div class="ttdeci">USB * pUsb</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_l_d_8h_source.html#l00149">XBOXOLD.h:149</a></div></div>
<div class="ttc" id="a_x_b_o_x_o_l_d_8h_html_af35f872fc33e690571eb99de648e8e96"><div class="ttname"><a href="_x_b_o_x_o_l_d_8h.html#af35f872fc33e690571eb99de648e8e96">XBOX_MAX_ENDPOINTS</a></div><div class="ttdeci">#define XBOX_MAX_ENDPOINTS</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_l_d_8h_source.html#l00043">XBOXOLD.h:43</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a94f7389d205c78830a5441370d7870fdae5bc7ee7d6dda5340a28f91834f10543"><div class="ttname"><a href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fdae5bc7ee7d6dda5340a28f91834f10543">L1</a></div><div class="ttdeci">@ L1</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00100">controllerEnums.h:100</a></div></div>
@ -534,7 +534,7 @@ $(function() {
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="acontroller_enums_8h_html_a94f7389d205c78830a5441370d7870fda78d20b793a10e7c2f1012114803147c3"><div class="ttname"><a href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fda78d20b793a10e7c2f1012114803147c3">L3</a></div><div class="ttdeci">@ L3</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00097">controllerEnums.h:97</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>
<div class="ttc" id="a_x_b_o_x_o_l_d_8h_html_a8e7834e5604c4fb588cceab9258d0568"><div class="ttname"><a href="_x_b_o_x_o_l_d_8h.html#a8e7834e5604c4fb588cceab9258d0568">XBOX_VID</a></div><div class="ttdeci">#define XBOX_VID</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_l_d_8h_source.html#l00034">XBOXOLD.h:34</a></div></div>

View file

@ -582,7 +582,7 @@ $(function() {
<div class="ttc" id="axbox_enums_8h_html_a35901eab017bd1df5d2361634309adbd"><div class="ttname"><a href="xbox_enums_8h.html#a35901eab017bd1df5d2361634309adbd">XBOX_BUTTONS</a></div><div class="ttdeci">const uint16_t XBOX_BUTTONS[]</div><div class="ttdef"><b>Definition:</b> <a href="xbox_enums_8h_source.html#l00041">xboxEnums.h:41</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a44416ff64fc0e3691f98addac13d4595"><div class="ttname"><a href="_usb_core_8h.html#a44416ff64fc0e3691f98addac13d4595">USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</a></div><div class="ttdeci">#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00098">UsbCore.h:98</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_o_n_e_html_a4d0702c6fc0327535d909975670e9284"><div class="ttname"><a href="class_x_b_o_x_o_n_e.html#a4d0702c6fc0327535d909975670e9284">XBOXONE::qNextPollTime</a></div><div class="ttdeci">uint32_t qNextPollTime</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_n_e_8h_source.html#l00192">XBOXONE.h:192</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a114f266591a03b0eff0f1e6b67d94f85"><div class="ttname"><a href="controller_enums_8h.html#a114f266591a03b0eff0f1e6b67d94f85">ButtonIndex</a></div><div class="ttdeci">constexpr int8_t ButtonIndex(ButtonEnum key)</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00186">controllerEnums.h:186</a></div></div>
@ -600,7 +600,7 @@ $(function() {
<div class="ttc" id="a_x_b_o_x_o_n_e_8h_html_a8e9bf59d8bc051ff3fa38e2b327ade6e"><div class="ttname"><a href="_x_b_o_x_o_n_e_8h.html#a8e9bf59d8bc051ff3fa38e2b327ade6e">XBOX_ONE_MAX_ENDPOINTS</a></div><div class="ttdeci">#define XBOX_ONE_MAX_ENDPOINTS</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_n_e_8h_source.html#l00037">XBOXONE.h:37</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_o_n_e_html_a506e8add57ffac652a28e8c5b7e72e85"><div class="ttname"><a href="class_x_b_o_x_o_n_e.html#a506e8add57ffac652a28e8c5b7e72e85">XBOXONE::setRumbleOff</a></div><div class="ttdeci">void setRumbleOff()</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_n_e_8cpp_source.html#l00454">XBOXONE.cpp:454</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_o_n_e_html_a9bd03dd0f2abde83f34635ab72564811"><div class="ttname"><a href="class_x_b_o_x_o_n_e.html#a9bd03dd0f2abde83f34635ab72564811">XBOXONE::getButtonClick</a></div><div class="ttdeci">bool getButtonClick(ButtonEnum b)</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_n_e_8cpp_source.html#l00389">XBOXONE.cpp:389</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="aaddress_8h_html_a517dfa014946e2d087d197312234a1de"><div class="ttname"><a href="address_8h.html#a517dfa014946e2d087d197312234a1de">USB_NAK_MAX_POWER</a></div><div class="ttdeci">#define USB_NAK_MAX_POWER</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00034">address.h:34</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a34dad8f0a0927471137c403216597093a7f1fb2db5381286691f4dec179ed5d5a"><div class="ttname"><a href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093a7f1fb2db5381286691f4dec179ed5d5a">RightHatY</a></div><div class="ttdeci">@ RightHatY</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00221">controllerEnums.h:221</a></div></div>
<div class="ttc" id="ausb__ch9_8h_html_ac1b1bcdd6bd4e8c5a65052e914e028d5"><div class="ttname"><a href="usb__ch9_8h.html#ac1b1bcdd6bd4e8c5a65052e914e028d5">bmUSB_TRANSFER_TYPE</a></div><div class="ttdeci">#define bmUSB_TRANSFER_TYPE</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00094">usb_ch9.h:94</a></div></div>
@ -623,7 +623,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_o_n_e_html_aeb2d90a3d77fc252a12f5ed54c3f370e"><div class="ttname"><a href="class_x_b_o_x_o_n_e.html#aeb2d90a3d77fc252a12f5ed54c3f370e">XBOXONE::Init</a></div><div class="ttdeci">virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_n_e_8cpp_source.html#l00046">XBOXONE.cpp:46</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_o_n_e_html_ac645e477bde4c2c2674ad8916f749651"><div class="ttname"><a href="class_x_b_o_x_o_n_e.html#ac645e477bde4c2c2674ad8916f749651">XBOXONE::Poll</a></div><div class="ttdeci">virtual uint8_t Poll()</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_n_e_8cpp_source.html#l00300">XBOXONE.cpp:300</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="aversion__helper_8h_html_a73809107539df84eaf01f6a4dea4fbff"><div class="ttname"><a href="version__helper_8h.html#a73809107539df84eaf01f6a4dea4fbff">PSTR</a></div><div class="ttdeci">#define PSTR(str)</div><div class="ttdef"><b>Definition:</b> <a href="version__helper_8h_source.html#l00054">version_helper.h:54</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_o_n_e_html_ac6c75dcd5dfd5a9685a049f9bb8cb93f"><div class="ttname"><a href="class_x_b_o_x_o_n_e.html#ac6c75dcd5dfd5a9685a049f9bb8cb93f">XBOXONE::bConfNum</a></div><div class="ttdeci">uint8_t bConfNum</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_n_e_8h_source.html#l00188">XBOXONE.h:188</a></div></div>
@ -637,7 +637,7 @@ $(function() {
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="aclass_x_b_o_x_o_n_e_html_a958f262ed66dd5bf0ad7dfd54a369659"><div class="ttname"><a href="class_x_b_o_x_o_n_e.html#a958f262ed66dd5bf0ad7dfd54a369659">XBOXONE::bNumEP</a></div><div class="ttdeci">uint8_t bNumEP</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_n_e_8h_source.html#l00190">XBOXONE.h:190</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html_a8ee7f1bafac335258c6e742969387f57"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html#a8ee7f1bafac335258c6e742969387f57">USB_ENDPOINT_DESCRIPTOR::bmAttributes</a></div><div class="ttdeci">uint8_t bmAttributes</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00152">usb_ch9.h:152</a></div></div>

View file

@ -676,7 +676,7 @@ $(function() {
<div class="ttc" id="aclass_x_b_o_x_r_e_c_v_html_a816d81caa0bdbf8523acb69e7693a142"><div class="ttname"><a href="class_x_b_o_x_r_e_c_v.html#a816d81caa0bdbf8523acb69e7693a142">XBOXRECV::setLedOn</a></div><div class="ttdeci">void setLedOn(LEDEnum l, uint8_t controller=0)</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8cpp_source.html#l00518">XBOXRECV.cpp:518</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_r_e_c_v_html_a7c3aadc230ee4f8622a4d27dd716254d"><div class="ttname"><a href="class_x_b_o_x_r_e_c_v.html#a7c3aadc230ee4f8622a4d27dd716254d">XBOXRECV::getButtonPress</a></div><div class="ttdeci">uint8_t getButtonPress(ButtonEnum b, uint8_t controller=0)</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8cpp_source.html#l00410">XBOXRECV.cpp:410</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a114f266591a03b0eff0f1e6b67d94f85"><div class="ttname"><a href="controller_enums_8h.html#a114f266591a03b0eff0f1e6b67d94f85">ButtonIndex</a></div><div class="ttdeci">constexpr int8_t ButtonIndex(ButtonEnum key)</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00186">controllerEnums.h:186</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_r_e_c_v_html_a0bff2ed2e08cfbd657b5731ae1abec68"><div class="ttname"><a href="class_x_b_o_x_r_e_c_v.html#a0bff2ed2e08cfbd657b5731ae1abec68">XBOXRECV::setLedBlink</a></div><div class="ttdeci">void setLedBlink(LEDEnum l, uint8_t controller=0)</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8cpp_source.html#l00525">XBOXRECV.cpp:525</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_r_e_c_v_html_aaa7a0d0861b8303a4b1654684d185b4f"><div class="ttname"><a href="class_x_b_o_x_r_e_c_v.html#aaa7a0d0861b8303a4b1654684d185b4f">XBOXRECV::getBatteryLevel</a></div><div class="ttdeci">uint8_t getBatteryLevel(uint8_t controller=0)</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8cpp_source.html#l00469">XBOXRECV.cpp:469</a></div></div>
@ -728,7 +728,7 @@ $(function() {
<div class="ttc" id="aclass_x_b_o_x_r_e_c_v_html_ac07faada38e159f1e7831d90863ebe3a"><div class="ttname"><a href="class_x_b_o_x_r_e_c_v.html#ac07faada38e159f1e7831d90863ebe3a">XBOXRECV::Xbox360Connected</a></div><div class="ttdeci">uint8_t Xbox360Connected[4]</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8h_source.html#l00231">XBOXRECV.h:231</a></div></div>
<div class="ttc" id="a_x_b_o_x_r_e_c_v_8h_html_a6842663964e470b86786f046e4bc30d9"><div class="ttname"><a href="_x_b_o_x_r_e_c_v_8h.html#a6842663964e470b86786f046e4bc30d9">XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID</a></div><div class="ttdeci">#define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8h_source.html#l00046">XBOXRECV.h:46</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a70df64e026046bc352983127b7ae2cf0aac132f2982b98bcaa3445e535a03ff75"><div class="ttname"><a href="controller_enums_8h.html#a70df64e026046bc352983127b7ae2cf0aac132f2982b98bcaa3445e535a03ff75">OFF</a></div><div class="ttdeci">@ OFF</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00032">controllerEnums.h:32</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="a_x_b_o_x_o_l_d_8h_html_af35f872fc33e690571eb99de648e8e96"><div class="ttname"><a href="_x_b_o_x_o_l_d_8h.html#af35f872fc33e690571eb99de648e8e96">XBOX_MAX_ENDPOINTS</a></div><div class="ttdeci">#define XBOX_MAX_ENDPOINTS</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_l_d_8h_source.html#l00043">XBOXOLD.h:43</a></div></div>
<div class="ttc" id="aversion__helper_8h_html_a73809107539df84eaf01f6a4dea4fbff"><div class="ttname"><a href="version__helper_8h.html#a73809107539df84eaf01f6a4dea4fbff">PSTR</a></div><div class="ttdeci">#define PSTR(str)</div><div class="ttdef"><b>Definition:</b> <a href="version__helper_8h_source.html#l00054">version_helper.h:54</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_r_e_c_v_html_ad0e6b53a818516b7d6af0beaa8cebc7a"><div class="ttname"><a href="class_x_b_o_x_r_e_c_v.html#ad0e6b53a818516b7d6af0beaa8cebc7a">XBOXRECV::Release</a></div><div class="ttdeci">uint8_t Release()</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8cpp_source.html#l00283">XBOXRECV.cpp:283</a></div></div>
@ -741,7 +741,7 @@ $(function() {
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_a96a7af8bc5ba78235312e1084a5ee229"><div class="ttname"><a href="_usb_core_8h.html#a96a7af8bc5ba78235312e1084a5ee229">USB_ERROR_FailGetDevDescr</a></div><div class="ttdeci">#define USB_ERROR_FailGetDevDescr</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00102">UsbCore.h:102</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_r_e_c_v_html_a5ff16bba78f05af3023f395a342b625c"><div class="ttname"><a href="class_x_b_o_x_r_e_c_v.html#a5ff16bba78f05af3023f395a342b625c">XBOXRECV::XboxReceiverConnected</a></div><div class="ttdeci">bool XboxReceiverConnected</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8h_source.html#l00225">XBOXRECV.h:225</a></div></div>

View file

@ -452,7 +452,7 @@ $(function() {
<div class="ttc" id="aclass_x_b_o_x_u_s_b_html_a5e9c00af9f4b978c53819791b0a0eb65"><div class="ttname"><a href="class_x_b_o_x_u_s_b.html#a5e9c00af9f4b978c53819791b0a0eb65">XBOXUSB::bAddress</a></div><div class="ttdeci">uint8_t bAddress</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_u_s_b_8h_source.html#l00191">XBOXUSB.h:191</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_u_s_b_html_a9d2ad06354787bc252058bb28015b56e"><div class="ttname"><a href="class_x_b_o_x_u_s_b.html#a9d2ad06354787bc252058bb28015b56e">XBOXUSB::Init</a></div><div class="ttdeci">uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_u_s_b_8cpp_source.html#l00039">XBOXUSB.cpp:39</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a114f266591a03b0eff0f1e6b67d94f85"><div class="ttname"><a href="controller_enums_8h.html#a114f266591a03b0eff0f1e6b67d94f85">ButtonIndex</a></div><div class="ttdeci">constexpr int8_t ButtonIndex(ButtonEnum key)</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00186">controllerEnums.h:186</a></div></div>
<div class="ttc" id="a_x_b_o_x_o_l_d_8h_html_a4fd9ad9bf7a7d5767940c2ec224ef5e8"><div class="ttname"><a href="_x_b_o_x_o_l_d_8h.html#a4fd9ad9bf7a7d5767940c2ec224ef5e8">XBOX_INPUT_PIPE</a></div><div class="ttdeci">#define XBOX_INPUT_PIPE</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_l_d_8h_source.html#l00030">XBOXOLD.h:30</a></div></div>
<div class="ttc" id="astruct_ep_info_html_a9f92be74c75c037b39e2cae1eb49b89b"><div class="ttname"><a href="struct_ep_info.html#a9f92be74c75c037b39e2cae1eb49b89b">EpInfo::epAddr</a></div><div class="ttdeci">uint8_t epAddr</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00040">address.h:40</a></div></div>
@ -497,7 +497,7 @@ $(function() {
<div class="ttc" id="aclass_x_b_o_x_u_s_b_html_a1c779ae5483a2f73426650242a37d868"><div class="ttname"><a href="class_x_b_o_x_u_s_b.html#a1c779ae5483a2f73426650242a37d868">XBOXUSB::Xbox360Connected</a></div><div class="ttdeci">bool Xbox360Connected</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_u_s_b_8h_source.html#l00181">XBOXUSB.h:181</a></div></div>
<div class="ttc" id="a_x_b_o_x_r_e_c_v_8h_html_a6842663964e470b86786f046e4bc30d9"><div class="ttname"><a href="_x_b_o_x_r_e_c_v_8h.html#a6842663964e470b86786f046e4bc30d9">XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID</a></div><div class="ttdeci">#define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_r_e_c_v_8h_source.html#l00046">XBOXRECV.h:46</a></div></div>
<div class="ttc" id="acontroller_enums_8h_html_a70df64e026046bc352983127b7ae2cf0aac132f2982b98bcaa3445e535a03ff75"><div class="ttname"><a href="controller_enums_8h.html#a70df64e026046bc352983127b7ae2cf0aac132f2982b98bcaa3445e535a03ff75">OFF</a></div><div class="ttdeci">@ OFF</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00032">controllerEnums.h:32</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="a_x_b_o_x_o_l_d_8h_html_af35f872fc33e690571eb99de648e8e96"><div class="ttname"><a href="_x_b_o_x_o_l_d_8h.html#af35f872fc33e690571eb99de648e8e96">XBOX_MAX_ENDPOINTS</a></div><div class="ttdeci">#define XBOX_MAX_ENDPOINTS</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_o_l_d_8h_source.html#l00043">XBOXOLD.h:43</a></div></div>
<div class="ttc" id="aversion__helper_8h_html_a73809107539df84eaf01f6a4dea4fbff"><div class="ttname"><a href="version__helper_8h.html#a73809107539df84eaf01f6a4dea4fbff">PSTR</a></div><div class="ttdeci">#define PSTR(str)</div><div class="ttdef"><b>Definition:</b> <a href="version__helper_8h_source.html#l00054">version_helper.h:54</a></div></div>
<div class="ttc" id="aclass_x_b_o_x_u_s_b_html_ae70ae50ed8188a2bf8c25d0ee17f54d9"><div class="ttname"><a href="class_x_b_o_x_u_s_b.html#ae70ae50ed8188a2bf8c25d0ee17f54d9">XBOXUSB::setRumbleOn</a></div><div class="ttdeci">void setRumbleOn(uint8_t lValue, uint8_t rValue)</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_u_s_b_8cpp_source.html#l00346">XBOXUSB.cpp:346</a></div></div>
@ -510,7 +510,7 @@ $(function() {
<div class="ttc" id="acontroller_enums_8h_html_a34dad8f0a0927471137c403216597093a383cb8895dd296b7f69ce845ed16b0ca"><div class="ttname"><a href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093a383cb8895dd296b7f69ce845ed16b0ca">LeftHatX</a></div><div class="ttdeci">@ LeftHatX</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00215">controllerEnums.h:215</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>
<div class="ttc" id="a_x_b_o_x_u_s_b_8h_html_aaa3e91675875fbf14a37369f9513874a"><div class="ttname"><a href="_x_b_o_x_u_s_b_8h.html#aaa3e91675875fbf14a37369f9513874a">XBOX_REPORT_BUFFER_SIZE</a></div><div class="ttdeci">#define XBOX_REPORT_BUFFER_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="_x_b_o_x_u_s_b_8h_source.html#l00048">XBOXUSB.h:48</a></div></div>

View file

@ -456,7 +456,7 @@ $(function() {
<div class="ttc" id="aclass_address_pool_html_a97df4ef42e50960ce2165f4cdb53e590"><div class="ttname"><a href="class_address_pool.html#a97df4ef42e50960ce2165f4cdb53e590">AddressPool::AllocAddress</a></div><div class="ttdeci">virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_a44416ff64fc0e3691f98addac13d4595"><div class="ttname"><a href="_usb_core_8h.html#a44416ff64fc0e3691f98addac13d4595">USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</a></div><div class="ttdeci">#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00098">UsbCore.h:98</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
<div class="ttc" id="aclass_a_d_k_html_ab28e3a19569c27f3ed5362e9800065c1"><div class="ttname"><a href="class_a_d_k.html#ab28e3a19569c27f3ed5362e9800065c1">ADK::pUsb</a></div><div class="ttdeci">USB * pUsb</div><div class="ttdef"><b>Definition:</b> <a href="adk_8h_source.html#l00073">adk.h:73</a></div></div>
<div class="ttc" id="aclass_a_d_k_html_ac37bde02b6ed1436712d3619afb07c84"><div class="ttname"><a href="class_a_d_k.html#ac37bde02b6ed1436712d3619afb07c84">ADK::SndData</a></div><div class="ttdeci">uint8_t SndData(uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="adk_8cpp_source.html#l00353">adk.cpp:353</a></div></div>
@ -469,7 +469,7 @@ $(function() {
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00105">usb_ch9.h:105</a></div></div>
<div class="ttc" id="astruct_ep_info_html_a3a5b1c017a034cd9e06e76729e727c46"><div class="ttname"><a href="struct_ep_info.html#a3a5b1c017a034cd9e06e76729e727c46">EpInfo::bmNakPower</a></div><div class="ttdeci">uint8_t bmNakPower</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00049">address.h:49</a></div></div>
<div class="ttc" id="aadk_8h_html_a32e861258886323d4dbcf066641597a4"><div class="ttname"><a href="adk_8h.html#a32e861258886323d4dbcf066641597a4">ADK_PID</a></div><div class="ttdeci">#define ADK_PID</div><div class="ttdef"><b>Definition:</b> <a href="adk_8h_source.html#l00026">adk.h:26</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="aclass_a_d_k_html_a7f64af34d7890f87ceab5d144f6c26ef"><div class="ttname"><a href="class_a_d_k.html#a7f64af34d7890f87ceab5d144f6c26ef">ADK::Release</a></div><div class="ttdeci">uint8_t Release()</div><div class="ttdef"><b>Definition:</b> <a href="adk_8cpp_source.html#l00337">adk.cpp:337</a></div></div>
<div class="ttc" id="aaddress_8h_html_a517dfa014946e2d087d197312234a1de"><div class="ttname"><a href="address_8h.html#a517dfa014946e2d087d197312234a1de">USB_NAK_MAX_POWER</a></div><div class="ttdeci">#define USB_NAK_MAX_POWER</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00034">address.h:34</a></div></div>
<div class="ttc" id="aclass_a_d_k_html_a14f24ca8246c5b6126a5aa72cf6ee120"><div class="ttname"><a href="class_a_d_k.html#a14f24ca8246c5b6126a5aa72cf6ee120">ADK::ConfigureDevice</a></div><div class="ttdeci">uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="adk_8cpp_source.html#l00059">adk.cpp:59</a></div></div>
@ -491,7 +491,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="aclass_a_d_k_html_adf969d306da15baecd5c59bbb568053e"><div class="ttname"><a href="class_a_d_k.html#adf969d306da15baecd5c59bbb568053e">ADK::bNumEP</a></div><div class="ttdeci">uint8_t bNumEP</div><div class="ttdef"><b>Definition:</b> <a href="adk_8h_source.html#l00077">adk.h:77</a></div></div>
<div class="ttc" id="aclass_a_d_k_html_ac4bd3303b99921289c3f59e2df219e50"><div class="ttname"><a href="class_a_d_k.html#ac4bd3303b99921289c3f59e2df219e50">ADK::PrintEndpointDescriptor</a></div><div class="ttdeci">void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="adk_8cpp_source.html#l00357">adk.cpp:357</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="aadk_8h_html_a962954d4b489994aa347721c582fe242"><div class="ttname"><a href="adk_8h.html#a962954d4b489994aa347721c582fe242">ACCESSORY_STRING_MODEL</a></div><div class="ttdeci">#define ACCESSORY_STRING_MODEL</div><div class="ttdef"><b>Definition:</b> <a href="adk_8h_source.html#l00043">adk.h:43</a></div></div>
<div class="ttc" id="amacros_8h_html_afc6fe7f947af35317a49a4dcfc8189fd"><div class="ttname"><a href="macros_8h.html#afc6fe7f947af35317a49a4dcfc8189fd">USBTRACE</a></div><div class="ttdeci">#define USBTRACE(s)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00082">macros.h:82</a></div></div>
@ -501,7 +501,7 @@ $(function() {
<div class="ttc" id="amacros_8h_html_adbe3f00986df48a9254f8bf0992041d3"><div class="ttname"><a href="macros_8h.html#adbe3f00986df48a9254f8bf0992041d3">USBTRACE2</a></div><div class="ttdeci">#define USBTRACE2(s, r)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00084">macros.h:84</a></div></div>
<div class="ttc" id="amessage_8h_html_a03e4088aafca36fd7a4be69e3a22b601"><div class="ttname"><a href="message_8h.html#a03e4088aafca36fd7a4be69e3a22b601">NotifyFailSetConfDescr</a></div><div class="ttdeci">#define NotifyFailSetConfDescr(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00060">message.h:60</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html_a8ee7f1bafac335258c6e742969387f57"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html#a8ee7f1bafac335258c6e742969387f57">USB_ENDPOINT_DESCRIPTOR::bmAttributes</a></div><div class="ttdeci">uint8_t bmAttributes</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00152">usb_ch9.h:152</a></div></div>

View file

@ -294,7 +294,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_abb99f6b1f38ff79ec678cd957ac86758"><div class="ttname"><a href="_usb_core_8h.html#abb99f6b1f38ff79ec678cd957ac86758">USB_CLASS_COM_AND_CDC_CTRL</a></div><div class="ttdeci">#define USB_CLASS_COM_AND_CDC_CTRL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00071">UsbCore.h:71</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_x_r21_b1411_html_a51792c0fc43033bb866f7438e497517d"><div class="ttname"><a href="class_x_r21_b1411.html#a51792c0fc43033bb866f7438e497517d">XR21B1411::autoflowDSR</a></div><div class="ttdeci">virtual void autoflowDSR(bool s)</div><div class="ttdef"><b>Definition:</b> <a href="cdc___x_r21_b1411_8h_source.html#l00176">cdc_XR21B1411.h:176</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_ab171c6eefd542e7d4a7ce555d2f2f389"><div class="ttname"><a href="class_a_c_m.html#ab171c6eefd542e7d4a7ce555d2f2f389">ACM::wide</a></div><div class="ttdeci">virtual void wide(bool s)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00244">cdcacm.h:244</a></div></div>
<div class="ttc" id="aclass_c_d_c_async_oper_html_a64094face98735ad8f1b3a1a483d7d6c"><div class="ttname"><a href="class_c_d_c_async_oper.html#a64094face98735ad8f1b3a1a483d7d6c">CDCAsyncOper::OnInit</a></div><div class="ttdeci">virtual uint8_t OnInit(ACM *pacm)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00131">cdcacm.h:131</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_a7dae7df3ce2685f96775f2a0fb8658ae"><div class="ttname"><a href="_usb_core_8h.html#a7dae7df3ce2685f96775f2a0fb8658ae">USB_CLASS_CDC_DATA</a></div><div class="ttdeci">#define USB_CLASS_CDC_DATA</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00078">UsbCore.h:78</a></div></div>
@ -306,7 +306,7 @@ $(function() {
<div class="ttc" id="aconfdescparser_8h_html_a640401f5d117e10f0f0fd26f74f3975e"><div class="ttname"><a href="confdescparser_8h.html#a640401f5d117e10f0f0fd26f74f3975e">CP_MASK_COMPARE_SUBCLASS</a></div><div class="ttdeci">#define CP_MASK_COMPARE_SUBCLASS</div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00040">confdescparser.h:40</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00105">usb_ch9.h:105</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_a60fb6a365b78fb80a4a9842e364cf1a3"><div class="ttname"><a href="class_a_c_m.html#a60fb6a365b78fb80a4a9842e364cf1a3">ACM::epInfo</a></div><div class="ttdeci">EpInfo epInfo[ACM_MAX_ENDPOINTS]</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00183">cdcacm.h:183</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html_a92d96e9016c96043dccf56872d13a628"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html#a92d96e9016c96043dccf56872d13a628">USB_DEVICE_DESCRIPTOR::bMaxPacketSize0</a></div><div class="ttdeci">uint8_t bMaxPacketSize0</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00112">usb_ch9.h:112</a></div></div>
<div class="ttc" id="aconfdescparser_8h_html_a1e4d3b53bdd61abb61f20d5973e194d7"><div class="ttname"><a href="confdescparser_8h.html#a1e4d3b53bdd61abb61f20d5973e194d7">CP_MASK_COMPARE_PROTOCOL</a></div><div class="ttdeci">#define CP_MASK_COMPARE_PROTOCOL</div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00041">confdescparser.h:41</a></div></div>
<div class="ttc" id="astruct_ep_info_html"><div class="ttname"><a href="struct_ep_info.html">EpInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00039">address.h:39</a></div></div>
@ -320,7 +320,7 @@ $(function() {
<div class="ttc" id="aclass_x_r21_b1411_html_adbaf541661c1938fa33a9cedd9e9a4ba"><div class="ttname"><a href="class_x_r21_b1411.html#adbaf541661c1938fa33a9cedd9e9a4ba">XR21B1411::Init</a></div><div class="ttdeci">uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="cdc___x_r21_b1411_8cpp_source.html#l00025">cdc_XR21B1411.cpp:25</a></div></div>
<div class="ttc" id="astruct_usb_device_html"><div class="ttname"><a href="struct_usb_device.html">UsbDevice</a></div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00082">address.h:82</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_a9adb07c91a554fdd9ebdd7357ed78dfc"><div class="ttname"><a href="class_a_c_m.html#a9adb07c91a554fdd9ebdd7357ed78dfc">ACM::_enhanced_status</a></div><div class="ttdeci">tty_features _enhanced_status</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00175">cdcacm.h:175</a></div></div>
<div class="ttc" id="aclass_x_r21_b1411_html_a53b88b7631d3f6ebfb8c5a01fae96dbe"><div class="ttname"><a href="class_x_r21_b1411.html#a53b88b7631d3f6ebfb8c5a01fae96dbe">XR21B1411::autoflowRTS</a></div><div class="ttdeci">virtual void autoflowRTS(bool s)</div><div class="ttdef"><b>Definition:</b> <a href="cdc___x_r21_b1411_8h_source.html#l00145">cdc_XR21B1411.h:145</a></div></div>
@ -333,7 +333,7 @@ $(function() {
<div class="ttc" id="amessage_8h_html_a03e4088aafca36fd7a4be69e3a22b601"><div class="ttname"><a href="message_8h.html#a03e4088aafca36fd7a4be69e3a22b601">NotifyFailSetConfDescr</a></div><div class="ttdeci">#define NotifyFailSetConfDescr(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00060">message.h:60</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>
<div class="ttc" id="acdc___x_r21_b1411_8h_html"><div class="ttname"><a href="cdc___x_r21_b1411_8h.html">cdc_XR21B1411.h</a></div></div>

View file

@ -457,7 +457,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_abb99f6b1f38ff79ec678cd957ac86758"><div class="ttname"><a href="_usb_core_8h.html#abb99f6b1f38ff79ec678cd957ac86758">USB_CLASS_COM_AND_CDC_CTRL</a></div><div class="ttdeci">#define USB_CLASS_COM_AND_CDC_CTRL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00071">UsbCore.h:71</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_aeb60ec7876488be8b15a1ed642ac247c"><div class="ttname"><a href="class_a_c_m.html#aeb60ec7876488be8b15a1ed642ac247c">ACM::half_duplex</a></div><div class="ttdeci">virtual void half_duplex(bool s)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00241">cdcacm.h:241</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_ab171c6eefd542e7d4a7ce555d2f2f389"><div class="ttname"><a href="class_a_c_m.html#ab171c6eefd542e7d4a7ce555d2f2f389">ACM::wide</a></div><div class="ttdeci">virtual void wide(bool s)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00244">cdcacm.h:244</a></div></div>
<div class="ttc" id="acdcacm_8h_html_ad0912dac888d01142b225b0c6f8a508f"><div class="ttname"><a href="cdcacm_8h.html#ad0912dac888d01142b225b0c6f8a508f">CDC_GET_COMM_FEATURE</a></div><div class="ttdeci">#define CDC_GET_COMM_FEATURE</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00054">cdcacm.h:54</a></div></div>
@ -483,7 +483,7 @@ $(function() {
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00105">usb_ch9.h:105</a></div></div>
<div class="ttc" id="astruct_ep_info_html_a3a5b1c017a034cd9e06e76729e727c46"><div class="ttname"><a href="struct_ep_info.html#a3a5b1c017a034cd9e06e76729e727c46">EpInfo::bmNakPower</a></div><div class="ttdeci">uint8_t bmNakPower</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00049">address.h:49</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_a60fb6a365b78fb80a4a9842e364cf1a3"><div class="ttname"><a href="class_a_c_m.html#a60fb6a365b78fb80a4a9842e364cf1a3">ACM::epInfo</a></div><div class="ttdeci">EpInfo epInfo[ACM_MAX_ENDPOINTS]</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00183">cdcacm.h:183</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="acdcacm_8h_html_a868c480caf0abda6b458c82281dda8ad"><div class="ttname"><a href="cdcacm_8h.html#a868c480caf0abda6b458c82281dda8ad">CDC_SEND_BREAK</a></div><div class="ttdeci">#define CDC_SEND_BREAK</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00065">cdcacm.h:65</a></div></div>
<div class="ttc" id="acdcacm_8h_html_af2ac2e2644603a3d1013be940c43314d"><div class="ttname"><a href="cdcacm_8h.html#af2ac2e2644603a3d1013be940c43314d">bmREQ_CDCIN</a></div><div class="ttdeci">#define bmREQ_CDCIN</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00023">cdcacm.h:23</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_ac96febbd5ffb0aa64027a312b4bf9243"><div class="ttname"><a href="class_a_c_m.html#ac96febbd5ffb0aa64027a312b4bf9243">ACM::autoflowDSR</a></div><div class="ttdeci">virtual void autoflowDSR(bool s)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00235">cdcacm.h:235</a></div></div>
@ -516,7 +516,7 @@ $(function() {
<div class="ttc" id="acdcacm_8h_html_a11c392243dec4d03970f1eaa1f8053ae"><div class="ttname"><a href="cdcacm_8h.html#a11c392243dec4d03970f1eaa1f8053ae">CDC_SET_CONTROL_LINE_STATE</a></div><div class="ttdeci">#define CDC_SET_CONTROL_LINE_STATE</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00064">cdcacm.h:64</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="acdcacm_8h_html"><div class="ttname"><a href="cdcacm_8h.html">cdcacm.h</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_a9adb07c91a554fdd9ebdd7357ed78dfc"><div class="ttname"><a href="class_a_c_m.html#a9adb07c91a554fdd9ebdd7357ed78dfc">ACM::_enhanced_status</a></div><div class="ttdeci">tty_features _enhanced_status</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00175">cdcacm.h:175</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_af2e08e5f03f17ed039985147a7129bbd"><div class="ttname"><a href="class_a_c_m.html#af2e08e5f03f17ed039985147a7129bbd">ACM::SetControlLineState</a></div><div class="ttdeci">uint8_t SetControlLineState(uint8_t state)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8cpp_source.html#l00336">cdcacm.cpp:336</a></div></div>
@ -534,7 +534,7 @@ $(function() {
<div class="ttc" id="aclass_a_c_m_html_a79eb8706c7f1432593fb2f2eee0da504"><div class="ttname"><a href="class_a_c_m.html#a79eb8706c7f1432593fb2f2eee0da504">ACM::SetLineCoding</a></div><div class="ttdeci">uint8_t SetLineCoding(const LINE_CODING *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8cpp_source.html#l00320">cdcacm.cpp:320</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_a2b7125159dc81b1a896ff23cefc71938"><div class="ttname"><a href="class_a_c_m.html#a2b7125159dc81b1a896ff23cefc71938">ACM::enhanced_features</a></div><div class="ttdeci">virtual tty_features enhanced_features(void)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00221">cdcacm.h:221</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>

View file

@ -498,7 +498,7 @@ $(function() {
<div class="ttc" id="aclass_f_t_d_i_html_a5f383dd8eb114563194da011f1d613fd"><div class="ttname"><a href="class_f_t_d_i.html#a5f383dd8eb114563194da011f1d613fd">FTDI::Poll</a></div><div class="ttdeci">uint8_t Poll()</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8cpp_source.html#l00278">cdcftdi.cpp:278</a></div></div>
<div class="ttc" id="aclass_f_t_d_i_async_oper_html_a3993597b080c11c8d1d18dd8017a8f82"><div class="ttname"><a href="class_f_t_d_i_async_oper.html#a3993597b080c11c8d1d18dd8017a8f82">FTDIAsyncOper::OnRelease</a></div><div class="ttdeci">virtual uint8_t OnRelease(FTDI *pftdi)</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8h_source.html#l00088">cdcftdi.h:88</a></div></div>
<div class="ttc" id="aclass_f_t_d_i_html_aadee262e2eda31deda790d5d10090b6f"><div class="ttname"><a href="class_f_t_d_i.html#aadee262e2eda31deda790d5d10090b6f">FTDI::Release</a></div><div class="ttdeci">uint8_t Release()</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8cpp_source.html#l00267">cdcftdi.cpp:267</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="acdcftdi_8h_html_a92ff48c614d1c236c34d7b2dc4d28ad2"><div class="ttname"><a href="cdcftdi_8h.html#a92ff48c614d1c236c34d7b2dc4d28ad2">bmREQ_FTDI_OUT</a></div><div class="ttdeci">#define bmREQ_FTDI_OUT</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8h_source.html#l00022">cdcftdi.h:22</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
<div class="ttc" id="amessage_8h_html_a38aabfb47a8bf743b0532e356c39faaf"><div class="ttname"><a href="message_8h.html#a38aabfb47a8bf743b0532e356c39faaf">NotifyFailGetConfDescr</a></div><div class="ttdeci">#define NotifyFailGetConfDescr(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00059">message.h:59</a></div></div>
@ -512,7 +512,7 @@ $(function() {
<div class="ttc" id="astruct_ep_info_html_a3a5b1c017a034cd9e06e76729e727c46"><div class="ttname"><a href="struct_ep_info.html#a3a5b1c017a034cd9e06e76729e727c46">EpInfo::bmNakPower</a></div><div class="ttdeci">uint8_t bmNakPower</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00049">address.h:49</a></div></div>
<div class="ttc" id="aclass_f_t_d_i_html_aa367ae72fbfda931cae8ec751e9dc434"><div class="ttname"><a href="class_f_t_d_i.html#aa367ae72fbfda931cae8ec751e9dc434">FTDI::RcvData</a></div><div class="ttdeci">uint8_t RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8cpp_source.html#l00377">cdcftdi.cpp:377</a></div></div>
<div class="ttc" id="aclass_f_t_d_i_html_a86130f30e67e934346c3c7faf5ee6c56"><div class="ttname"><a href="class_f_t_d_i.html#a86130f30e67e934346c3c7faf5ee6c56">FTDI::SetModemControl</a></div><div class="ttdeci">uint8_t SetModemControl(uint16_t control)</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8cpp_source.html#l00353">cdcftdi.cpp:353</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html_a92d96e9016c96043dccf56872d13a628"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html#a92d96e9016c96043dccf56872d13a628">USB_DEVICE_DESCRIPTOR::bMaxPacketSize0</a></div><div class="ttdeci">uint8_t bMaxPacketSize0</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00112">usb_ch9.h:112</a></div></div>
<div class="ttc" id="aclass_f_t_d_i_html_a90309b11a160bad9ceb0b77545b7a240"><div class="ttname"><a href="class_f_t_d_i.html#a90309b11a160bad9ceb0b77545b7a240">FTDI::SndData</a></div><div class="ttdeci">uint8_t SndData(uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8cpp_source.html#l00385">cdcftdi.cpp:385</a></div></div>
<div class="ttc" id="acdcftdi_8h_html"><div class="ttname"><a href="cdcftdi_8h.html">cdcftdi.h</a></div></div>
@ -536,7 +536,7 @@ $(function() {
<div class="ttc" id="aclass_f_t_d_i_async_oper_html_a1fe60b9f94fc0adc829918f51d8d7459"><div class="ttname"><a href="class_f_t_d_i_async_oper.html#a1fe60b9f94fc0adc829918f51d8d7459">FTDIAsyncOper::OnInit</a></div><div class="ttdeci">virtual uint8_t OnInit(FTDI *pftdi)</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8h_source.html#l00084">cdcftdi.h:84</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="aclass_f_t_d_i_html_a97b64a4ff782525411423b2f311d85d7"><div class="ttname"><a href="class_f_t_d_i.html#a97b64a4ff782525411423b2f311d85d7">FTDI::SetLatency</a></div><div class="ttdeci">uint8_t SetLatency(uint8_t l)</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8cpp_source.html#l00335">cdcftdi.cpp:335</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="amacros_8h_html_afc6fe7f947af35317a49a4dcfc8189fd"><div class="ttname"><a href="macros_8h.html#afc6fe7f947af35317a49a4dcfc8189fd">USBTRACE</a></div><div class="ttdeci">#define USBTRACE(s)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00082">macros.h:82</a></div></div>
<div class="ttc" id="aversion__helper_8h_html_a73809107539df84eaf01f6a4dea4fbff"><div class="ttname"><a href="version__helper_8h.html#a73809107539df84eaf01f6a4dea4fbff">PSTR</a></div><div class="ttdeci">#define PSTR(str)</div><div class="ttdef"><b>Definition:</b> <a href="version__helper_8h_source.html#l00054">version_helper.h:54</a></div></div>
@ -548,7 +548,7 @@ $(function() {
<div class="ttc" id="aclass_f_t_d_i_html_af36414f3137edd44ec007978db2ea712"><div class="ttname"><a href="class_f_t_d_i.html#af36414f3137edd44ec007978db2ea712">FTDI::FTDI</a></div><div class="ttdeci">FTDI(USB *pusb, FTDIAsyncOper *pasync, uint16_t idProduct=FTDI_PID)</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8cpp_source.html#l00023">cdcftdi.cpp:23</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>
<div class="ttc" id="aclass_f_t_d_i_html_a3e3f771b9f2a99fcedf7ed665b597109"><div class="ttname"><a href="class_f_t_d_i.html#a3e3f771b9f2a99fcedf7ed665b597109">FTDI::EndpointXtract</a></div><div class="ttdeci">void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)</div><div class="ttdef"><b>Definition:</b> <a href="cdcftdi_8cpp_source.html#l00237">cdcftdi.cpp:237</a></div></div>

View file

@ -329,7 +329,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_a44416ff64fc0e3691f98addac13d4595"><div class="ttname"><a href="_usb_core_8h.html#a44416ff64fc0e3691f98addac13d4595">USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</a></div><div class="ttdeci">#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00098">UsbCore.h:98</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html_aa4e565c598b6605cbcfe8cab66f99e65"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html#aa4e565c598b6605cbcfe8cab66f99e65">USB_DEVICE_DESCRIPTOR::bcdDevice</a></div><div class="ttdeci">uint16_t bcdDevice</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00115">usb_ch9.h:115</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_c_d_c_async_oper_html_a64094face98735ad8f1b3a1a483d7d6c"><div class="ttname"><a href="class_c_d_c_async_oper.html#a64094face98735ad8f1b3a1a483d7d6c">CDCAsyncOper::OnInit</a></div><div class="ttdeci">virtual uint8_t OnInit(ACM *pacm)</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00131">cdcacm.h:131</a></div></div>
<div class="ttc" id="amessage_8h_html_a38aabfb47a8bf743b0532e356c39faaf"><div class="ttname"><a href="message_8h.html#a38aabfb47a8bf743b0532e356c39faaf">NotifyFailGetConfDescr</a></div><div class="ttdeci">#define NotifyFailGetConfDescr(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00059">message.h:59</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_ae9a10861da80510a54942a511ce9009e"><div class="ttname"><a href="class_a_c_m.html#ae9a10861da80510a54942a511ce9009e">ACM::ready</a></div><div class="ttdeci">volatile bool ready</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00174">cdcacm.h:174</a></div></div>
@ -338,7 +338,7 @@ $(function() {
<div class="ttc" id="acdcprolific_8h_html"><div class="ttname"><a href="cdcprolific_8h.html">cdcprolific.h</a></div></div>
<div class="ttc" id="aclass_a_c_m_html_a60fb6a365b78fb80a4a9842e364cf1a3"><div class="ttname"><a href="class_a_c_m.html#a60fb6a365b78fb80a4a9842e364cf1a3">ACM::epInfo</a></div><div class="ttdeci">EpInfo epInfo[ACM_MAX_ENDPOINTS]</div><div class="ttdef"><b>Definition:</b> <a href="cdcacm_8h_source.html#l00183">cdcacm.h:183</a></div></div>
<div class="ttc" id="aclass_hex_dumper_html"><div class="ttname"><a href="class_hex_dumper.html">HexDumper</a></div><div class="ttdef"><b>Definition:</b> <a href="hexdump_8h_source.html#l00033">hexdump.h:33</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="acdcprolific_8h_html_a6003f43ffe2391c0c31ea48f6b772627"><div class="ttname"><a href="cdcprolific_8h.html#a6003f43ffe2391c0c31ea48f6b772627">pl2303_type</a></div><div class="ttdeci">pl2303_type</div><div class="ttdef"><b>Definition:</b> <a href="cdcprolific_8h_source.html#l00112">cdcprolific.h:112</a></div></div>
<div class="ttc" id="acdcprolific_8h_html_a6003f43ffe2391c0c31ea48f6b772627a5b9f6d065e6e98483b3d3ed01f4f6cbe"><div class="ttname"><a href="cdcprolific_8h.html#a6003f43ffe2391c0c31ea48f6b772627a5b9f6d065e6e98483b3d3ed01f4f6cbe">unknown</a></div><div class="ttdeci">@ unknown</div><div class="ttdef"><b>Definition:</b> <a href="cdcprolific_8h_source.html#l00113">cdcprolific.h:113</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html_a92d96e9016c96043dccf56872d13a628"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html#a92d96e9016c96043dccf56872d13a628">USB_DEVICE_DESCRIPTOR::bMaxPacketSize0</a></div><div class="ttdeci">uint8_t bMaxPacketSize0</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00112">usb_ch9.h:112</a></div></div>
@ -352,7 +352,7 @@ $(function() {
<div class="ttc" id="astruct_usb_device_html"><div class="ttname"><a href="struct_usb_device.html">UsbDevice</a></div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00082">address.h:82</a></div></div>
<div class="ttc" id="acdcprolific_8h_html_a6003f43ffe2391c0c31ea48f6b772627af7bb5f5cb18b8f8cac6c93db12ad7997"><div class="ttname"><a href="cdcprolific_8h.html#a6003f43ffe2391c0c31ea48f6b772627af7bb5f5cb18b8f8cac6c93db12ad7997">type_0</a></div><div class="ttdeci">@ type_0</div><div class="ttdef"><b>Definition:</b> <a href="cdcprolific_8h_source.html#l00114">cdcprolific.h:114</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="aclass_p_l2303_html_a23c849fb504c1fe6f46c84d04c0a47cf"><div class="ttname"><a href="class_p_l2303.html#a23c849fb504c1fe6f46c84d04c0a47cf">PL2303::Init</a></div><div class="ttdeci">uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="cdcprolific_8cpp_source.html#l00024">cdcprolific.cpp:24</a></div></div>
<div class="ttc" id="amacros_8h_html_afc6fe7f947af35317a49a4dcfc8189fd"><div class="ttname"><a href="macros_8h.html#afc6fe7f947af35317a49a4dcfc8189fd">USBTRACE</a></div><div class="ttdeci">#define USBTRACE(s)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00082">macros.h:82</a></div></div>
@ -364,7 +364,7 @@ $(function() {
<div class="ttc" id="acdcprolific_8h_html_a6003f43ffe2391c0c31ea48f6b772627a6035ccdf4905b89a274404ba50766fd7"><div class="ttname"><a href="cdcprolific_8h.html#a6003f43ffe2391c0c31ea48f6b772627a6035ccdf4905b89a274404ba50766fd7">rev_HX</a></div><div class="ttdeci">@ rev_HX</div><div class="ttdef"><b>Definition:</b> <a href="cdcprolific_8h_source.html#l00117">cdcprolific.h:117</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="acdcprolific_8h_html_af1a8fea671253f8bb7f124ad159f415a"><div class="ttname"><a href="cdcprolific_8h.html#af1a8fea671253f8bb7f124ad159f415a">CHECK_PID</a></div><div class="ttdeci">#define CHECK_PID(pid)</div><div class="ttdef"><b>Definition:</b> <a href="cdcprolific_8h_source.html#l00025">cdcprolific.h:25</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>

View file

@ -491,7 +491,7 @@ Public Member Functions</h2></td></tr>
<p>defined(USB_METHODS_INLINE) </p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00796">796</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00801">801</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -539,7 +539,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00801">801</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00806">806</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -581,7 +581,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00807">807</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00812">812</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -635,7 +635,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00826">826</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00831">831</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -671,7 +671,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00831">831</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00836">836</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -707,7 +707,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00840">840</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00845">845</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -913,7 +913,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00401">401</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00406">406</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -933,7 +933,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00455">455</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00460">460</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -969,7 +969,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00561">561</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00566">566</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -1005,7 +1005,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00683">683</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00688">688</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>
@ -1025,7 +1025,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00781">781</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
<p class="definition">Definition at line <a class="el" href="_usb_8cpp_source.html#l00786">786</a> of file <a class="el" href="_usb_8cpp_source.html">Usb.cpp</a>.</p>
</div>
</div>

View file

@ -521,7 +521,7 @@ $(function() {
<div class="ttc" id="amacros_8h_html_a3b6ba9344d4ae0847095896841587862"><div class="ttname"><a href="macros_8h.html#a3b6ba9344d4ae0847095896841587862">USBTRACE3</a></div><div class="ttdeci">#define USBTRACE3(s, r, l)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00085">macros.h:85</a></div></div>
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_u_s_b_h_i_d_html_a722462978813b2154698516b729e834d"><div class="ttname"><a href="class_u_s_b_h_i_d.html#a722462978813b2154698516b729e834d">USBHID::epInterruptInIndex</a></div><div class="ttdeci">static const uint8_t epInterruptInIndex</div><div class="ttdef"><b>Definition:</b> <a href="usbhid_8h_source.html#l00149">usbhid.h:149</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
<div class="ttc" id="astruct_h_i_d_composite_1_1_report_parser_html_a28b0d9f5713234df03fdb7973ed50585"><div class="ttname"><a href="struct_h_i_d_composite_1_1_report_parser.html#a28b0d9f5713234df03fdb7973ed50585">HIDComposite::ReportParser::rptParser</a></div><div class="ttdeci">HIDReportParser * rptParser</div><div class="ttdef"><b>Definition:</b> <a href="hidcomposite_8h_source.html#l00030">hidcomposite.h:30</a></div></div>
<div class="ttc" id="aclass_h_i_d_composite_html_aa14d5499c5a4de50fba72ee5a8024e80"><div class="ttname"><a href="class_h_i_d_composite.html#aa14d5499c5a4de50fba72ee5a8024e80">HIDComposite::GetHidClassDescrLen</a></div><div class="ttdeci">uint16_t GetHidClassDescrLen(uint8_t type, uint8_t num)</div><div class="ttdef"><b>Definition:</b> <a href="hidcomposite_8cpp_source.html#l00032">hidcomposite.cpp:32</a></div></div>
@ -545,7 +545,7 @@ $(function() {
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00105">usb_ch9.h:105</a></div></div>
<div class="ttc" id="astruct_ep_info_html_a3a5b1c017a034cd9e06e76729e727c46"><div class="ttname"><a href="struct_ep_info.html#a3a5b1c017a034cd9e06e76729e727c46">EpInfo::bmNakPower</a></div><div class="ttdeci">uint8_t bmNakPower</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00049">address.h:49</a></div></div>
<div class="ttc" id="aclass_h_i_d_report_parser_html"><div class="ttname"><a href="class_h_i_d_report_parser.html">HIDReportParser</a></div><div class="ttdef"><b>Definition:</b> <a href="usbhid_8h_source.html#l00138">usbhid.h:138</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="aclass_u_s_b_h_i_d_html_a6a47b8c02d90076852e079acfb62ae46"><div class="ttname"><a href="class_u_s_b_h_i_d.html#a6a47b8c02d90076852e079acfb62ae46">USBHID::maxHidInterfaces</a></div><div class="ttdeci">static const uint8_t maxHidInterfaces</div><div class="ttdef"><b>Definition:</b> <a href="usbhid_8h_source.html#l00152">usbhid.h:152</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_af062e949014bed74a8b5fedcf1705602"><div class="ttname"><a href="_usb_core_8h.html#af062e949014bed74a8b5fedcf1705602">USB_CLASS_HID</a></div><div class="ttdeci">#define USB_CLASS_HID</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00072">UsbCore.h:72</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html_a92d96e9016c96043dccf56872d13a628"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html#a92d96e9016c96043dccf56872d13a628">USB_DEVICE_DESCRIPTOR::bMaxPacketSize0</a></div><div class="ttdeci">uint8_t bMaxPacketSize0</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00112">usb_ch9.h:112</a></div></div>
@ -577,7 +577,7 @@ $(function() {
<div class="ttc" id="aclass_h_i_d_report_parser_html_af6c4b832fad296860bae406730e792da"><div class="ttname"><a href="class_h_i_d_report_parser.html#af6c4b832fad296860bae406730e792da">HIDReportParser::Parse</a></div><div class="ttdeci">virtual void Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="aclass_h_i_d_composite_html_abdae8ebd9c5cc676c91829e41e3984a2"><div class="ttname"><a href="class_h_i_d_composite.html#abdae8ebd9c5cc676c91829e41e3984a2">HIDComposite::EndpointXtract</a></div><div class="ttdeci">void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)</div><div class="ttdef"><b>Definition:</b> <a href="hidcomposite_8cpp_source.html#l00297">hidcomposite.cpp:297</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="aclass_h_i_d_composite_html_a64f21aff7c40daf988a7a2d568c69d5d"><div class="ttname"><a href="class_h_i_d_composite.html#a64f21aff7c40daf988a7a2d568c69d5d">HIDComposite::SndRpt</a></div><div class="ttdeci">uint8_t SndRpt(uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="hidcomposite_8cpp_source.html#l00427">hidcomposite.cpp:427</a></div></div>
<div class="ttc" id="amacros_8h_html_afc6fe7f947af35317a49a4dcfc8189fd"><div class="ttname"><a href="macros_8h.html#afc6fe7f947af35317a49a4dcfc8189fd">USBTRACE</a></div><div class="ttdeci">#define USBTRACE(s)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00082">macros.h:82</a></div></div>
@ -590,7 +590,7 @@ $(function() {
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="astruct_h_i_d_composite_1_1_h_i_d_interface_html"><div class="ttname"><a href="struct_h_i_d_composite_1_1_h_i_d_interface.html">HIDComposite::HIDInterface</a></div><div class="ttdef"><b>Definition:</b> <a href="hidcomposite_8h_source.html#l00039">hidcomposite.h:39</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="aclass_u_s_b_h_i_d_html"><div class="ttname"><a href="class_u_s_b_h_i_d.html">USBHID</a></div><div class="ttdef"><b>Definition:</b> <a href="usbhid_8h_source.html#l00143">usbhid.h:143</a></div></div>
<div class="ttc" id="aclass_h_i_d_composite_html_a374a34b7f7f94aa1dfb73ca48a5231ce"><div class="ttname"><a href="class_h_i_d_composite.html#a374a34b7f7f94aa1dfb73ca48a5231ce">HIDComposite::hidInterfaces</a></div><div class="ttdeci">HIDInterface hidInterfaces[maxHidInterfaces]</div><div class="ttdef"><b>Definition:</b> <a href="hidcomposite_8h_source.html#l00064">hidcomposite.h:64</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>

View file

@ -1118,7 +1118,7 @@ $(function() {
<div class="ttc" id="amessage_8h_html_a69619d86b1636f141c830ca82c7f45e7"><div class="ttname"><a href="message_8h.html#a69619d86b1636f141c830ca82c7f45e7">NotifyFailSetDevTblEntry</a></div><div class="ttdeci">#define NotifyFailSetDevTblEntry(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00058">message.h:58</a></div></div>
<div class="ttc" id="aclass_bulk_only_html_a9e487226408578a2971570bcf7de62fe"><div class="ttname"><a href="class_bulk_only.html#a9e487226408578a2971570bcf7de62fe">BulkOnly::epDataInIndex</a></div><div class="ttdeci">static const uint8_t epDataInIndex</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00471">masstorage.h:471</a></div></div>
<div class="ttc" id="astruct_request_sense_responce_html_ab2f0cab24692ca29dffc231f31198726"><div class="ttname"><a href="struct_request_sense_responce.html#ab2f0cab24692ca29dffc231f31198726">RequestSenseResponce::CmdSpecificInformation</a></div><div class="ttdeci">uint8_t CmdSpecificInformation[4]</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00462">masstorage.h:462</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
<div class="ttc" id="astruct_command_block_wrapper_html"><div class="ttname"><a href="struct_command_block_wrapper.html">CommandBlockWrapper</a></div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00392">masstorage.h:392</a></div></div>
<div class="ttc" id="amessage_8h_html_a38aabfb47a8bf743b0532e356c39faaf"><div class="ttname"><a href="message_8h.html#a38aabfb47a8bf743b0532e356c39faaf">NotifyFailGetConfDescr</a></div><div class="ttdeci">#define NotifyFailGetConfDescr(...)</div><div class="ttdef"><b>Definition:</b> <a href="message_8h_source.html#l00059">message.h:59</a></div></div>
@ -1152,7 +1152,7 @@ $(function() {
<div class="ttc" id="amax3421e_8h_html_a651e9347e706d3cb16357c656a7e9c8f"><div class="ttname"><a href="max3421e_8h.html#a651e9347e706d3cb16357c656a7e9c8f">hrTOGERR</a></div><div class="ttdeci">#define hrTOGERR</div><div class="ttdef"><b>Definition:</b> <a href="max3421e_8h_source.html#l00220">max3421e.h:220</a></div></div>
<div class="ttc" id="amasstorage_8h_html_ac3364cf841936aa8c3107e14c06ff65f"><div class="ttname"><a href="masstorage_8h.html#ac3364cf841936aa8c3107e14c06ff65f">MASS_ERR_CMD_NOT_SUPPORTED</a></div><div class="ttdeci">#define MASS_ERR_CMD_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00163">masstorage.h:163</a></div></div>
<div class="ttc" id="aclass_bulk_only_html_a9968a2119df66fa0093b020e318d8ac6"><div class="ttname"><a href="class_bulk_only.html#a9968a2119df66fa0093b020e318d8ac6">BulkOnly::bAddress</a></div><div class="ttdeci">uint8_t bAddress</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00476">masstorage.h:476</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="aclass_bulk_only_html_a85d034c7da25090c36c9bdeb85338009"><div class="ttname"><a href="class_bulk_only.html#a85d034c7da25090c36c9bdeb85338009">BulkOnly::WriteProtected</a></div><div class="ttdeci">bool WriteProtected(uint8_t lun)</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8cpp_source.html#l00077">masstorage.cpp:77</a></div></div>
<div class="ttc" id="amasstorage_8h_html_af952fd9270407996656ba95772511002"><div class="ttname"><a href="masstorage_8h.html#af952fd9270407996656ba95772511002">CDB10_t</a></div><div class="ttdeci">CDB10 CDB10_t</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00261">masstorage.h:261</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html_a92d96e9016c96043dccf56872d13a628"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html#a92d96e9016c96043dccf56872d13a628">USB_DEVICE_DESCRIPTOR::bMaxPacketSize0</a></div><div class="ttdeci">uint8_t bMaxPacketSize0</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00112">usb_ch9.h:112</a></div></div>
@ -1210,7 +1210,7 @@ $(function() {
<div class="ttc" id="amacros_8h_html_aa66c08000503b210a294df0200b7b6ba"><div class="ttname"><a href="macros_8h.html#aa66c08000503b210a294df0200b7b6ba">BMAKE32</a></div><div class="ttdeci">#define BMAKE32(__usc3__, __usc2__, __usc1__, __usc0__)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00075">macros.h:75</a></div></div>
<div class="ttc" id="aclass_bulk_only_html_a20ff3cc4bb15c557f57a8c6200b412d1"><div class="ttname"><a href="class_bulk_only.html#a20ff3cc4bb15c557f57a8c6200b412d1">BulkOnly::bLastUsbError</a></div><div class="ttdeci">uint8_t bLastUsbError</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00487">masstorage.h:487</a></div></div>
<div class="ttc" id="astruct_command_block_wrapper_base_html_a62c537797107ada830b86e1f2d629164"><div class="ttname"><a href="struct_command_block_wrapper_base.html#a62c537797107ada830b86e1f2d629164">CommandBlockWrapperBase::dCBWDataTransferLength</a></div><div class="ttdeci">uint32_t dCBWDataTransferLength</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00380">masstorage.h:380</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_config_desc_parser_html"><div class="ttname"><a href="class_config_desc_parser.html">ConfigDescParser</a></div><div class="ttdef"><b>Definition:</b> <a href="confdescparser_8h_source.html#l00047">confdescparser.h:47</a></div></div>
<div class="ttc" id="astruct_request_sense_responce_html"><div class="ttname"><a href="struct_request_sense_responce.html">RequestSenseResponce</a></div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00450">masstorage.h:450</a></div></div>
<div class="ttc" id="astruct_request_sense_responce_html_affd71e9a5912c4752adb0cb108cf4118"><div class="ttname"><a href="struct_request_sense_responce.html#affd71e9a5912c4752adb0cb108cf4118">RequestSenseResponce::bmSenseKey</a></div><div class="ttdeci">uint8_t bmSenseKey</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00454">masstorage.h:454</a></div></div>
@ -1235,7 +1235,7 @@ $(function() {
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_a96a7af8bc5ba78235312e1084a5ee229"><div class="ttname"><a href="_usb_core_8h.html#a96a7af8bc5ba78235312e1084a5ee229">USB_ERROR_FailGetDevDescr</a></div><div class="ttdeci">#define USB_ERROR_FailGetDevDescr</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00102">UsbCore.h:102</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="amasstorage_8h_html_a56ab0baf4e98a591274bf8d1acf96d85"><div class="ttname"><a href="masstorage_8h.html#a56ab0baf4e98a591274bf8d1acf96d85">CDB6_t</a></div><div class="ttdeci">CDB6 CDB6_t</div><div class="ttdef"><b>Definition:</b> <a href="masstorage_8h_source.html#l00227">masstorage.h:227</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>

View file

@ -739,7 +739,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_a44416ff64fc0e3691f98addac13d4595"><div class="ttname"><a href="_usb_core_8h.html#a44416ff64fc0e3691f98addac13d4595">USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</a></div><div class="ttdeci">#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00098">UsbCore.h:98</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_ab3b9ea78a331449802e4ce5a5a9c7f18"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#ab3b9ea78a331449802e4ce5a5a9c7f18">USBH_MIDI::countSysExDataSize</a></div><div class="ttdeci">uint16_t countSysExDataSize(uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8cpp_source.html#l00549">usbh_midi.cpp:549</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_af0c14d1bc7f60e8191b07bcca0c20c84"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#af0c14d1bc7f60e8191b07bcca0c20c84">USBH_MIDI::pUsb</a></div><div class="ttdeci">USB * pUsb</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00048">usbh_midi.h:48</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="astruct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html">USB_ENDPOINT_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00148">usb_ch9.h:148</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_ac8b7d0994df1a059ccf6be62dd84cc9e"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#ac8b7d0994df1a059ccf6be62dd84cc9e">USBH_MIDI::epDataInIndexVSP</a></div><div class="ttdeci">static const uint8_t epDataInIndexVSP</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00044">usbh_midi.h:44</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_a42685ed17f731d3c8e3062d1e1b52f78"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#a42685ed17f731d3c8e3062d1e1b52f78">USBH_MIDI::epDataOutIndexVSP</a></div><div class="ttdeci">static const uint8_t epDataOutIndexVSP</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00045">usbh_midi.h:45</a></div></div>
@ -756,7 +756,7 @@ $(function() {
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_a7dbec24b0f8fe85c713f3de55fba9f83"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#a7dbec24b0f8fe85c713f3de55fba9f83">USBH_MIDI::USBH_MIDI</a></div><div class="ttdeci">USBH_MIDI(USB *p)</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8cpp_source.html#l00087">usbh_midi.cpp:87</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html">USB_DEVICE_DESCRIPTOR</a></div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00105">usb_ch9.h:105</a></div></div>
<div class="ttc" id="astruct_ep_info_html_a3a5b1c017a034cd9e06e76729e727c46"><div class="ttname"><a href="struct_ep_info.html#a3a5b1c017a034cd9e06e76729e727c46">EpInfo::bmNakPower</a></div><div class="ttdeci">uint8_t bmNakPower</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00049">address.h:49</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_a9c8d149a823d2b8d1c3579f0f445cf19"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#a9c8d149a823d2b8d1c3579f0f445cf19">USBH_MIDI::Init</a></div><div class="ttdeci">virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8cpp_source.html#l00108">usbh_midi.cpp:108</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_a08afe33201b6e679b1c2236da699126e"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#a08afe33201b6e679b1c2236da699126e">USBH_MIDI::epDataInIndex</a></div><div class="ttdeci">static const uint8_t epDataInIndex</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00042">usbh_midi.h:42</a></div></div>
<div class="ttc" id="ausbh__midi_8h_html_a071b718fc63564ff2ae0b8b8d8e638fc"><div class="ttname"><a href="usbh__midi_8h.html#a071b718fc63564ff2ae0b8b8d8e638fc">USB_SUBCLASS_MIDISTREAMING</a></div><div class="ttdeci">#define USB_SUBCLASS_MIDISTREAMING</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00033">usbh_midi.h:33</a></div></div>
@ -787,7 +787,7 @@ $(function() {
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_af9f74895deb356da3d1915d9eac24aca"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#af9f74895deb356da3d1915d9eac24aca">USBH_MIDI::RecvRawData</a></div><div class="ttdeci">uint8_t RecvRawData(uint8_t *outBuf)</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8cpp_source.html#l00428">usbh_midi.cpp:428</a></div></div>
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_a345bc9669e1627eae5d2663560813797"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#a345bc9669e1627eae5d2663560813797">USBH_MIDI::bPollEnable</a></div><div class="ttdeci">bool bPollEnable</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00052">usbh_midi.h:52</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_a59bedc39ad72d9a11ce040fda96e92ed"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#a59bedc39ad72d9a11ce040fda96e92ed">USBH_MIDI::isMidiFound</a></div><div class="ttdeci">bool isMidiFound</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00053">usbh_midi.h:53</a></div></div>
<div class="ttc" id="amacros_8h_html_afc6fe7f947af35317a49a4dcfc8189fd"><div class="ttname"><a href="macros_8h.html#afc6fe7f947af35317a49a4dcfc8189fd">USBTRACE</a></div><div class="ttdeci">#define USBTRACE(s)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00082">macros.h:82</a></div></div>
<div class="ttc" id="amacros_8h_html_adbe3f00986df48a9254f8bf0992041d3"><div class="ttname"><a href="macros_8h.html#adbe3f00986df48a9254f8bf0992041d3">USBTRACE2</a></div><div class="ttdeci">#define USBTRACE2(s, r)</div><div class="ttdef"><b>Definition:</b> <a href="macros_8h_source.html#l00084">macros.h:84</a></div></div>
@ -795,7 +795,7 @@ $(function() {
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_a16cc26804628e2ea32513b4cce1aa7c3"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#a16cc26804628e2ea32513b4cce1aa7c3">USBH_MIDI::bTransferTypeMask</a></div><div class="ttdeci">uint8_t bTransferTypeMask</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00055">usbh_midi.h:55</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_aad25eeebfe8741afa7a242ec398c846e"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#aad25eeebfe8741afa7a242ec398c846e">USBH_MIDI::readPtr</a></div><div class="ttdeci">uint8_t readPtr</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8h_source.html#l00060">usbh_midi.h:60</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="aclass_u_s_b_h___m_i_d_i_html_aa5506d9556605493d25492ab1f2fe2a8"><div class="ttname"><a href="class_u_s_b_h___m_i_d_i.html#aa5506d9556605493d25492ab1f2fe2a8">USBH_MIDI::SendSysEx</a></div><div class="ttdeci">uint8_t SendSysEx(uint8_t *dataptr, uint16_t datasize, uint8_t nCable=0)</div><div class="ttdef"><b>Definition:</b> <a href="usbh__midi_8cpp_source.html#l00573">usbh_midi.cpp:573</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>

View file

@ -495,7 +495,7 @@ $(function() {
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclass_u_s_b_hub_html_ae7e4c1e231ce7cb56bae1688c0e95e58"><div class="ttname"><a href="class_u_s_b_hub.html#ae7e4c1e231ce7cb56bae1688c0e95e58">USBHub::ResetHubPort</a></div><div class="ttdeci">void ResetHubPort(uint8_t port)</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8cpp_source.html#l00309">usbhub.cpp:309</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_af4008dfc1c2d15c23cf8a7815cc17765"><div class="ttname"><a href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">USB::Configuring</a></div><div class="ttdeci">uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00683">Usb.cpp:683</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_af4008dfc1c2d15c23cf8a7815cc17765"><div class="ttname"><a href="class_u_s_b.html#af4008dfc1c2d15c23cf8a7815cc17765">USB::Configuring</a></div><div class="ttdeci">uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00688">Usb.cpp:688</a></div></div>
<div class="ttc" id="aclass_address_pool_html_aa92d7e8f0f515340ae2dc1679b627056"><div class="ttname"><a href="class_address_pool.html#aa92d7e8f0f515340ae2dc1679b627056">AddressPool::GetUsbDevicePtr</a></div><div class="ttdeci">virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0</div></div>
<div class="ttc" id="aclass_u_s_b_hub_html"><div class="ttname"><a href="class_u_s_b_hub.html">USBHub</a></div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00164">usbhub.h:164</a></div></div>
<div class="ttc" id="aclass_address_pool_html"><div class="ttname"><a href="class_address_pool.html">AddressPool</a></div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00090">address.h:90</a></div></div>
@ -508,10 +508,10 @@ $(function() {
<div class="ttc" id="astruct_hub_event_html_a9a5761abdc6e8ffc814ba8d3b5b9cd7f"><div class="ttname"><a href="struct_hub_event.html#a9a5761abdc6e8ffc814ba8d3b5b9cd7f">HubEvent::bmChange</a></div><div class="ttdeci">uint16_t bmChange</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00157">usbhub.h:157</a></div></div>
<div class="ttc" id="astruct_hub_event_html"><div class="ttname"><a href="struct_hub_event.html">HubEvent</a></div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00151">usbhub.h:151</a></div></div>
<div class="ttc" id="asettings_8h_html_a11b6e9d1bc9facf0772bda8ad763530c"><div class="ttname"><a href="settings_8h.html#a11b6e9d1bc9facf0772bda8ad763530c">USB_HOST_SERIAL</a></div><div class="ttdeci">#define USB_HOST_SERIAL</div><div class="ttdef"><b>Definition:</b> <a href="settings_8h_source.html#l00049">settings.h:49</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00796">Usb.cpp:796</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a193e63c149fad46adabd77ceb09b2b24"><div class="ttname"><a href="class_u_s_b.html#a193e63c149fad46adabd77ceb09b2b24">USB::getDevDescr</a></div><div class="ttdeci">uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdoc">defined(USB_METHODS_INLINE)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_hub_html_ac071f6cf69d0113151f481405f338ce0"><div class="ttname"><a href="class_u_s_b_hub.html#ac071f6cf69d0113151f481405f338ce0">USBHub::SetPortFeature</a></div><div class="ttdeci">uint8_t SetPortFeature(uint8_t fid, uint8_t port, uint8_t sel=0)</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00246">usbhub.h:246</a></div></div>
<div class="ttc" id="ausbhub_8h_html_afddf65cd41342622526b3ba73dd39c86"><div class="ttname"><a href="usbhub_8h.html#afddf65cd41342622526b3ba73dd39c86">bmHUB_PORT_EVENT_LS_RESET_COMPLETE</a></div><div class="ttdeci">#define bmHUB_PORT_EVENT_LS_RESET_COMPLETE</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00130">usbhub.h:130</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_ac681c6c98e1641f705bc14d670a2663a"><div class="ttname"><a href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a">USB::ReleaseDevice</a></div><div class="ttdeci">uint8_t ReleaseDevice(uint8_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00781">Usb.cpp:781</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_ac681c6c98e1641f705bc14d670a2663a"><div class="ttname"><a href="class_u_s_b.html#ac681c6c98e1641f705bc14d670a2663a">USB::ReleaseDevice</a></div><div class="ttdeci">uint8_t ReleaseDevice(uint8_t addr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00786">Usb.cpp:786</a></div></div>
<div class="ttc" id="ausbhub_8h_html_ac1684402466c99753825a473ca2c0705"><div class="ttname"><a href="usbhub_8h.html#ac1684402466c99753825a473ca2c0705">bmHUB_PORT_EVENT_LS_CONNECT</a></div><div class="ttdeci">#define bmHUB_PORT_EVENT_LS_CONNECT</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00129">usbhub.h:129</a></div></div>
<div class="ttc" id="ausbhub_8h_html_afc369f4d229b302ca399869133ce2cfc"><div class="ttname"><a href="usbhub_8h.html#afc369f4d229b302ca399869133ce2cfc">HUB_FEATURE_C_PORT_CONNECTION</a></div><div class="ttdeci">#define HUB_FEATURE_C_PORT_CONNECTION</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00054">usbhub.h:54</a></div></div>
<div class="ttc" id="ausbhub_8h_html_a743b1d92ef3432b59f79ff282f7a6ce1"><div class="ttname"><a href="usbhub_8h.html#a743b1d92ef3432b59f79ff282f7a6ce1">bmHUB_PORT_STATUS_PORT_INDICATOR</a></div><div class="ttdeci">#define bmHUB_PORT_STATUS_PORT_INDICATOR</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00085">usbhub.h:85</a></div></div>
@ -525,7 +525,7 @@ $(function() {
<div class="ttc" id="astruct_usb_device_address_html_a79ed442d6a357907ddb4d1697bd6af5f"><div class="ttname"><a href="struct_usb_device_address.html#a79ed442d6a357907ddb4d1697bd6af5f">UsbDeviceAddress::devAddress</a></div><div class="ttdeci">uint8_t devAddress</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00074">address.h:74</a></div></div>
<div class="ttc" id="astruct_hub_descriptor_html_a8519ab446f0bdb69c33cd89b553da30b"><div class="ttname"><a href="struct_hub_descriptor.html#a8519ab446f0bdb69c33cd89b553da30b">HubDescriptor::bNbrPorts</a></div><div class="ttdeci">uint8_t bNbrPorts</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00136">usbhub.h:136</a></div></div>
<div class="ttc" id="ausbhub_8h_html_af32e982ee7adb585a4cef54d199527b3"><div class="ttname"><a href="usbhub_8h.html#af32e982ee7adb585a4cef54d199527b3">HUB_FEATURE_PORT_POWER</a></div><div class="ttdeci">#define HUB_FEATURE_PORT_POWER</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00052">usbhub.h:52</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00801">Usb.cpp:801</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a618eedabc161d8315be45cae0c8b6f89"><div class="ttname"><a href="class_u_s_b.html#a618eedabc161d8315be45cae0c8b6f89">USB::getConfDescr</a></div><div class="ttdeci">uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00806">Usb.cpp:806</a></div></div>
<div class="ttc" id="ausbhub_8h_html_a97c9f66303545a7eac83ec46f930f5cc"><div class="ttname"><a href="usbhub_8h.html#a97c9f66303545a7eac83ec46f930f5cc">HUB_FEATURE_C_PORT_RESET</a></div><div class="ttdeci">#define HUB_FEATURE_C_PORT_RESET</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00058">usbhub.h:58</a></div></div>
<div class="ttc" id="ausbhub_8h_html_abd2481655494efb6e3afc489c86925ee"><div class="ttname"><a href="usbhub_8h.html#abd2481655494efb6e3afc489c86925ee">bmHUB_PORT_STATUS_C_PORT_RESET</a></div><div class="ttdeci">#define bmHUB_PORT_STATUS_C_PORT_RESET</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00092">usbhub.h:92</a></div></div>
<div class="ttc" id="astruct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r_html_a92d96e9016c96043dccf56872d13a628"><div class="ttname"><a href="struct_u_s_b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html#a92d96e9016c96043dccf56872d13a628">USB_DEVICE_DESCRIPTOR::bMaxPacketSize0</a></div><div class="ttdeci">uint8_t bMaxPacketSize0</div><div class="ttdef"><b>Definition:</b> <a href="usb__ch9_8h_source.html#l00112">usb_ch9.h:112</a></div></div>
@ -559,7 +559,7 @@ $(function() {
<div class="ttc" id="a_usb_core_8h_html_afe2fedb4b0ccc89a688c0b4b59691ce0"><div class="ttname"><a href="_usb_core_8h.html#afe2fedb4b0ccc89a688c0b4b59691ce0">USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</a></div><div class="ttdeci">#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00095">UsbCore.h:95</a></div></div>
<div class="ttc" id="ausbhub_8h_html_a4abaa6a050ca8ad6d7fdbec8114a00da"><div class="ttname"><a href="usbhub_8h.html#a4abaa6a050ca8ad6d7fdbec8114a00da">bmHUB_PORT_EVENT_DISCONNECT</a></div><div class="ttdeci">#define bmHUB_PORT_EVENT_DISCONNECT</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00126">usbhub.h:126</a></div></div>
<div class="ttc" id="ausbhub_8h_html"><div class="ttname"><a href="usbhub_8h.html">usbhub.h</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00840">Usb.cpp:840</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a31e2c132ec32ffdde94dff72be87c378"><div class="ttname"><a href="class_u_s_b.html#a31e2c132ec32ffdde94dff72be87c378">USB::setConf</a></div><div class="ttdeci">uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00845">Usb.cpp:845</a></div></div>
<div class="ttc" id="ausbhub_8h_html_adca674ff988f065e62325d1b9606d81b"><div class="ttname"><a href="usbhub_8h.html#adca674ff988f065e62325d1b9606d81b">bmHUB_PORT_STATUS_C_PORT_SUSPEND</a></div><div class="ttdeci">#define bmHUB_PORT_STATUS_C_PORT_SUSPEND</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00090">usbhub.h:90</a></div></div>
<div class="ttc" id="ausbhub_8h_html_ad1933610b18b16cf58cc59535a749e83"><div class="ttname"><a href="usbhub_8h.html#ad1933610b18b16cf58cc59535a749e83">bmHUB_PORT_STATUS_PORT_TEST</a></div><div class="ttdeci">#define bmHUB_PORT_STATUS_PORT_TEST</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00084">usbhub.h:84</a></div></div>
<div class="ttc" id="ausbhub_8h_html_a83bd54a52ee93864f5cb4b293cf75ae2"><div class="ttname"><a href="usbhub_8h.html#a83bd54a52ee93864f5cb4b293cf75ae2">HUB_ERROR_PORT_HAS_BEEN_RESET</a></div><div class="ttdeci">#define HUB_ERROR_PORT_HAS_BEEN_RESET</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00113">usbhub.h:113</a></div></div>
@ -571,7 +571,7 @@ $(function() {
<div class="ttc" id="ausbhub_8cpp_html_a7e9df292759830a13233fd8bb6d3477a"><div class="ttname"><a href="usbhub_8cpp.html#a7e9df292759830a13233fd8bb6d3477a">PrintHubPortStatus</a></div><div class="ttdeci">void PrintHubPortStatus(USBHub *hubptr, uint8_t addr, uint8_t port, bool print_changes)</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8cpp_source.html#l00378">usbhub.cpp:378</a></div></div>
<div class="ttc" id="aclass_address_pool_html_a15fde13223dcb1da89305ad229763562"><div class="ttname"><a href="class_address_pool.html#a15fde13223dcb1da89305ad229763562">AddressPool::FreeAddress</a></div><div class="ttdeci">virtual void FreeAddress(uint8_t addr)=0</div></div>
<div class="ttc" id="a_usb_core_8h_html_ae9e139d0fd29bb0b3e7afad2f76cd589"><div class="ttname"><a href="_usb_core_8h.html#ae9e139d0fd29bb0b3e7afad2f76cd589">USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</a></div><div class="ttdeci">#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED</div><div class="ttdef"><b>Definition:</b> <a href="_usb_core_8h_source.html#l00090">UsbCore.h:90</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00831">Usb.cpp:831</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a3aea534daed66b5606fa798df7ad3c47"><div class="ttname"><a href="class_u_s_b.html#a3aea534daed66b5606fa798df7ad3c47">USB::setAddr</a></div><div class="ttdeci">uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00836">Usb.cpp:836</a></div></div>
<div class="ttc" id="aclass_u_s_b_hub_html_a01c0b9d64fd5314963e7d7f70c0a99c3"><div class="ttname"><a href="class_u_s_b_hub.html#a01c0b9d64fd5314963e7d7f70c0a99c3">USBHub::GetPortStatus</a></div><div class="ttdeci">uint8_t GetPortStatus(uint8_t port, uint16_t nbytes, uint8_t *dataptr)</div><div class="ttdef"><b>Definition:</b> <a href="usbhub_8h_source.html#l00231">usbhub.h:231</a></div></div>
<div class="ttc" id="astruct_ep_info_html_aa2ca775b63736df4008e88da7dd4dddb"><div class="ttname"><a href="struct_ep_info.html#aa2ca775b63736df4008e88da7dd4dddb">EpInfo::maxPktSize</a></div><div class="ttdeci">uint8_t maxPktSize</div><div class="ttdef"><b>Definition:</b> <a href="address_8h_source.html#l00041">address.h:41</a></div></div>
<div class="ttc" id="aclass_u_s_b_html_a6c3ba3f7e6dccb450267011ce783d7ea"><div class="ttname"><a href="class_u_s_b.html#a6c3ba3f7e6dccb450267011ce783d7ea">USB::setEpInfoEntry</a></div><div class="ttdeci">uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)</div><div class="ttdef"><b>Definition:</b> <a href="_usb_8cpp_source.html#l00064">Usb.cpp:64</a></div></div>