From a85adeb3ddde3664f774a2db6728ae415fc0266b Mon Sep 17 00:00:00 2001 From: Kristian Sloth Lauszus Date: Mon, 21 Oct 2013 21:15:43 +0200 Subject: [PATCH] Generated documentation --- _b_t_d_8cpp.html | 8 +- _b_t_d_8cpp__incl.map | 14 +- _b_t_d_8cpp__incl.md5 | 2 +- _b_t_d_8cpp__incl.png | Bin 84276 -> 4035 bytes _b_t_d_8cpp_source.html | 2600 +++++++++-------- _b_t_d_8h.html | 183 +- _b_t_d_8h__dep__incl.map | 14 +- _b_t_d_8h__dep__incl.md5 | 2 +- _b_t_d_8h__dep__incl.png | Bin 8678 -> 13981 bytes _b_t_d_8h__incl.map | 12 +- _b_t_d_8h__incl.md5 | 2 +- _b_t_d_8h__incl.png | Bin 83312 -> 2278 bytes _b_t_d_8h_source.html | 609 ++-- _p_s3_b_t_8cpp.html | 8 +- _p_s3_b_t_8cpp__incl.map | 20 +- _p_s3_b_t_8cpp__incl.md5 | 2 +- _p_s3_b_t_8cpp__incl.png | Bin 90449 -> 12526 bytes _p_s3_b_t_8cpp_source.html | 194 +- _p_s3_b_t_8h.html | 10 +- _p_s3_b_t_8h__dep__incl.map | 2 +- _p_s3_b_t_8h__dep__incl.md5 | 2 +- _p_s3_b_t_8h__dep__incl.png | Bin 1891 -> 3432 bytes _p_s3_b_t_8h__incl.map | 18 +- _p_s3_b_t_8h__incl.md5 | 2 +- _p_s3_b_t_8h__incl.png | Bin 88559 -> 10073 bytes _p_s3_b_t_8h_source.html | 115 +- _p_s3_enums_8h.html | 10 +- _p_s3_enums_8h__dep__incl.map | 8 +- _p_s3_enums_8h__dep__incl.md5 | 2 +- _p_s3_enums_8h__dep__incl.png | Bin 5844 -> 10962 bytes _p_s3_enums_8h__incl.map | 2 +- _p_s3_enums_8h__incl.md5 | 2 +- _p_s3_enums_8h__incl.png | Bin 2292 -> 4255 bytes _p_s3_enums_8h_source.html | 176 +- _p_s3_u_s_b_8cpp.html | 8 +- _p_s3_u_s_b_8cpp__incl.map | 16 +- _p_s3_u_s_b_8cpp__incl.md5 | 2 +- _p_s3_u_s_b_8cpp__incl.png | Bin 70058 -> 11389 bytes _p_s3_u_s_b_8cpp_source.html | 186 +- _p_s3_u_s_b_8h.html | 37 +- _p_s3_u_s_b_8h__dep__incl.map | 2 +- _p_s3_u_s_b_8h__dep__incl.md5 | 2 +- _p_s3_u_s_b_8h__dep__incl.png | Bin 2030 -> 3967 bytes _p_s3_u_s_b_8h__incl.map | 14 +- _p_s3_u_s_b_8h__incl.md5 | 2 +- _p_s3_u_s_b_8h__incl.png | Bin 68667 -> 8831 bytes _p_s3_u_s_b_8h_source.html | 273 +- _r_e_a_d_m_e_8md.html | 6 +- _r_e_a_d_m_e_8md_source.html | 263 +- _s_p_p_8cpp.html | 8 +- _s_p_p_8cpp__incl.map | 16 +- _s_p_p_8cpp__incl.md5 | 2 +- _s_p_p_8cpp__incl.png | Bin 85503 -> 4995 bytes _s_p_p_8cpp_source.html | 1588 +++++----- _s_p_p_8h.html | 10 +- _s_p_p_8h__dep__incl.map | 2 +- _s_p_p_8h__dep__incl.md5 | 2 +- _s_p_p_8h__dep__incl.png | Bin 1482 -> 2697 bytes _s_p_p_8h__incl.map | 14 +- _s_p_p_8h__incl.md5 | 2 +- _s_p_p_8h__incl.png | Bin 84149 -> 3566 bytes _s_p_p_8h_source.html | 113 +- _usb_8cpp.html | 14 +- _usb_8cpp__incl.map | 10 +- _usb_8cpp__incl.md5 | 2 +- _usb_8cpp__incl.png | Bin 68849 -> 2725 bytes _usb_8cpp_source.html | 1655 ++++++----- _usb_8h.html | 1058 +------ _usb_8h__dep__incl.map | 80 +- _usb_8h__dep__incl.md5 | 2 +- _usb_8h__dep__incl.png | Bin 60108 -> 102036 bytes _usb_8h_source.html | 307 +- _usb_core_8h.html | 1084 +++++++ _usb_core_8h_source.html | 417 +++ _wii_8cpp.html | 8 +- _wii_8cpp__incl.map | 18 +- _wii_8cpp__incl.md5 | 2 +- _wii_8cpp__incl.png | Bin 87748 -> 9229 bytes _wii_8cpp_source.html | 1926 ++++++------ _wii_8h.html | 10 +- _wii_8h__dep__incl.map | 2 +- _wii_8h__dep__incl.md5 | 2 +- _wii_8h__dep__incl.png | Bin 1400 -> 2447 bytes _wii_8h__incl.map | 16 +- _wii_8h__incl.md5 | 2 +- _wii_8h__incl.png | Bin 86359 -> 7214 bytes _wii_8h_source.html | 582 ++-- _wii_camera_readme_8md.html | 6 +- _wii_camera_readme_8md_source.html | 9 +- _x_b_o_x_o_l_d_8cpp.html | 8 +- _x_b_o_x_o_l_d_8cpp__incl.map | 14 +- _x_b_o_x_o_l_d_8cpp__incl.md5 | 2 +- _x_b_o_x_o_l_d_8cpp__incl.png | Bin 62911 -> 9416 bytes _x_b_o_x_o_l_d_8cpp_source.html | 182 +- _x_b_o_x_o_l_d_8h.html | 43 +- _x_b_o_x_o_l_d_8h__dep__incl.map | 2 +- _x_b_o_x_o_l_d_8h__dep__incl.md5 | 2 +- _x_b_o_x_o_l_d_8h__dep__incl.png | Bin 1981 -> 4271 bytes _x_b_o_x_o_l_d_8h__incl.map | 12 +- _x_b_o_x_o_l_d_8h__incl.md5 | 2 +- _x_b_o_x_o_l_d_8h__incl.png | Bin 61828 -> 6593 bytes _x_b_o_x_o_l_d_8h_source.html | 230 +- _x_b_o_x_r_e_c_v_8cpp.html | 8 +- _x_b_o_x_r_e_c_v_8cpp__incl.map | 16 +- _x_b_o_x_r_e_c_v_8cpp__incl.md5 | 2 +- _x_b_o_x_r_e_c_v_8cpp__incl.png | Bin 70337 -> 11926 bytes _x_b_o_x_r_e_c_v_8cpp_source.html | 140 +- _x_b_o_x_r_e_c_v_8h.html | 47 +- _x_b_o_x_r_e_c_v_8h__dep__incl.map | 2 +- _x_b_o_x_r_e_c_v_8h__dep__incl.md5 | 2 +- _x_b_o_x_r_e_c_v_8h__dep__incl.png | Bin 2535 -> 4689 bytes _x_b_o_x_r_e_c_v_8h__incl.map | 14 +- _x_b_o_x_r_e_c_v_8h__incl.md5 | 2 +- _x_b_o_x_r_e_c_v_8h__incl.png | Bin 68813 -> 8980 bytes _x_b_o_x_r_e_c_v_8h_source.html | 279 +- _x_b_o_x_u_s_b_8cpp.html | 8 +- _x_b_o_x_u_s_b_8cpp__incl.map | 16 +- _x_b_o_x_u_s_b_8cpp__incl.md5 | 2 +- _x_b_o_x_u_s_b_8cpp__incl.png | Bin 70042 -> 11817 bytes _x_b_o_x_u_s_b_8cpp_source.html | 136 +- _x_b_o_x_u_s_b_8h.html | 77 +- _x_b_o_x_u_s_b_8h__dep__incl.map | 2 +- _x_b_o_x_u_s_b_8h__dep__incl.md5 | 2 +- _x_b_o_x_u_s_b_8h__dep__incl.png | Bin 2081 -> 4477 bytes _x_b_o_x_u_s_b_8h__incl.map | 14 +- _x_b_o_x_u_s_b_8h__incl.md5 | 2 +- _x_b_o_x_u_s_b_8h__incl.png | Bin 68698 -> 8994 bytes _x_b_o_x_u_s_b_8h_source.html | 267 +- address_8h.html | 25 +- address_8h_source.html | 219 +- adk_8cpp.html | 8 +- adk_8cpp__incl.map | 14 +- adk_8cpp__incl.md5 | 2 +- adk_8cpp__incl.png | Bin 137354 -> 4070 bytes adk_8cpp_source.html | 136 +- adk_8h.html | 53 +- adk_8h__dep__incl.map | 2 +- adk_8h__dep__incl.md5 | 2 +- adk_8h__dep__incl.png | Bin 1426 -> 2776 bytes adk_8h__incl.map | 12 +- adk_8h__incl.md5 | 2 +- adk_8h__incl.png | Bin 135355 -> 2344 bytes adk_8h_source.html | 273 +- annotated.html | 147 +- avrpins_8h.html | 147 +- avrpins_8h_source.html | 1415 ++++----- cdcacm_8cpp.html | 8 +- cdcacm_8cpp__incl.map | 14 +- cdcacm_8cpp__incl.md5 | 2 +- cdcacm_8cpp__incl.png | Bin 137034 -> 4660 bytes cdcacm_8cpp_source.html | 178 +- cdcacm_8h.html | 127 +- cdcacm_8h__dep__incl.map | 6 +- cdcacm_8h__dep__incl.md5 | 2 +- cdcacm_8h__dep__incl.png | Bin 4702 -> 8748 bytes cdcacm_8h__incl.map | 12 +- cdcacm_8h__incl.md5 | 2 +- cdcacm_8h__incl.png | Bin 135077 -> 2544 bytes cdcacm_8h_source.html | 438 +-- cdcftdi_8cpp.html | 8 +- cdcftdi_8cpp__incl.map | 14 +- cdcftdi_8cpp__incl.md5 | 2 +- cdcftdi_8cpp__incl.png | Bin 137078 -> 4515 bytes cdcftdi_8cpp_source.html | 148 +- cdcftdi_8h.html | 109 +- cdcftdi_8h__dep__incl.map | 2 +- cdcftdi_8h__dep__incl.md5 | 2 +- cdcftdi_8h__dep__incl.png | Bin 1568 -> 3242 bytes cdcftdi_8h__incl.map | 12 +- cdcftdi_8h__incl.md5 | 2 +- cdcftdi_8h__incl.png | Bin 135209 -> 2515 bytes cdcftdi_8h_source.html | 270 +- cdcprolific_8cpp.html | 8 +- cdcprolific_8cpp__incl.map | 16 +- cdcprolific_8cpp__incl.md5 | 2 +- cdcprolific_8cpp__incl.png | Bin 211774 -> 7014 bytes cdcprolific_8cpp_source.html | 89 +- cdcprolific_8h.html | 146 +- cdcprolific_8h__dep__incl.map | 2 +- cdcprolific_8h__dep__incl.md5 | 2 +- cdcprolific_8h__dep__incl.png | Bin 1822 -> 3759 bytes cdcprolific_8h__incl.map | 14 +- cdcprolific_8h__incl.md5 | 2 +- cdcprolific_8h__incl.png | Bin 209344 -> 4638 bytes cdcprolific_8h_source.html | 264 +- class_a_c_m-members.html | 6 +- class_a_c_m.html | 64 +- class_a_c_m__coll__graph.map | 12 +- class_a_c_m__coll__graph.md5 | 2 +- class_a_c_m__coll__graph.png | Bin 11332 -> 21760 bytes class_a_c_m__inherit__graph.map | 6 +- class_a_c_m__inherit__graph.md5 | 2 +- class_a_c_m__inherit__graph.png | Bin 5683 -> 10355 bytes class_a_d_k-members.html | 6 +- class_a_d_k.html | 46 +- class_a_d_k__coll__graph.map | 10 +- class_a_d_k__coll__graph.md5 | 2 +- class_a_d_k__coll__graph.png | Bin 9287 -> 16893 bytes class_a_d_k__inherit__graph.map | 4 +- class_a_d_k__inherit__graph.md5 | 2 +- class_a_d_k__inherit__graph.png | Bin 4490 -> 7832 bytes class_address_pool-members.html | 6 +- class_address_pool.html | 12 +- class_address_pool__inherit__graph.map | 4 +- class_address_pool__inherit__graph.md5 | 2 +- class_address_pool__inherit__graph.png | Bin 6066 -> 12022 bytes class_address_pool_impl-members.html | 6 +- class_address_pool_impl.html | 20 +- class_address_pool_impl__coll__graph.map | 2 +- class_address_pool_impl__coll__graph.md5 | 2 +- class_address_pool_impl__coll__graph.png | Bin 3542 -> 7150 bytes class_address_pool_impl__inherit__graph.map | 2 +- class_address_pool_impl__inherit__graph.md5 | 2 +- class_address_pool_impl__inherit__graph.png | Bin 3542 -> 7150 bytes class_b_t_d-members.html | 8 +- class_b_t_d.html | 256 +- class_b_t_d__coll__graph.map | 10 +- class_b_t_d__coll__graph.md5 | 2 +- class_b_t_d__coll__graph.png | Bin 9257 -> 16749 bytes class_b_t_d__inherit__graph.map | 4 +- class_b_t_d__inherit__graph.md5 | 2 +- class_b_t_d__inherit__graph.png | Bin 4456 -> 7661 bytes class_bluetooth_service-members.html | 6 +- class_bluetooth_service.html | 18 +- class_bluetooth_service__inherit__graph.map | 6 +- class_bluetooth_service__inherit__graph.md5 | 2 +- class_bluetooth_service__inherit__graph.png | Bin 4575 -> 6592 bytes class_bulk_only-members.html | 71 +- class_bulk_only.html | 260 +- class_bulk_only__coll__graph.map | 10 +- class_bulk_only__coll__graph.md5 | 2 +- class_bulk_only__coll__graph.png | Bin 9552 -> 17232 bytes class_bulk_only__inherit__graph.map | 4 +- class_bulk_only__inherit__graph.md5 | 2 +- class_bulk_only__inherit__graph.png | Bin 4730 -> 8220 bytes class_byte_skipper-members.html | 6 +- class_byte_skipper.html | 18 +- class_c_d_c_async_oper-members.html | 6 +- class_c_d_c_async_oper.html | 10 +- class_config_desc_parser-members.html | 6 +- class_config_desc_parser.html | 18 +- class_config_desc_parser__coll__graph.map | 2 +- class_config_desc_parser__coll__graph.md5 | 2 +- class_config_desc_parser__coll__graph.png | Bin 4361 -> 8909 bytes class_config_desc_parser__inherit__graph.map | 2 +- class_config_desc_parser__inherit__graph.md5 | 2 +- class_config_desc_parser__inherit__graph.png | Bin 4361 -> 8909 bytes class_f_t_d_i-members.html | 6 +- class_f_t_d_i.html | 26 +- class_f_t_d_i__coll__graph.map | 4 +- class_f_t_d_i__coll__graph.md5 | 2 +- class_f_t_d_i__coll__graph.png | Bin 4464 -> 7620 bytes class_f_t_d_i__inherit__graph.map | 4 +- class_f_t_d_i__inherit__graph.md5 | 2 +- class_f_t_d_i__inherit__graph.png | Bin 4464 -> 7620 bytes class_f_t_d_i_async_oper-members.html | 6 +- class_f_t_d_i_async_oper.html | 10 +- class_h_i_d-members.html | 6 +- class_h_i_d.html | 40 +- class_h_i_d__coll__graph.map | 8 +- class_h_i_d__coll__graph.md5 | 2 +- class_h_i_d__coll__graph.png | Bin 7051 -> 13271 bytes class_h_i_d__inherit__graph.map | 8 +- class_h_i_d__inherit__graph.md5 | 2 +- class_h_i_d__inherit__graph.png | Bin 8645 -> 14085 bytes class_h_i_d_boot-members.html | 6 +- class_h_i_d_boot.html | 30 +- class_h_i_d_boot__coll__graph.map | 10 +- class_h_i_d_boot__coll__graph.md5 | 2 +- class_h_i_d_boot__coll__graph.png | Bin 8948 -> 17259 bytes class_h_i_d_boot__inherit__graph.map | 6 +- class_h_i_d_boot__inherit__graph.md5 | 2 +- class_h_i_d_boot__inherit__graph.png | Bin 6279 -> 11369 bytes class_h_i_d_report_parser-members.html | 6 +- class_h_i_d_report_parser.html | 10 +- class_h_i_d_report_parser__inherit__graph.map | 6 +- class_h_i_d_report_parser__inherit__graph.md5 | 2 +- class_h_i_d_report_parser__inherit__graph.png | Bin 6518 -> 12125 bytes class_h_i_d_universal-members.html | 6 +- class_h_i_d_universal.html | 28 +- class_h_i_d_universal__coll__graph.map | 10 +- class_h_i_d_universal__coll__graph.md5 | 2 +- class_h_i_d_universal__coll__graph.png | Bin 8412 -> 16053 bytes class_h_i_d_universal__inherit__graph.map | 6 +- class_h_i_d_universal__inherit__graph.md5 | 2 +- class_h_i_d_universal__inherit__graph.png | Bin 5788 -> 10262 bytes class_hex_dumper-members.html | 6 +- class_hex_dumper.html | 18 +- class_hex_dumper__coll__graph.md5 | 2 +- class_hex_dumper__coll__graph.png | Bin 3641 -> 7058 bytes class_hex_dumper__inherit__graph.md5 | 2 +- class_hex_dumper__inherit__graph.png | Bin 3641 -> 7058 bytes class_keyboard_report_parser-members.html | 10 +- class_keyboard_report_parser.html | 62 +- class_keyboard_report_parser__coll__graph.map | 6 +- class_keyboard_report_parser__coll__graph.md5 | 2 +- class_keyboard_report_parser__coll__graph.png | Bin 6593 -> 12245 bytes ...keyboard_report_parser__inherit__graph.map | 2 +- ...keyboard_report_parser__inherit__graph.md5 | 2 +- ...keyboard_report_parser__inherit__graph.png | Bin 2821 -> 5507 bytes class_m_a_x3421e-members.html | 6 +- class_m_a_x3421e.html | 66 +- class_m_a_x3421e__inherit__graph.map | 2 +- class_m_a_x3421e__inherit__graph.md5 | 2 +- class_m_a_x3421e__inherit__graph.png | Bin 2897 -> 5339 bytes class_max___l_c_d-members.html | 6 +- class_max___l_c_d.html | 86 +- class_mouse_report_parser-members.html | 6 +- class_mouse_report_parser.html | 44 +- class_mouse_report_parser__coll__graph.map | 4 +- class_mouse_report_parser__coll__graph.md5 | 2 +- class_mouse_report_parser__coll__graph.png | Bin 5362 -> 9281 bytes class_mouse_report_parser__inherit__graph.map | 2 +- class_mouse_report_parser__inherit__graph.md5 | 2 +- class_mouse_report_parser__inherit__graph.png | Bin 2651 -> 4964 bytes class_multi_byte_value_parser-members.html | 6 +- class_multi_byte_value_parser.html | 20 +- class_p_l2303-members.html | 6 +- class_p_l2303.html | 12 +- class_p_l2303__coll__graph.map | 14 +- class_p_l2303__coll__graph.md5 | 2 +- class_p_l2303__coll__graph.png | Bin 12575 -> 24756 bytes class_p_l2303__inherit__graph.map | 6 +- class_p_l2303__inherit__graph.md5 | 2 +- class_p_l2303__inherit__graph.png | Bin 5683 -> 10357 bytes class_p_s3_b_t-members.html | 6 +- class_p_s3_b_t.html | 58 +- class_p_s3_b_t__coll__graph.map | 2 +- class_p_s3_b_t__coll__graph.md5 | 2 +- class_p_s3_b_t__coll__graph.png | Bin 2147 -> 3980 bytes class_p_s3_b_t__inherit__graph.map | 2 +- class_p_s3_b_t__inherit__graph.md5 | 2 +- class_p_s3_b_t__inherit__graph.png | Bin 2147 -> 3980 bytes class_p_s3_u_s_b-members.html | 6 +- class_p_s3_u_s_b.html | 80 +- class_p_s3_u_s_b__coll__graph.map | 8 +- class_p_s3_u_s_b__coll__graph.md5 | 2 +- class_p_s3_u_s_b__coll__graph.png | Bin 6846 -> 12709 bytes class_p_s3_u_s_b__inherit__graph.map | 2 +- class_p_s3_u_s_b__inherit__graph.md5 | 2 +- class_p_s3_u_s_b__inherit__graph.png | Bin 2358 -> 4441 bytes class_p_t_p_list_parser-members.html | 6 +- class_p_t_p_list_parser.html | 16 +- class_report_desc_parser-members.html | 12 +- class_report_desc_parser.html | 20 +- class_report_desc_parser2-members.html | 12 +- class_report_desc_parser2.html | 22 +- class_report_desc_parser2__coll__graph.map | 10 +- class_report_desc_parser2__coll__graph.md5 | 2 +- class_report_desc_parser2__coll__graph.png | Bin 11125 -> 21914 bytes class_report_desc_parser2__inherit__graph.map | 4 +- class_report_desc_parser2__inherit__graph.md5 | 2 +- class_report_desc_parser2__inherit__graph.png | Bin 3857 -> 8590 bytes class_report_desc_parser__coll__graph.map | 10 +- class_report_desc_parser__coll__graph.md5 | 2 +- class_report_desc_parser__coll__graph.png | Bin 11038 -> 21788 bytes class_report_desc_parser__inherit__graph.map | 4 +- class_report_desc_parser__inherit__graph.md5 | 2 +- class_report_desc_parser__inherit__graph.png | Bin 3762 -> 8416 bytes class_report_desc_parser_base-members.html | 12 +- class_report_desc_parser_base.html | 198 +- ...s_report_desc_parser_base__coll__graph.map | 8 +- ...s_report_desc_parser_base__coll__graph.md5 | 2 +- ...s_report_desc_parser_base__coll__graph.png | Bin 9375 -> 18063 bytes ...eport_desc_parser_base__inherit__graph.map | 6 +- ...eport_desc_parser_base__inherit__graph.md5 | 2 +- ...eport_desc_parser_base__inherit__graph.png | Bin 6569 -> 11281 bytes class_s_p_p-members.html | 6 +- class_s_p_p.html | 52 +- class_s_p_p__coll__graph.map | 2 +- class_s_p_p__coll__graph.md5 | 2 +- class_s_p_p__coll__graph.png | Bin 3828 -> 5450 bytes class_s_p_p__inherit__graph.map | 2 +- class_s_p_p__inherit__graph.md5 | 2 +- class_s_p_p__inherit__graph.png | Bin 3828 -> 5450 bytes class_s_pi-members.html | 6 +- class_s_pi.html | 12 +- class_u_s_b-members.html | 6 +- class_u_s_b.html | 84 +- class_u_s_b__coll__graph.map | 2 +- class_u_s_b__coll__graph.md5 | 2 +- class_u_s_b__coll__graph.png | Bin 1760 -> 3214 bytes class_u_s_b__inherit__graph.map | 2 +- class_u_s_b__inherit__graph.md5 | 2 +- class_u_s_b__inherit__graph.png | Bin 1760 -> 3214 bytes class_u_s_b_device_config-members.html | 6 +- class_u_s_b_device_config.html | 52 +- class_u_s_b_device_config__inherit__graph.map | 28 +- class_u_s_b_device_config__inherit__graph.md5 | 2 +- class_u_s_b_device_config__inherit__graph.png | Bin 23205 -> 37782 bytes class_u_s_b_hub-members.html | 6 +- class_u_s_b_hub.html | 58 +- class_u_s_b_hub__coll__graph.map | 2 +- class_u_s_b_hub__coll__graph.md5 | 2 +- class_u_s_b_hub__coll__graph.png | Bin 2366 -> 4410 bytes class_u_s_b_hub__inherit__graph.map | 2 +- class_u_s_b_hub__inherit__graph.md5 | 2 +- class_u_s_b_hub__inherit__graph.png | Bin 2366 -> 4410 bytes class_u_s_b_read_parser-members.html | 6 +- class_u_s_b_read_parser.html | 14 +- class_u_s_b_read_parser__inherit__graph.map | 8 +- class_u_s_b_read_parser__inherit__graph.md5 | 2 +- class_u_s_b_read_parser__inherit__graph.png | Bin 10933 -> 20939 bytes class_universal_report_parser-members.html | 6 +- class_universal_report_parser.html | 12 +- ...s_universal_report_parser__coll__graph.map | 2 +- ...s_universal_report_parser__coll__graph.md5 | 2 +- ...s_universal_report_parser__coll__graph.png | Bin 2711 -> 5396 bytes ...niversal_report_parser__inherit__graph.map | 2 +- ...niversal_report_parser__inherit__graph.md5 | 2 +- ...niversal_report_parser__inherit__graph.png | Bin 2711 -> 5396 bytes class_usb_config_xtracter-members.html | 6 +- class_usb_config_xtracter.html | 10 +- class_usb_config_xtracter__inherit__graph.map | 18 +- class_usb_config_xtracter__inherit__graph.md5 | 2 +- class_usb_config_xtracter__inherit__graph.png | Bin 14663 -> 22119 bytes class_w_i_i-members.html | 139 +- class_w_i_i.html | 455 +-- class_w_i_i__coll__graph.map | 2 +- class_w_i_i__coll__graph.md5 | 2 +- class_w_i_i__coll__graph.png | Bin 1889 -> 3425 bytes class_w_i_i__inherit__graph.map | 2 +- class_w_i_i__inherit__graph.md5 | 2 +- class_w_i_i__inherit__graph.png | Bin 1889 -> 3425 bytes class_x_b_o_x_o_l_d-members.html | 6 +- class_x_b_o_x_o_l_d.html | 54 +- class_x_b_o_x_o_l_d__coll__graph.map | 8 +- class_x_b_o_x_o_l_d__coll__graph.md5 | 2 +- class_x_b_o_x_o_l_d__coll__graph.png | Bin 6822 -> 12869 bytes class_x_b_o_x_o_l_d__inherit__graph.map | 2 +- class_x_b_o_x_o_l_d__inherit__graph.md5 | 2 +- class_x_b_o_x_o_l_d__inherit__graph.png | Bin 2344 -> 4582 bytes class_x_b_o_x_r_e_c_v-members.html | 6 +- class_x_b_o_x_r_e_c_v.html | 58 +- class_x_b_o_x_r_e_c_v__coll__graph.map | 8 +- class_x_b_o_x_r_e_c_v__coll__graph.md5 | 2 +- class_x_b_o_x_r_e_c_v__coll__graph.png | Bin 7067 -> 13154 bytes class_x_b_o_x_r_e_c_v__inherit__graph.map | 2 +- class_x_b_o_x_r_e_c_v__inherit__graph.md5 | 2 +- class_x_b_o_x_r_e_c_v__inherit__graph.png | Bin 2552 -> 4868 bytes class_x_b_o_x_u_s_b-members.html | 6 +- class_x_b_o_x_u_s_b.html | 66 +- class_x_b_o_x_u_s_b__coll__graph.map | 8 +- class_x_b_o_x_u_s_b__coll__graph.md5 | 2 +- class_x_b_o_x_u_s_b__coll__graph.png | Bin 6891 -> 12855 bytes class_x_b_o_x_u_s_b__inherit__graph.map | 2 +- class_x_b_o_x_u_s_b__inherit__graph.md5 | 2 +- class_x_b_o_x_u_s_b__inherit__graph.png | Bin 2394 -> 4582 bytes classes.html | 77 +- confdescparser_8h.html | 34 +- confdescparser_8h_source.html | 421 +-- controller_enums_8h.html | 8 +- controller_enums_8h__dep__incl.map | 28 +- controller_enums_8h__dep__incl.md5 | 2 +- controller_enums_8h__dep__incl.png | Bin 18230 -> 34041 bytes controller_enums_8h_source.html | 177 +- dir_397a095372f04465e811d0ee219bbf8f.html | 14 +- dir_397a095372f04465e811d0ee219bbf8f_dep.map | 4 +- dir_397a095372f04465e811d0ee219bbf8f_dep.md5 | 2 +- dir_397a095372f04465e811d0ee219bbf8f_dep.png | Bin 2282 -> 4545 bytes dir_e5fbe6d2783ccd4c93c7856d92d7be6e.html | 8 +- dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.map | 4 +- dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.md5 | 2 +- dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.png | Bin 2279 -> 4288 bytes doxygen.css | 177 +- dynsections.js | 7 + files.html | 73 +- functions.html | 85 +- functions_0x62.html | 23 +- functions_0x63.html | 37 +- functions_0x64.html | 15 +- functions_0x65.html | 47 +- functions_0x66.html | 6 +- functions_0x67.html | 30 +- functions_0x68.html | 9 +- functions_0x69.html | 47 +- functions_0x6b.html | 8 +- functions_0x6c.html | 55 +- functions_0x6d.html | 26 +- functions_0x6e.html | 15 +- functions_0x6f.html | 14 +- functions_0x70.html | 22 +- functions_0x71.html | 6 +- functions_0x72.html | 46 +- functions_0x73.html | 68 +- functions_0x74.html | 17 +- functions_0x75.html | 9 +- functions_0x76.html | 15 +- functions_0x77.html | 24 +- functions_0x78.html | 6 +- functions_0x79.html | 6 +- functions_enum.html | 6 +- functions_eval.html | 18 +- functions_func.html | 6 +- functions_func_0x62.html | 6 +- functions_func_0x63.html | 25 +- functions_func_0x64.html | 6 +- functions_func_0x65.html | 6 +- functions_func_0x66.html | 6 +- functions_func_0x67.html | 34 +- functions_func_0x68.html | 6 +- functions_func_0x69.html | 17 +- functions_func_0x6b.html | 6 +- functions_func_0x6c.html | 6 +- functions_func_0x6d.html | 6 +- functions_func_0x6e.html | 6 +- functions_func_0x6f.html | 6 +- functions_func_0x70.html | 6 +- functions_func_0x72.html | 12 +- functions_func_0x73.html | 62 +- functions_func_0x74.html | 10 +- functions_func_0x75.html | 6 +- functions_func_0x76.html | 6 +- functions_func_0x77.html | 18 +- functions_func_0x78.html | 6 +- functions_type.html | 12 +- functions_vars.html | 73 +- functions_vars_0x62.html | 17 +- functions_vars_0x63.html | 13 +- functions_vars_0x64.html | 7 +- functions_vars_0x65.html | 29 +- functions_vars_0x67.html | 6 +- functions_vars_0x68.html | 9 +- functions_vars_0x69.html | 9 +- functions_vars_0x6b.html | 8 +- functions_vars_0x6c.html | 55 +- functions_vars_0x6d.html | 22 +- functions_vars_0x6e.html | 12 +- functions_vars_0x6f.html | 14 +- functions_vars_0x70.html | 13 +- functions_vars_0x71.html | 6 +- functions_vars_0x72.html | 27 +- functions_vars_0x73.html | 14 +- functions_vars_0x74.html | 12 +- functions_vars_0x75.html | 9 +- functions_vars_0x76.html | 9 +- functions_vars_0x77.html | 18 +- functions_vars_0x78.html | 6 +- functions_vars_0x79.html | 6 +- globals.html | 9 +- globals_0x61.html | 6 +- globals_0x62.html | 75 +- globals_0x63.html | 15 +- globals_0x64.html | 6 +- globals_0x65.html | 16 +- globals_0x66.html | 6 +- globals_0x67.html | 12 +- globals_0x68.html | 8 +- globals_0x69.html | 6 +- globals_0x6a.html | 6 +- globals_0x6b.html | 6 +- globals_0x6c.html | 6 +- globals_0x6d.html | 22 +- globals_0x6e.html | 6 +- globals_0x6f.html | 18 +- globals_0x70.html | 8 +- globals_0x72.html | 6 +- globals_0x73.html | 167 +- globals_0x74.html | 6 +- globals_0x75.html | 134 +- globals_0x76.html | 12 +- globals_0x77.html | 6 +- globals_0x78.html | 24 +- globals_0x79.html | 6 +- globals_0x7a.html | 6 +- globals_defs.html | 9 +- globals_defs_0x61.html | 6 +- globals_defs_0x62.html | 72 +- globals_defs_0x63.html | 6 +- globals_defs_0x64.html | 6 +- globals_defs_0x65.html | 20 +- globals_defs_0x66.html | 6 +- globals_defs_0x67.html | 12 +- globals_defs_0x68.html | 8 +- globals_defs_0x69.html | 6 +- globals_defs_0x6a.html | 6 +- globals_defs_0x6b.html | 6 +- globals_defs_0x6c.html | 6 +- globals_defs_0x6d.html | 20 +- globals_defs_0x6e.html | 6 +- globals_defs_0x6f.html | 12 +- globals_defs_0x70.html | 6 +- globals_defs_0x72.html | 6 +- globals_defs_0x73.html | 167 +- globals_defs_0x74.html | 6 +- globals_defs_0x75.html | 130 +- globals_defs_0x76.html | 6 +- globals_defs_0x77.html | 6 +- globals_defs_0x78.html | 16 +- globals_enum.html | 6 +- globals_eval.html | 23 +- globals_func.html | 6 +- globals_type.html | 22 +- globals_vars.html | 6 +- globals_vars_0x62.html | 6 +- globals_vars_0x6c.html | 6 +- globals_vars_0x70.html | 6 +- globals_vars_0x72.html | 6 +- globals_vars_0x75.html | 6 +- globals_vars_0x78.html | 6 +- graph_legend.html | 6 +- graph_legend.md5 | 2 +- graph_legend.png | Bin 14897 -> 25396 bytes hexdump_8h.html | 26 +- hexdump_8h_source.html | 101 +- hid_8cpp.html | 8 +- hid_8cpp__incl.map | 16 +- hid_8cpp__incl.md5 | 2 +- hid_8cpp__incl.png | Bin 143322 -> 10108 bytes hid_8cpp_source.html | 65 +- hid_8h.html | 161 +- hid_8h__dep__incl.map | 14 +- hid_8h__dep__incl.md5 | 2 +- hid_8h__dep__incl.png | Bin 9778 -> 17195 bytes hid_8h__incl.map | 14 +- hid_8h__incl.md5 | 2 +- hid_8h__incl.png | Bin 142064 -> 8197 bytes hid_8h_source.html | 387 +-- hidboot_8cpp.html | 8 +- hidboot_8cpp__incl.map | 18 +- hidboot_8cpp__incl.md5 | 2 +- hidboot_8cpp__incl.png | Bin 217479 -> 12570 bytes hidboot_8cpp_source.html | 81 +- hidboot_8h.html | 64 +- hidboot_8h__dep__incl.map | 2 +- hidboot_8h__dep__incl.md5 | 2 +- hidboot_8h__dep__incl.png | Bin 1737 -> 3495 bytes hidboot_8h__incl.map | 16 +- hidboot_8h__incl.md5 | 2 +- hidboot_8h__incl.png | Bin 214943 -> 10195 bytes hidboot_8h_source.html | 1004 ++++--- hidescriptorparser_8cpp.html | 8 +- hidescriptorparser_8cpp__incl.map | 18 +- hidescriptorparser_8cpp__incl.md5 | 2 +- hidescriptorparser_8cpp__incl.png | Bin 223661 -> 13855 bytes hidescriptorparser_8cpp_source.html | 1154 +++++++- hidescriptorparser_8h.html | 24 +- hidescriptorparser_8h__dep__incl.map | 2 +- hidescriptorparser_8h__dep__incl.md5 | 2 +- hidescriptorparser_8h__dep__incl.png | Bin 2561 -> 5242 bytes hidescriptorparser_8h__incl.map | 16 +- hidescriptorparser_8h__incl.md5 | 2 +- hidescriptorparser_8h__incl.png | Bin 221228 -> 10907 bytes hidescriptorparser_8h_source.html | 429 +-- hiduniversal_8cpp.html | 8 +- hiduniversal_8cpp__incl.map | 18 +- hiduniversal_8cpp__incl.md5 | 2 +- hiduniversal_8cpp__incl.png | Bin 145107 -> 13151 bytes hiduniversal_8cpp_source.html | 543 ++-- hiduniversal_8h.html | 10 +- hiduniversal_8h__dep__incl.map | 2 +- hiduniversal_8h__dep__incl.md5 | 2 +- hiduniversal_8h__dep__incl.png | Bin 2170 -> 4160 bytes hiduniversal_8h__incl.map | 16 +- hiduniversal_8h__incl.md5 | 2 +- hiduniversal_8h__incl.png | Bin 143574 -> 10468 bytes hiduniversal_8h_source.html | 38 +- hidusagestr_8h.html | 8 +- hidusagestr_8h__dep__incl.map | 18 +- hidusagestr_8h__dep__incl.md5 | 2 +- hidusagestr_8h__dep__incl.png | Bin 13541 -> 23325 bytes hidusagestr_8h__incl.md5 | 2 +- hidusagestr_8h__incl.png | Bin 2189 -> 4551 bytes hidusagestr_8h_source.html | 2583 ++++++++++------ hidusagetitlearrays_8cpp.html | 8 +- hidusagetitlearrays_8cpp__incl.map | 2 +- hidusagetitlearrays_8cpp__incl.md5 | 2 +- hidusagetitlearrays_8cpp__incl.png | Bin 5879 -> 10680 bytes hidusagetitlearrays_8cpp_source.html | 9 +- hierarchy.html | 157 +- index.html | 30 +- inherit_graph_0.map | 2 +- inherit_graph_0.md5 | 2 +- inherit_graph_0.png | Bin 1265 -> 2400 bytes inherit_graph_1.map | 6 +- inherit_graph_1.md5 | 2 +- inherit_graph_1.png | Bin 5526 -> 12310 bytes inherit_graph_10.map | 2 +- inherit_graph_10.md5 | 2 +- inherit_graph_10.png | Bin 1156 -> 2042 bytes inherit_graph_11.map | 2 +- inherit_graph_11.md5 | 2 +- inherit_graph_11.png | Bin 3144 -> 2323 bytes inherit_graph_12.map | 2 +- inherit_graph_12.md5 | 2 +- inherit_graph_12.png | Bin 1897 -> 2424 bytes inherit_graph_13.map | 3 +- inherit_graph_13.md5 | 2 +- inherit_graph_13.png | Bin 883 -> 5194 bytes inherit_graph_14.map | 5 +- inherit_graph_14.md5 | 2 +- inherit_graph_14.png | Bin 6052 -> 2930 bytes inherit_graph_15.map | 2 +- inherit_graph_15.md5 | 2 +- inherit_graph_15.png | Bin 1057 -> 1039 bytes inherit_graph_16.map | 2 +- inherit_graph_16.md5 | 2 +- inherit_graph_16.png | Bin 781 -> 2108 bytes inherit_graph_17.map | 2 +- inherit_graph_17.md5 | 2 +- inherit_graph_17.png | Bin 1094 -> 6110 bytes inherit_graph_18.map | 2 +- inherit_graph_18.md5 | 2 +- inherit_graph_18.png | Bin 813 -> 3714 bytes inherit_graph_19.map | 2 +- inherit_graph_19.md5 | 2 +- inherit_graph_19.png | Bin 765 -> 1687 bytes inherit_graph_2.map | 2 +- inherit_graph_2.md5 | 2 +- inherit_graph_2.png | Bin 951 -> 1830 bytes inherit_graph_20.map | 5 +- inherit_graph_20.md5 | 2 +- inherit_graph_20.png | Bin 987 -> 12068 bytes inherit_graph_21.map | 2 +- inherit_graph_21.md5 | 2 +- inherit_graph_21.png | Bin 1126 -> 1903 bytes inherit_graph_22.map | 3 +- inherit_graph_22.md5 | 2 +- inherit_graph_22.png | Bin 2114 -> 1357 bytes inherit_graph_23.map | 2 +- inherit_graph_23.md5 | 2 +- inherit_graph_23.png | Bin 768 -> 2146 bytes inherit_graph_24.map | 2 +- inherit_graph_24.md5 | 2 +- inherit_graph_24.png | Bin 1165 -> 1499 bytes inherit_graph_25.map | 2 +- inherit_graph_25.md5 | 2 +- inherit_graph_25.png | Bin 928 -> 1460 bytes inherit_graph_26.map | 2 +- inherit_graph_26.md5 | 2 +- inherit_graph_26.png | Bin 1279 -> 1932 bytes inherit_graph_27.map | 2 +- inherit_graph_27.md5 | 2 +- inherit_graph_27.png | Bin 1021 -> 2292 bytes inherit_graph_28.map | 3 +- inherit_graph_28.md5 | 2 +- inherit_graph_28.png | Bin 850 -> 3813 bytes inherit_graph_29.map | 2 +- inherit_graph_29.md5 | 2 +- inherit_graph_29.png | Bin 1276 -> 1466 bytes inherit_graph_3.map | 2 +- inherit_graph_3.md5 | 2 +- inherit_graph_3.png | Bin 1488 -> 1862 bytes inherit_graph_30.map | 2 +- inherit_graph_30.md5 | 2 +- inherit_graph_30.png | Bin 844 -> 2113 bytes inherit_graph_31.map | 2 +- inherit_graph_31.md5 | 2 +- inherit_graph_31.png | Bin 1468 -> 1951 bytes inherit_graph_32.map | 5 +- inherit_graph_32.md5 | 2 +- inherit_graph_32.png | Bin 5030 -> 2382 bytes inherit_graph_33.map | 2 +- inherit_graph_33.md5 | 2 +- inherit_graph_33.png | Bin 1153 -> 1886 bytes inherit_graph_34.map | 2 +- inherit_graph_34.md5 | 2 +- inherit_graph_34.png | Bin 1403 -> 1589 bytes inherit_graph_35.map | 2 +- inherit_graph_35.md5 | 2 +- inherit_graph_35.png | Bin 1035 -> 2733 bytes inherit_graph_36.map | 2 +- inherit_graph_36.md5 | 2 +- inherit_graph_36.png | Bin 1044 -> 1486 bytes inherit_graph_37.map | 2 +- inherit_graph_37.md5 | 2 +- inherit_graph_37.png | Bin 1803 -> 3382 bytes inherit_graph_38.map | 5 +- inherit_graph_38.md5 | 2 +- inherit_graph_38.png | Bin 1509 -> 8035 bytes inherit_graph_39.map | 2 +- inherit_graph_39.md5 | 2 +- inherit_graph_39.png | Bin 1560 -> 2818 bytes inherit_graph_4.map | 2 +- inherit_graph_4.md5 | 2 +- inherit_graph_4.png | Bin 799 -> 3032 bytes inherit_graph_40.map | 2 +- inherit_graph_40.md5 | 2 +- inherit_graph_40.png | Bin 1394 -> 3721 bytes inherit_graph_41.map | 2 +- inherit_graph_41.md5 | 2 +- inherit_graph_41.png | Bin 1669 -> 3131 bytes inherit_graph_42.map | 2 +- inherit_graph_42.md5 | 2 +- inherit_graph_42.png | Bin 845 -> 3246 bytes inherit_graph_43.map | 2 +- inherit_graph_43.md5 | 2 +- inherit_graph_43.png | Bin 1133 -> 2610 bytes inherit_graph_44.map | 17 +- inherit_graph_44.md5 | 2 +- inherit_graph_44.png | Bin 37872 -> 3240 bytes inherit_graph_45.map | 6 +- inherit_graph_45.md5 | 2 +- inherit_graph_45.png | Bin 8062 -> 1741 bytes inherit_graph_46.map | 3 + inherit_graph_46.md5 | 1 + inherit_graph_46.png | Bin 0 -> 2421 bytes inherit_graph_47.map | 18 + inherit_graph_47.md5 | 1 + inherit_graph_47.png | Bin 0 -> 60706 bytes inherit_graph_48.map | 7 + inherit_graph_48.md5 | 1 + inherit_graph_48.png | Bin 0 -> 19858 bytes inherit_graph_5.map | 2 +- inherit_graph_5.md5 | 2 +- inherit_graph_5.png | Bin 1157 -> 1603 bytes inherit_graph_6.map | 2 +- inherit_graph_6.md5 | 2 +- inherit_graph_6.png | Bin 1135 -> 1281 bytes inherit_graph_7.map | 3 +- inherit_graph_7.md5 | 2 +- inherit_graph_7.png | Bin 2039 -> 1256 bytes inherit_graph_8.map | 2 +- inherit_graph_8.md5 | 2 +- inherit_graph_8.png | Bin 1457 -> 1198 bytes inherit_graph_9.map | 2 +- inherit_graph_9.md5 | 2 +- inherit_graph_9.png | Bin 615 -> 2080 bytes inherits.html | 210 +- jquery.js | 8 + macros_8h.html | 650 +++++ macros_8h__dep__incl.map | 3 + macros_8h__dep__incl.md5 | 1 + macros_8h__dep__incl.png | Bin 0 -> 3133 bytes macros_8h_source.html | 163 ++ masstorage_8cpp.html | 8 +- masstorage_8cpp__incl.map | 14 +- masstorage_8cpp__incl.md5 | 2 +- masstorage_8cpp__incl.png | Bin 124209 -> 6119 bytes masstorage_8cpp_source.html | 2197 +++++++------- masstorage_8h.html | 1424 +++++++-- masstorage_8h__dep__incl.map | 2 +- masstorage_8h__dep__incl.md5 | 2 +- masstorage_8h__dep__incl.png | Bin 2170 -> 4598 bytes masstorage_8h__incl.map | 12 +- masstorage_8h__incl.md5 | 2 +- masstorage_8h__incl.png | Bin 122004 -> 3408 bytes masstorage_8h_source.html | 1058 +++++-- max3421e_8h.html | 47 +- max3421e_8h_source.html | 334 +-- max___l_c_d_8cpp.html | 38 +- max___l_c_d_8cpp__incl.map | 12 +- max___l_c_d_8cpp__incl.md5 | 2 +- max___l_c_d_8cpp__incl.png | Bin 90153 -> 10161 bytes max___l_c_d_8cpp_source.html | 496 ++-- max___l_c_d_8h.html | 69 +- max___l_c_d_8h__dep__incl.map | 2 +- max___l_c_d_8h__dep__incl.md5 | 2 +- max___l_c_d_8h__dep__incl.png | Bin 1973 -> 3815 bytes max___l_c_d_8h__incl.map | 10 +- max___l_c_d_8h__incl.md5 | 2 +- max___l_c_d_8h__incl.png | Bin 58904 -> 5142 bytes max___l_c_d_8h_source.html | 186 +- ..._host__shield_2_80__wii_camera_readme.html | 6 +- message_8cpp.html | 10 +- message_8cpp__incl.map | 4 +- message_8cpp__incl.md5 | 2 +- message_8cpp__incl.png | Bin 14960 -> 3517 bytes message_8cpp_source.html | 43 +- message_8h.html | 94 +- message_8h_source.html | 142 +- pages.html | 6 +- parsetools_8cpp.html | 10 +- parsetools_8cpp__incl.map | 5 +- parsetools_8cpp__incl.md5 | 2 +- parsetools_8cpp__incl.png | Bin 25057 -> 3623 bytes parsetools_8cpp_source.html | 20 +- parsetools_8h.html | 28 +- parsetools_8h_source.html | 275 +- printhex_8h.html | 56 +- printhex_8h_source.html | 146 +- search/all_5f.html | 2 +- search/all_5f.js | 1 + search/all_61.html | 2 +- search/all_61.js | 22 +- search/all_62.html | 2 +- search/all_62.js | 27 +- search/all_63.html | 2 +- search/all_63.js | 18 +- search/all_64.html | 2 +- search/all_64.js | 2 +- search/all_65.html | 2 +- search/all_65.js | 11 +- search/all_66.html | 2 +- search/all_67.html | 2 +- search/all_67.js | 6 + search/all_68.html | 2 +- search/all_68.js | 3 +- search/all_69.html | 2 +- search/all_69.js | 2 +- search/all_6a.html | 2 +- search/all_6b.html | 2 +- search/all_6b.js | 2 +- search/all_6c.html | 2 +- search/all_6c.js | 12 + search/all_6d.html | 2 +- search/all_6d.js | 13 +- search/all_6e.html | 2 +- search/all_6e.js | 5 +- search/all_6f.html | 2 +- search/all_6f.js | 4 +- search/all_70.html | 2 +- search/all_70.js | 6 +- search/all_71.html | 2 +- search/all_72.html | 2 +- search/all_72.js | 11 +- search/all_73.html | 2 +- search/all_73.js | 64 +- search/all_74.html | 2 +- search/all_74.js | 7 +- search/all_75.html | 2 +- search/all_75.js | 119 +- search/all_76.html | 2 +- search/all_76.js | 5 +- search/all_77.html | 2 +- search/all_77.js | 6 +- search/all_78.html | 2 +- search/all_78.js | 4 +- search/all_79.html | 2 +- search/all_7a.html | 2 +- search/classes_61.html | 2 +- search/classes_62.html | 2 +- search/classes_62.js | 1 + search/classes_63.html | 2 +- search/classes_63.js | 5 + search/classes_65.html | 2 +- search/classes_66.html | 2 +- search/classes_68.html | 2 +- search/classes_69.html | 2 +- search/classes_6b.html | 2 +- search/classes_6c.html | 2 +- search/classes_6d.html | 2 +- search/classes_70.html | 2 +- search/classes_72.html | 2 +- search/classes_73.html | 2 +- search/classes_74.html | 2 +- search/classes_74.js | 5 +- search/classes_75.html | 2 +- search/classes_77.html | 2 +- search/classes_78.html | 2 +- search/defines_5f.html | 2 +- search/defines_5f.js | 1 + search/defines_61.html | 2 +- search/defines_62.html | 2 +- search/defines_62.js | 24 +- search/defines_63.html | 2 +- search/defines_64.html | 2 +- search/defines_65.html | 2 +- search/defines_65.js | 2 + search/defines_66.html | 2 +- search/defines_67.html | 2 +- search/defines_67.js | 2 + search/defines_68.html | 2 +- search/defines_68.js | 2 +- search/defines_69.html | 2 +- search/defines_6a.html | 2 +- search/defines_6b.html | 2 +- search/defines_6c.html | 2 +- search/defines_6d.html | 2 +- search/defines_6d.js | 8 +- search/defines_6e.html | 2 +- search/defines_6f.html | 2 +- search/defines_6f.js | 2 - search/defines_70.html | 2 +- search/defines_72.html | 2 +- search/defines_73.html | 2 +- search/defines_73.js | 55 +- search/defines_74.html | 2 +- search/defines_75.html | 2 +- search/defines_75.js | 117 +- search/defines_76.html | 2 +- search/defines_77.html | 2 +- search/defines_78.html | 2 +- search/defines_78.js | 4 +- search/enums_61.html | 2 +- search/enums_62.html | 2 +- search/enums_63.html | 2 +- search/enums_68.html | 2 +- search/enums_6c.html | 2 +- search/enums_70.html | 2 +- search/enums_72.html | 2 +- search/enums_73.html | 2 +- search/enums_74.html | 2 +- search/enums_76.html | 2 +- search/enumvalues_61.html | 2 +- search/enumvalues_62.html | 2 +- search/enumvalues_63.html | 2 +- search/enumvalues_63.js | 1 - search/enumvalues_64.html | 2 +- search/enumvalues_65.html | 2 +- search/enumvalues_65.js | 6 +- search/enumvalues_66.html | 2 +- search/enumvalues_67.html | 2 +- search/enumvalues_68.html | 2 +- search/enumvalues_6b.html | 2 +- search/enumvalues_6c.html | 2 +- search/enumvalues_6d.html | 2 +- search/enumvalues_6e.html | 2 +- search/enumvalues_6e.js | 3 +- search/enumvalues_6f.html | 2 +- search/enumvalues_6f.js | 3 +- search/enumvalues_70.html | 2 +- search/enumvalues_72.html | 2 +- search/enumvalues_73.html | 2 +- search/enumvalues_74.html | 2 +- search/enumvalues_75.html | 2 +- search/enumvalues_76.html | 26 + search/enumvalues_76.js | 5 + search/enumvalues_77.html | 2 +- search/enumvalues_78.html | 2 +- search/enumvalues_79.html | 2 +- search/enumvalues_7a.html | 2 +- search/files_61.html | 2 +- search/files_62.html | 2 +- search/files_63.html | 2 +- search/files_68.html | 2 +- search/files_6d.html | 2 +- search/files_6d.js | 1 + search/files_70.html | 2 +- search/files_72.html | 2 +- search/files_73.html | 2 +- search/files_73.js | 1 + search/files_75.html | 2 +- search/files_75.js | 1 + search/files_77.html | 2 +- search/files_78.html | 2 +- search/functions_61.html | 2 +- search/functions_62.html | 2 +- search/functions_63.html | 2 +- search/functions_63.js | 8 +- search/functions_64.html | 2 +- search/functions_65.html | 2 +- search/functions_66.html | 2 +- search/functions_67.html | 2 +- search/functions_67.js | 4 + search/functions_68.html | 2 +- search/functions_69.html | 2 +- search/functions_69.js | 3 +- search/functions_6b.html | 2 +- search/functions_6c.html | 2 +- search/functions_6d.html | 2 +- search/functions_6e.html | 2 +- search/functions_6f.html | 2 +- search/functions_70.html | 2 +- search/functions_72.html | 2 +- search/functions_72.js | 2 +- search/functions_73.html | 2 +- search/functions_73.js | 6 +- search/functions_74.html | 2 +- search/functions_74.js | 3 +- search/functions_75.html | 2 +- search/functions_76.html | 2 +- search/functions_77.html | 2 +- search/functions_77.js | 2 - search/functions_78.html | 2 +- search/pages_77.html | 2 +- search/search.js | 4 +- search/typedefs_62.html | 26 + search/typedefs_62.js | 4 + search/typedefs_63.html | 26 + search/typedefs_63.js | 6 + search/typedefs_64.html | 2 +- search/typedefs_6d.html | 2 +- search/typedefs_6d.js | 2 +- search/typedefs_70.html | 2 +- search/typedefs_70.js | 3 +- search/typedefs_74.html | 2 +- search/typedefs_74.js | 1 - search/typedefs_75.html | 2 +- search/variables_61.html | 2 +- search/variables_61.js | 22 +- search/variables_62.html | 2 +- search/variables_62.js | 1 + search/variables_63.html | 2 +- search/variables_63.js | 1 + search/variables_64.html | 2 +- search/variables_64.js | 2 +- search/variables_65.html | 2 +- search/variables_65.js | 3 +- search/variables_67.html | 2 +- search/variables_68.html | 2 +- search/variables_68.js | 3 +- search/variables_69.html | 2 +- search/variables_69.js | 1 + search/variables_6b.html | 2 +- search/variables_6b.js | 2 +- search/variables_6c.html | 2 +- search/variables_6c.js | 12 + search/variables_6d.html | 2 +- search/variables_6d.js | 4 + search/variables_6e.html | 2 +- search/variables_6e.js | 4 +- search/variables_6f.html | 2 +- search/variables_6f.js | 1 + search/variables_70.html | 2 +- search/variables_70.js | 3 +- search/variables_71.html | 2 +- search/variables_72.html | 2 +- search/variables_72.js | 7 +- search/variables_73.html | 2 +- search/variables_73.js | 2 + search/variables_74.html | 2 +- search/variables_74.js | 2 + search/variables_75.html | 2 +- search/variables_75.js | 1 + search/variables_76.html | 2 +- search/variables_76.js | 3 +- search/variables_77.html | 2 +- search/variables_77.js | 4 +- search/variables_78.html | 2 +- search/variables_79.html | 2 +- settings_8h.html | 252 ++ settings_8h__incl.map | 3 + settings_8h__incl.md5 | 1 + settings_8h__incl.png | Bin 0 -> 6021 bytes settings_8h_source.html | 172 ++ ...t_a_c_m___f_u_n_c___d_e_s_c_r-members.html | 6 +- struct_a_c_m___f_u_n_c___d_e_s_c_r.html | 16 +- struct_b_a_s_i_c_c_d_b-members.html | 105 + struct_b_a_s_i_c_c_d_b.html | 178 ++ ...g_m_n_t___f_u_n_c___d_e_s_c_r-members.html | 6 +- ...l_l___m_g_m_n_t___f_u_n_c___d_e_s_c_r.html | 18 +- struct_c_d_b10-members.html | 114 + struct_c_d_b10.html | 383 +++ struct_c_d_b12-members.html | 111 + struct_c_d_b12.html | 274 ++ struct_c_d_b6-members.html | 110 + struct_c_d_b6.html | 337 +++ struct_c_d_b___l_b_a32__16-members.html | 118 + struct_c_d_b___l_b_a32__16.html | 386 +++ struct_c_d_b___l_b_a64__16-members.html | 117 + struct_c_d_b___l_b_a64__16.html | 370 +++ ...s_s___n_o_t_i_f_i_c_a_t_i_o_n-members.html | 6 +- ...t_c_l_a_s_s___n_o_t_i_f_i_c_a_t_i_o_n.html | 20 +- struct_capacity-members.html | 6 +- struct_capacity.html | 10 +- struct_command_block_wrapper-members.html | 12 +- struct_command_block_wrapper.html | 249 +- struct_command_block_wrapper__coll__graph.map | 2 +- struct_command_block_wrapper__coll__graph.md5 | 2 +- struct_command_block_wrapper__coll__graph.png | Bin 3215 -> 6818 bytes ..._command_block_wrapper__inherit__graph.map | 2 +- ..._command_block_wrapper__inherit__graph.md5 | 2 +- ..._command_block_wrapper__inherit__graph.png | Bin 3215 -> 6818 bytes ...ct_command_block_wrapper_base-members.html | 8 +- struct_command_block_wrapper_base.html | 96 +- ...and_block_wrapper_base__inherit__graph.map | 2 +- ...and_block_wrapper_base__inherit__graph.md5 | 2 +- ...and_block_wrapper_base__inherit__graph.png | Bin 3196 -> 6819 bytes struct_command_status_wrapper-members.html | 6 +- struct_command_status_wrapper.html | 16 +- struct_ep_info-members.html | 6 +- struct_ep_info.html | 6 +- ...o_r___l_e_n___a_n_d___t_y_p_e-members.html | 6 +- ...r_i_p_t_o_r___l_e_n___a_n_d___t_y_p_e.html | 12 +- struct_hid_item_prefix-members.html | 6 +- struct_hid_item_prefix.html | 14 +- struct_hub_descriptor-members.html | 6 +- struct_hub_descriptor.html | 62 +- struct_hub_event-members.html | 6 +- struct_hub_event.html | 46 +- struct_inquiry_response-members.html | 49 +- struct_inquiry_response.html | 278 +- struct_k_b_d_i_n_f_o-members.html | 6 +- struct_k_b_d_i_n_f_o.html | 68 +- struct_k_b_d_l_e_d_s-members.html | 6 +- struct_k_b_d_l_e_d_s.html | 20 +- struct_l_i_n_e___c_o_d_i_n_g-members.html | 6 +- struct_l_i_n_e___c_o_d_i_n_g.html | 16 +- struct_m_o_d_i_f_i_e_r_k_e_y_s-members.html | 6 +- struct_m_o_d_i_f_i_e_r_k_e_y_s.html | 24 +- struct_m_o_u_s_e_i_n_f_o-members.html | 6 +- struct_m_o_u_s_e_i_n_f_o.html | 44 +- struct_main_item_i_o_feature-members.html | 6 +- struct_main_item_i_o_feature.html | 24 +- struct_multi_value_buffer-members.html | 6 +- struct_multi_value_buffer.html | 12 +- struct_request_sense_responce-members.html | 6 +- struct_request_sense_responce.html | 36 +- struct_s_e_t_u_p___p_k_t-members.html | 10 +- struct_s_e_t_u_p___p_k_t.html | 88 +- ...n_g_e_r___f_u_n_c___d_e_s_c_r-members.html | 6 +- ...l___r_i_n_g_e_r___f_u_n_c___d_e_s_c_r.html | 18 +- ...t_i_o_n___d_e_s_c_r_i_p_t_o_r-members.html | 6 +- ...g_u_r_a_t_i_o_n___d_e_s_c_r_i_p_t_o_r.html | 24 +- ...v_i_c_e___d_e_s_c_r_i_p_t_o_r-members.html | 6 +- ...b___d_e_v_i_c_e___d_e_s_c_r_i_p_t_o_r.html | 36 +- ...o_i_n_t___d_e_s_c_r_i_p_t_o_r-members.html | 6 +- ...e_n_d_p_o_i_n_t___d_e_s_c_r_i_p_t_o_r.html | 20 +- ...__h_i_d___d_e_s_c_r_i_p_t_o_r-members.html | 6 +- ...t_u_s_b___h_i_d___d_e_s_c_r_i_p_t_o_r.html | 22 +- ...f_a_c_e___d_e_s_c_r_i_p_t_o_r-members.html | 6 +- ...n_t_e_r_f_a_c_e___d_e_s_c_r_i_p_t_o_r.html | 26 +- struct_usb_device-members.html | 6 +- struct_usb_device.html | 8 +- struct_usb_device__coll__graph.map | 2 +- struct_usb_device__coll__graph.md5 | 2 +- struct_usb_device__coll__graph.png | Bin 1995 -> 3868 bytes struct_usb_device_address-members.html | 6 +- struct_usb_device_address.html | 6 +- usb__ch9_8h.html | 117 +- usb__ch9_8h_source.html | 354 ++- usbhost_8h.html | 37 +- usbhost_8h_source.html | 750 ++--- usbhub_8cpp.html | 10 +- usbhub_8cpp__incl.map | 12 +- usbhub_8cpp__incl.md5 | 2 +- usbhub_8cpp__incl.png | Bin 85901 -> 4485 bytes usbhub_8cpp_source.html | 267 +- usbhub_8h.html | 175 +- usbhub_8h__dep__incl.map | 2 +- usbhub_8h__dep__incl.md5 | 2 +- usbhub_8h__dep__incl.png | Bin 1568 -> 3250 bytes usbhub_8h__incl.map | 10 +- usbhub_8h__incl.md5 | 2 +- usbhub_8h__incl.png | Bin 84101 -> 2674 bytes usbhub_8h_source.html | 512 ++-- xbox_enums_8h.html | 10 +- xbox_enums_8h__dep__incl.map | 8 +- xbox_enums_8h__dep__incl.md5 | 2 +- xbox_enums_8h__dep__incl.png | Bin 6692 -> 12127 bytes xbox_enums_8h__incl.map | 2 +- xbox_enums_8h__incl.md5 | 2 +- xbox_enums_8h__incl.png | Bin 2209 -> 4264 bytes xbox_enums_8h_source.html | 28 +- 1225 files changed, 30747 insertions(+), 19218 deletions(-) create mode 100644 _usb_core_8h.html create mode 100644 _usb_core_8h_source.html create mode 100644 inherit_graph_46.map create mode 100644 inherit_graph_46.md5 create mode 100644 inherit_graph_46.png create mode 100644 inherit_graph_47.map create mode 100644 inherit_graph_47.md5 create mode 100644 inherit_graph_47.png create mode 100644 inherit_graph_48.map create mode 100644 inherit_graph_48.md5 create mode 100644 inherit_graph_48.png create mode 100644 macros_8h.html create mode 100644 macros_8h__dep__incl.map create mode 100644 macros_8h__dep__incl.md5 create mode 100644 macros_8h__dep__incl.png create mode 100644 macros_8h_source.html create mode 100644 search/enumvalues_76.html create mode 100644 search/enumvalues_76.js create mode 100644 search/typedefs_62.html create mode 100644 search/typedefs_62.js create mode 100644 search/typedefs_63.html create mode 100644 search/typedefs_63.js create mode 100644 settings_8h.html create mode 100644 settings_8h__incl.map create mode 100644 settings_8h__incl.md5 create mode 100644 settings_8h__incl.png create mode 100644 settings_8h_source.html create mode 100644 struct_b_a_s_i_c_c_d_b-members.html create mode 100644 struct_b_a_s_i_c_c_d_b.html create mode 100644 struct_c_d_b10-members.html create mode 100644 struct_c_d_b10.html create mode 100644 struct_c_d_b12-members.html create mode 100644 struct_c_d_b12.html create mode 100644 struct_c_d_b6-members.html create mode 100644 struct_c_d_b6.html create mode 100644 struct_c_d_b___l_b_a32__16-members.html create mode 100644 struct_c_d_b___l_b_a32__16.html create mode 100644 struct_c_d_b___l_b_a64__16-members.html create mode 100644 struct_c_d_b___l_b_a64__16.html diff --git a/_b_t_d_8cpp.html b/_b_t_d_8cpp.html index 61192c6c..68d9657d 100644 --- a/_b_t_d_8cpp.html +++ b/_b_t_d_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: BTD.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for BTD.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for BTD.cpp: diff --git a/_b_t_d_8cpp__incl.map b/_b_t_d_8cpp__incl.map index 62a08de9..98591434 100644 --- a/_b_t_d_8cpp__incl.map +++ b/_b_t_d_8cpp__incl.map @@ -1,14 +1,4 @@ - - - - - - - - - - - - + + diff --git a/_b_t_d_8cpp__incl.md5 b/_b_t_d_8cpp__incl.md5 index e65fe625..93f257b8 100644 --- a/_b_t_d_8cpp__incl.md5 +++ b/_b_t_d_8cpp__incl.md5 @@ -1 +1 @@ -7529ebe55f58a22e586d9e98f0041b93 \ No newline at end of file +c765cc95de530749422030983e73bab2 \ No newline at end of file diff --git a/_b_t_d_8cpp__incl.png b/_b_t_d_8cpp__incl.png index 90df9b6d29a0e6cf683f8185ac3125093d7e9bd8..064e56846d0e64a0c33e23cc5571d00536a3c6f1 100644 GIT binary patch literal 4035 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 literal 84276 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 diff --git a/_b_t_d_8cpp_source.html b/_b_t_d_8cpp_source.html index be08f145..16d89881 100644 --- a/_b_t_d_8cpp_source.html +++ b/_b_t_d_8cpp_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: BTD.cpp Source File @@ -31,7 +31,7 @@ - + @@ -115,1227 +115,1457 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
24 const uint8_t BTD::BTD_DATAIN_PIPE = 2;
25 const uint8_t BTD::BTD_DATAOUT_PIPE = 3;
26 
- -
28 pUsb(p), // Pointer to USB class instance - mandatory
-
29 bAddress(0), // Device address - mandatory
-
30 bNumEP(1), // If config descriptor needs to be parsed
-
31 qNextPollTime(0), // Reset NextPollTime
-
32 bPollEnable(false) // Don't start polling before dongle is connected
-
33 {
-
34  for (uint8_t i = 0; i < BTD_MAX_ENDPOINTS; i++) {
-
35  epInfo[i].epAddr = 0;
-
36  epInfo[i].maxPktSize = (i) ? 0 : 8;
-
37  epInfo[i].epAttribs = 0;
- -
39  }
-
40 
-
41  if (pUsb) // register in USB subsystem
-
42  pUsb->RegisterDeviceClass(this); //set devConfig[] entry
-
43 }
-
44 
-
45 uint8_t BTD::Init(uint8_t parent, uint8_t port, bool lowspeed) {
-
46  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
-
47  uint8_t rcode;
-
48  UsbDevice *p = NULL;
-
49  EpInfo *oldep_ptr = NULL;
-
50  uint8_t num_of_conf; // number of configurations
-
51  uint16_t PID;
-
52  uint16_t VID;
-
53 
-
54  // get memory address of USB device address pool
-
55  AddressPool &addrPool = pUsb->GetAddressPool();
+ +
28 connectToWii(false),
+
29 pairWithWii(false),
+
30 pUsb(p), // Pointer to USB class instance - mandatory
+
31 bAddress(0), // Device address - mandatory
+
32 bNumEP(1), // If config descriptor needs to be parsed
+
33 qNextPollTime(0), // Reset NextPollTime
+
34 pollInterval(0),
+
35 bPollEnable(false) // Don't start polling before dongle is connected
+
36 {
+
37  for (uint8_t i = 0; i < BTD_NUMSERVICES; i++)
+
38  btService[i] = NULL;
+
39 
+
40  clearAllVariables(); // Set all variables, endpoint structs etc. to default values
+
41 
+
42  if (pUsb) // Register in USB subsystem
+
43  pUsb->RegisterDeviceClass(this); // Set devConfig[] entry
+
44 }
+
45 
+
46 uint8_t BTD::ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed) {
+
47  const uint8_t constBufSize = sizeof (USB_DEVICE_DESCRIPTOR);
+
48  uint8_t buf[constBufSize];
+
49  uint8_t rcode;
+
50  UsbDevice *p = NULL;
+
51  EpInfo *oldep_ptr = NULL;
+
52 
+
53  clearAllVariables(); // Set all variables, endpoint structs etc. to default values
+
54 
+
55  AddressPool &addrPool = pUsb->GetAddressPool(); // Get memory address of USB device address pool
56 #ifdef EXTRADEBUG
-
57  Notify(PSTR("\r\nBTD Init"), 0x80);
+
57  Notify(PSTR("\r\nBTD ConfigureDevice"), 0x80);
58 #endif
-
59  // check if address has already been assigned to an instance
-
60  if (bAddress) {
+
59 
+
60  if (bAddress) { // Check if address has already been assigned to an instance
61 #ifdef DEBUG_USB_HOST
62  Notify(PSTR("\r\nAddress in use"), 0x80);
63 #endif
- +
65  }
66 
-
67  // Get pointer to pseudo device with address 0 assigned
-
68  p = addrPool.GetUsbDevicePtr(0);
-
69 
-
70  if (!p) {
-
71 #ifdef DEBUG_USB_HOST
-
72  Notify(PSTR("\r\nAddress not found"), 0x80);
-
73 #endif
- -
75  }
-
76 
-
77  if (!p->epinfo) {
-
78 #ifdef DEBUG_USB_HOST
-
79  Notify(PSTR("\r\nepinfo is null"), 0x80);
-
80 #endif
- -
82  }
-
83 
-
84  // Save old pointer to EP_RECORD of address 0
-
85  oldep_ptr = p->epinfo;
+
67  p = addrPool.GetUsbDevicePtr(0); // Get pointer to pseudo device with address 0 assigned
+
68  if (!p) {
+
69 #ifdef DEBUG_USB_HOST
+
70  Notify(PSTR("\r\nAddress not found"), 0x80);
+
71 #endif
+ +
73  }
+
74 
+
75  if (!p->epinfo) {
+
76 #ifdef DEBUG_USB_HOST
+
77  Notify(PSTR("\r\nepinfo is null"), 0x80);
+
78 #endif
+ +
80  }
+
81 
+
82  oldep_ptr = p->epinfo; // Save old pointer to EP_RECORD of address 0
+
83  p->epinfo = epInfo; // Temporary assign new pointer to epInfo to p->epinfo in order to avoid toggle inconsistence
+
84  p->lowspeed = lowspeed;
+
85  rcode = pUsb->getDevDescr(0, 0, constBufSize, (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
86 
-
87  // Temporary assign new pointer to epInfo to p->epinfo in order to avoid toggle inconsistence
-
88  p->epinfo = epInfo;
-
89 
-
90  p->lowspeed = lowspeed;
+
87  p->epinfo = oldep_ptr; // Restore p->epinfo
+
88 
+
89  if (rcode)
+
90  goto FailGetDevDescr;
91 
-
92  // Get device descriptor
-
93  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
-
94 
-
95  // Restore p->epinfo
-
96  p->epinfo = oldep_ptr;
-
97 
-
98  if (rcode)
-
99  goto FailGetDevDescr;
+
92  bAddress = addrPool.AllocAddress(parent, false, port); // Allocate new address according to device class
+
93 
+
94  if (!bAddress) {
+
95 #ifdef DEBUG_USB_HOST
+
96  Notify(PSTR("\r\nOut of address space"), 0x80);
+
97 #endif
+ +
99  }
100 
-
101  // Allocate new address according to device class
-
102  bAddress = addrPool.AllocAddress(parent, false, port);
+
101  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0; // Extract Max Packet Size from device descriptor
+
102  epInfo[1].epAddr = ((USB_DEVICE_DESCRIPTOR*)buf)->bNumConfigurations; // Steal and abuse from epInfo structure to save memory
103 
-
104  if (!bAddress)
- +
104  VID = ((USB_DEVICE_DESCRIPTOR*)buf)->idVendor;
+
105  PID = ((USB_DEVICE_DESCRIPTOR*)buf)->idProduct;
106 
-
107  // Extract Max Packet Size from device descriptor
-
108  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0;
-
109 
-
110  // Assign new address to the device
-
111  rcode = pUsb->setAddr(0, 0, bAddress);
-
112  if (rcode) {
-
113  p->lowspeed = false;
-
114  addrPool.FreeAddress(bAddress);
-
115  bAddress = 0;
-
116 #ifdef DEBUG_USB_HOST
-
117  Notify(PSTR("\r\nsetAddr: "), 0x80);
-
118  D_PrintHex<uint8_t > (rcode, 0x80);
-
119 #endif
-
120  return rcode;
-
121  }
-
122 #ifdef EXTRADEBUG
-
123  Notify(PSTR("\r\nAddr: "), 0x80);
-
124  D_PrintHex<uint8_t > (bAddress, 0x80);
-
125 #endif
-
126  delay(300); // Spec says you should wait at least 200ms
-
127 
-
128  p->lowspeed = false;
+ +
108 
+
109 FailGetDevDescr:
+
110 #ifdef DEBUG_USB_HOST
+
111  NotifyFailGetDevDescr(rcode);
+
112 #endif
+
113  if (rcode != hrJERR)
+ +
115  Release();
+
116  return rcode;
+
117 };
+
118 
+
119 uint8_t BTD::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
120  uint8_t rcode;
+
121  uint8_t num_of_conf = epInfo[1].epAddr; // Number of configurations
+
122  epInfo[1].epAddr = 0;
+
123 
+
124  AddressPool &addrPool = pUsb->GetAddressPool();
+
125 #ifdef EXTRADEBUG
+
126  Notify(PSTR("\r\nBTD Init"), 0x80);
+
127 #endif
+
128  UsbDevice *p = addrPool.GetUsbDevicePtr(bAddress); // Get pointer to assigned address record
129 
-
130  //get pointer to assigned address record
-
131  p = addrPool.GetUsbDevicePtr(bAddress);
-
132  if (!p)
- -
134 
-
135  p->lowspeed = lowspeed;
+
130  if (!p) {
+
131 #ifdef DEBUG_USB_HOST
+
132  Notify(PSTR("\r\nAddress not found"), 0x80);
+
133 #endif
+ +
135  }
136 
-
137  // Assign epInfo to epinfo pointer - only EP0 is known
-
138  rcode = pUsb->setEpInfoEntry(bAddress, 1, epInfo);
-
139  if (rcode)
-
140  goto FailSetDevTblEntry;
-
141  VID = ((USB_DEVICE_DESCRIPTOR*)buf)->idVendor;
-
142  PID = ((USB_DEVICE_DESCRIPTOR*)buf)->idProduct;
-
143 
-
144  if (VID == PS3_VID && (PID == PS3_PID || PID == PS3NAVIGATION_PID || PID == PS3MOVE_PID)) {
-
145  /* We only need the Control endpoint, so we don't have to initialize the other endpoints of device */
-
146  rcode = pUsb->setConf(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, 1);
-
147  if (rcode)
-
148  goto FailSetConfDescr;
-
149 
-
150 #ifdef DEBUG_USB_HOST
-
151  if (PID == PS3_PID || PID == PS3NAVIGATION_PID) {
-
152  if (PID == PS3_PID)
-
153  Notify(PSTR("\r\nDualshock 3 Controller Connected"), 0x80);
-
154  else // It must be a navigation controller
-
155  Notify(PSTR("\r\nNavigation Controller Connected"), 0x80);
-
156  } else // It must be a Motion controller
-
157  Notify(PSTR("\r\nMotion Controller Connected"), 0x80);
-
158 #endif
-
159 
-
160  if (my_bdaddr[0] == 0x00 && my_bdaddr[1] == 0x00 && my_bdaddr[2] == 0x00 && my_bdaddr[3] == 0x00 && my_bdaddr[4] == 0x00 && my_bdaddr[5] == 0x00) {
-
161 #ifdef DEBUG_USB_HOST
-
162  Notify(PSTR("\r\nPlease plug in the dongle before trying to pair with the PS3 Controller\n\ror set the Bluetooth address in the constructor of the PS3BT class"), 0x80);
-
163 #endif
-
164  } else {
-
165  if (PID == PS3_PID || PID == PS3NAVIGATION_PID)
-
166  setBdaddr(my_bdaddr); // Set internal Bluetooth address
-
167  else
-
168  setMoveBdaddr(my_bdaddr); // Set internal Bluetooth address
-
169 #ifdef DEBUG_USB_HOST
-
170  Notify(PSTR("\r\nBluetooth Address was set to: "), 0x80);
-
171  for (int8_t i = 5; i > 0; i--) {
-
172  D_PrintHex<uint8_t > (my_bdaddr[i], 0x80);
-
173  Notify(PSTR(":"), 0x80);
-
174  }
-
175  D_PrintHex<uint8_t > (my_bdaddr[0], 0x80);
-
176 #endif
-
177  }
-
178 
-
179  rcode = pUsb->setConf(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, 0); // Reset configuration value
-
180  pUsb->setAddr(bAddress, 0, 0); // Reset address
-
181  Release(); // Release device
- -
183  } else {
-
184  num_of_conf = ((USB_DEVICE_DESCRIPTOR*)buf)->bNumConfigurations;
-
185 
-
186  // Check if attached device is a Bluetooth dongle and fill endpoint data structure
-
187  // First interface in the configuration must have Bluetooth assigned Class/Subclass/Protocol
-
188  // And 3 endpoints - interrupt-IN, bulk-IN, bulk-OUT, not necessarily in this order
-
189  for (uint8_t i = 0; i < num_of_conf; i++) {
-
190  if (VID == IOGEAR_GBU521_VID && PID == IOGEAR_GBU521_PID) {
- -
192  rcode = pUsb->getConfDescr(bAddress, 0, i, &confDescrParser);
-
193  } else {
- -
195  rcode = pUsb->getConfDescr(bAddress, 0, i, &confDescrParser);
-
196  }
-
197  if (rcode) // Check error code
-
198  goto FailGetConfDescr;
-
199  if (bNumEP >= BTD_MAX_ENDPOINTS) // All endpoints extracted
-
200  break;
-
201  }
-
202 
- -
204  goto FailUnknownDevice;
-
205 
-
206  // Assign epInfo to epinfo pointer - this time all 3 endpoins
-
207  rcode = pUsb->setEpInfoEntry(bAddress, bNumEP, epInfo);
-
208  if (rcode)
-
209  goto FailSetDevTblEntry;
-
210 
-
211  delay(200); // Give time for address change
-
212 
-
213  // Set Configuration Value
-
214  rcode = pUsb->setConf(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, bConfNum);
-
215  if (rcode)
-
216  goto FailSetConfDescr;
-
217 
-
218  hci_num_reset_loops = 100; // only loop 100 times before trying to send the hci reset command
-
219  hci_counter = 0;
-
220  hci_state = HCI_INIT_STATE;
-
221  watingForConnection = false;
-
222  bPollEnable = true;
-
223 
-
224 #ifdef DEBUG_USB_HOST
-
225  Notify(PSTR("\r\nBluetooth Dongle Initialized"), 0x80);
-
226 #endif
-
227  }
-
228  return 0; // Successful configuration
-
229 
-
230  /* diagnostic messages */
-
231 FailGetDevDescr:
-
232 #ifdef DEBUG_USB_HOST
- -
234  goto Fail;
-
235 #endif
-
236 
-
237 FailSetDevTblEntry:
-
238 #ifdef DEBUG_USB_HOST
- -
240  goto Fail;
-
241 #endif
-
242 
-
243 FailGetConfDescr:
-
244 #ifdef DEBUG_USB_HOST
- -
246  goto Fail;
+
137  delay(300); // Assign new address to the device
+
138 
+
139  rcode = pUsb->setAddr(0, 0, bAddress); // Assign new address to the device
+
140  if (rcode) {
+
141 #ifdef DEBUG_USB_HOST
+
142  Notify(PSTR("\r\nsetAddr: "), 0x80);
+
143  D_PrintHex<uint8_t > (rcode, 0x80);
+
144 #endif
+
145  p->lowspeed = false;
+
146  goto Fail;
+
147  }
+
148 #ifdef EXTRADEBUG
+
149  Notify(PSTR("\r\nAddr: "), 0x80);
+
150  D_PrintHex<uint8_t > (bAddress, 0x80);
+
151 #endif
+
152 
+
153  p->lowspeed = false;
+
154 
+
155  p = addrPool.GetUsbDevicePtr(bAddress); // Get pointer to assigned address record
+
156  if (!p) {
+
157 #ifdef DEBUG_USB_HOST
+
158  Notify(PSTR("\r\nAddress not found"), 0x80);
+
159 #endif
+ +
161  }
+
162 
+
163  p->lowspeed = lowspeed;
+
164 
+
165  rcode = pUsb->setEpInfoEntry(bAddress, 1, epInfo); // Assign epInfo to epinfo pointer - only EP0 is known
+
166  if (rcode)
+
167  goto FailSetDevTblEntry;
+
168 
+
169  if (VID == PS3_VID && (PID == PS3_PID || PID == PS3NAVIGATION_PID || PID == PS3MOVE_PID)) {
+
170  delay(100);
+
171  rcode = pUsb->setConf(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, 1); // We only need the Control endpoint, so we don't have to initialize the other endpoints of device
+
172  if (rcode)
+
173  goto FailSetConfDescr;
+
174 
+
175 #ifdef DEBUG_USB_HOST
+
176  if (PID == PS3_PID || PID == PS3NAVIGATION_PID) {
+
177  if (PID == PS3_PID)
+
178  Notify(PSTR("\r\nDualshock 3 Controller Connected"), 0x80);
+
179  else // It must be a navigation controller
+
180  Notify(PSTR("\r\nNavigation Controller Connected"), 0x80);
+
181  } else // It must be a Motion controller
+
182  Notify(PSTR("\r\nMotion Controller Connected"), 0x80);
+
183 #endif
+
184 
+
185  if (my_bdaddr[0] == 0x00 && my_bdaddr[1] == 0x00 && my_bdaddr[2] == 0x00 && my_bdaddr[3] == 0x00 && my_bdaddr[4] == 0x00 && my_bdaddr[5] == 0x00) {
+
186 #ifdef DEBUG_USB_HOST
+
187  Notify(PSTR("\r\nPlease plug in the dongle before trying to pair with the PS3 Controller\r\nor set the Bluetooth address in the constructor of the PS3BT class"), 0x80);
+
188 #endif
+
189  } else {
+
190  if (PID == PS3_PID || PID == PS3NAVIGATION_PID)
+
191  setBdaddr(my_bdaddr); // Set internal Bluetooth address
+
192  else
+
193  setMoveBdaddr(my_bdaddr); // Set internal Bluetooth address
+
194 #ifdef DEBUG_USB_HOST
+
195  Notify(PSTR("\r\nBluetooth Address was set to: "), 0x80);
+
196  for (int8_t i = 5; i > 0; i--) {
+
197  D_PrintHex<uint8_t > (my_bdaddr[i], 0x80);
+
198  Notify(PSTR(":"), 0x80);
+
199  }
+
200  D_PrintHex<uint8_t > (my_bdaddr[0], 0x80);
+
201 #endif
+
202  }
+
203 
+
204  pUsb->setConf(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, 0); // Reset configuration value
+
205  pUsb->setAddr(bAddress, 0, 0); // Reset address
+
206  Release(); // Release device
+ +
208  } else {
+
209  // Check if attached device is a Bluetooth dongle and fill endpoint data structure
+
210  // First interface in the configuration must have Bluetooth assigned Class/Subclass/Protocol
+
211  // And 3 endpoints - interrupt-IN, bulk-IN, bulk-OUT, not necessarily in this order
+
212  for (uint8_t i = 0; i < num_of_conf; i++) {
+
213  if (VID == IOGEAR_GBU521_VID && PID == IOGEAR_GBU521_PID) {
+ +
215  rcode = pUsb->getConfDescr(bAddress, 0, i, &confDescrParser);
+
216  } else {
+ +
218  rcode = pUsb->getConfDescr(bAddress, 0, i, &confDescrParser);
+
219  }
+
220  if (rcode) // Check error code
+
221  goto FailGetConfDescr;
+
222  if (bNumEP >= BTD_MAX_ENDPOINTS) // All endpoints extracted
+
223  break;
+
224  }
+
225 
+ +
227  goto FailUnknownDevice;
+
228 
+
229  // Assign epInfo to epinfo pointer - this time all 3 endpoins
+
230  rcode = pUsb->setEpInfoEntry(bAddress, bNumEP, epInfo);
+
231  if (rcode)
+
232  goto FailSetDevTblEntry;
+
233 
+
234  // Set Configuration Value
+
235  rcode = pUsb->setConf(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, bConfNum);
+
236  if (rcode)
+
237  goto FailSetConfDescr;
+
238 
+
239  hci_num_reset_loops = 100; // only loop 100 times before trying to send the hci reset command
+
240  hci_counter = 0;
+
241  hci_state = HCI_INIT_STATE;
+
242  watingForConnection = false;
+
243  bPollEnable = true;
+
244 
+
245 #ifdef DEBUG_USB_HOST
+
246  Notify(PSTR("\r\nBluetooth Dongle Initialized"), 0x80);
247 #endif
-
248 
-
249 FailSetConfDescr:
-
250 #ifdef DEBUG_USB_HOST
- -
252 #endif
-
253  goto Fail;
-
254 
-
255 FailUnknownDevice:
-
256 #ifdef DEBUG_USB_HOST
-
257  NotifyFailUnknownDevice(VID, PID);
-
258 #endif
-
259  pUsb->setAddr(bAddress, 0, 0); // Reset address
- -
261 Fail:
-
262 #ifdef DEBUG_USB_HOST
-
263  Notify(PSTR("\r\nBTD Init Failed, error code: "), 0x80);
-
264  NotifyFail(rcode);
-
265 #endif
-
266  Release();
-
267  return rcode;
-
268 }
-
269 
-
270 /* Extracts interrupt-IN, bulk-IN, bulk-OUT endpoint information from config descriptor */
-
271 void BTD::EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *pep) {
-
272  //ErrorMessage<uint8_t>(PSTR("Conf.Val"),conf);
-
273  //ErrorMessage<uint8_t>(PSTR("Iface Num"),iface);
-
274  //ErrorMessage<uint8_t>(PSTR("Alt.Set"),alt);
+
248  }
+
249  return 0; // Successful configuration
+
250 
+
251  /* diagnostic messages */
+
252 FailGetDevDescr:
+
253 #ifdef DEBUG_USB_HOST
+ +
255  goto Fail;
+
256 #endif
+
257 
+
258 FailSetDevTblEntry:
+
259 #ifdef DEBUG_USB_HOST
+ +
261  goto Fail;
+
262 #endif
+
263 
+
264 FailGetConfDescr:
+
265 #ifdef DEBUG_USB_HOST
+ +
267  goto Fail;
+
268 #endif
+
269 
+
270 FailSetConfDescr:
+
271 #ifdef DEBUG_USB_HOST
+ +
273 #endif
+
274  goto Fail;
275 
-
276  if (alt) // Wrong interface - by BT spec, no alt setting
-
277  return;
-
278 
-
279  bConfNum = conf;
-
280  uint8_t index;
-
281 
-
282  if ((pep->bmAttributes & 0x03) == 3 && (pep->bEndpointAddress & 0x80) == 0x80) { // Interrupt In endpoint found
-
283  index = BTD_EVENT_PIPE;
- -
285  } else {
-
286  if ((pep->bmAttributes & 0x02) == 2) // Bulk endpoint found
-
287  index = ((pep->bEndpointAddress & 0x80) == 0x80) ? BTD_DATAIN_PIPE : BTD_DATAOUT_PIPE;
-
288  else
-
289  return;
-
290  }
-
291 
-
292  // Fill the rest of endpoint data structure
-
293  epInfo[index].epAddr = (pep->bEndpointAddress & 0x0F);
-
294  epInfo[index].maxPktSize = (uint8_t)pep->wMaxPacketSize;
-
295 #ifdef EXTRADEBUG
- -
297 #endif
-
298  if (pollInterval < pep->bInterval) // Set the polling interval as the largest polling interval obtained from endpoints
-
299  pollInterval = pep->bInterval;
-
300  bNumEP++;
-
301 }
-
302 
- -
304 #ifdef EXTRADEBUG
-
305  Notify(PSTR("\r\nEndpoint descriptor:"), 0x80);
-
306  Notify(PSTR("\r\nLength:\t\t"), 0x80);
-
307  D_PrintHex<uint8_t > (ep_ptr->bLength, 0x80);
-
308  Notify(PSTR("\r\nType:\t\t"), 0x80);
-
309  D_PrintHex<uint8_t > (ep_ptr->bDescriptorType, 0x80);
-
310  Notify(PSTR("\r\nAddress:\t"), 0x80);
-
311  D_PrintHex<uint8_t > (ep_ptr->bEndpointAddress, 0x80);
-
312  Notify(PSTR("\r\nAttributes:\t"), 0x80);
-
313  D_PrintHex<uint8_t > (ep_ptr->bmAttributes, 0x80);
-
314  Notify(PSTR("\r\nMaxPktSize:\t"), 0x80);
-
315  D_PrintHex<uint16_t > (ep_ptr->wMaxPacketSize, 0x80);
-
316  Notify(PSTR("\r\nPoll Intrv:\t"), 0x80);
-
317  D_PrintHex<uint8_t > (ep_ptr->bInterval, 0x80);
-
318 #endif
-
319 }
-
320 
-
321 /* Performs a cleanup after failed Init() attempt */
-
322 uint8_t BTD::Release() {
-
323  for (uint8_t i = 0; i < BTD_NUMSERVICES; i++) {
-
324  if (btService[i])
-
325  btService[i]->Reset(); // Reset all Bluetooth services
-
326  }
-
327 
- -
329  bAddress = 0;
-
330  bPollEnable = false;
-
331  bNumEP = 1; // must have to be reset to 1
-
332  return 0;
-
333 }
+
276 FailUnknownDevice:
+
277 #ifdef DEBUG_USB_HOST
+
278  NotifyFailUnknownDevice(VID, PID);
+
279 #endif
+
280  pUsb->setAddr(bAddress, 0, 0); // Reset address
+ +
282 Fail:
+
283 #ifdef DEBUG_USB_HOST
+
284  Notify(PSTR("\r\nBTD Init Failed, error code: "), 0x80);
+
285  NotifyFail(rcode);
+
286 #endif
+
287  Release();
+
288  return rcode;
+
289 }
+
290 
+
291 void BTD::clearAllVariables() {
+
292  uint8_t i;
+
293  for (i = 0; i < BTD_MAX_ENDPOINTS; i++) {
+
294  epInfo[i].epAddr = 0;
+
295  epInfo[i].maxPktSize = (i) ? 0 : 8;
+
296  epInfo[i].epAttribs = 0;
+ +
298  }
+
299  for (i = 0; i < BTD_NUMSERVICES; i++) {
+
300  if (btService[i])
+
301  btService[i]->Reset(); // Reset all Bluetooth services
+
302  }
+
303 
+
304  connectToWii = false;
+
305  incomingWii = false;
+
306  bAddress = 0; // Clear device address
+
307  bNumEP = 1; // Must have to be reset to 1
+
308  qNextPollTime = 0; // Reset next poll time
+
309  pollInterval = 0;
+
310  bPollEnable = false; // Don't start polling before dongle is connected
+
311 }
+
312 
+
313 /* Extracts interrupt-IN, bulk-IN, bulk-OUT endpoint information from config descriptor */
+
314 void BTD::EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *pep) {
+
315  //ErrorMessage<uint8_t>(PSTR("Conf.Val"),conf);
+
316  //ErrorMessage<uint8_t>(PSTR("Iface Num"),iface);
+
317  //ErrorMessage<uint8_t>(PSTR("Alt.Set"),alt);
+
318 
+
319  if (alt) // Wrong interface - by BT spec, no alt setting
+
320  return;
+
321 
+
322  bConfNum = conf;
+
323  uint8_t index;
+
324 
+
325  if ((pep->bmAttributes & 0x03) == 3 && (pep->bEndpointAddress & 0x80) == 0x80) { // Interrupt In endpoint found
+
326  index = BTD_EVENT_PIPE;
+ +
328  } else {
+
329  if ((pep->bmAttributes & 0x02) == 2) // Bulk endpoint found
+
330  index = ((pep->bEndpointAddress & 0x80) == 0x80) ? BTD_DATAIN_PIPE : BTD_DATAOUT_PIPE;
+
331  else
+
332  return;
+
333  }
334 
-
335 uint8_t BTD::Poll() {
-
336  if (!bPollEnable)
-
337  return 0;
-
338  if (qNextPollTime <= millis()) { // Don't poll if shorter than polling interval
-
339  qNextPollTime = millis() + pollInterval; // Set new poll time
-
340  HCI_event_task(); // poll the HCI event pipe
-
341  ACL_event_task(); // start polling the ACL input pipe too, though discard data until connected
-
342  }
-
343  return 0;
+
335  // Fill the rest of endpoint data structure
+
336  epInfo[index].epAddr = (pep->bEndpointAddress & 0x0F);
+
337  epInfo[index].maxPktSize = (uint8_t)pep->wMaxPacketSize;
+
338 #ifdef EXTRADEBUG
+ +
340 #endif
+
341  if (pollInterval < pep->bInterval) // Set the polling interval as the largest polling interval obtained from endpoints
+
342  pollInterval = pep->bInterval;
+
343  bNumEP++;
344 }
345 
-
346 void BTD::HCI_event_task() {
-
347  /* check the event pipe*/
-
348  uint16_t MAX_BUFFER_SIZE = BULK_MAXPKTSIZE; // Request more than 16 bytes anyway, the inTransfer routine will take care of this
-
349  uint8_t rcode = pUsb->inTransfer(bAddress, epInfo[ BTD_EVENT_PIPE ].epAddr, &MAX_BUFFER_SIZE, hcibuf); // input on endpoint 1
-
350  if (!rcode || rcode == hrNAK) // Check for errors
-
351  {
-
352  switch (hcibuf[0]) //switch on event type
-
353  {
-
354  case EV_COMMAND_COMPLETE:
-
355  if (!hcibuf[5]) { // Check if command succeeded
-
356  hci_event_flag |= HCI_FLAG_CMD_COMPLETE; // set command complete flag
-
357  if ((hcibuf[3] == 0x01) && (hcibuf[4] == 0x10)) { // parameters from read local version information
-
358  hci_version = hcibuf[6]; // Used to check if it supports 2.0+EDR - see http://www.bluetooth.org/Technical/AssignedNumbers/hci.htm
-
359  hci_event_flag |= HCI_FLAG_READ_VERSION;
-
360  } else if ((hcibuf[3] == 0x09) && (hcibuf[4] == 0x10)) { // parameters from read local bluetooth address
-
361  for (uint8_t i = 0; i < 6; i++)
-
362  my_bdaddr[i] = hcibuf[6 + i];
-
363  hci_event_flag |= HCI_FLAG_READ_BDADDR;
-
364  }
-
365  }
-
366  break;
-
367 
-
368  case EV_COMMAND_STATUS:
-
369  if (hcibuf[2]) { // show status on serial if not OK
-
370 #ifdef DEBUG_USB_HOST
-
371  Notify(PSTR("\r\nHCI Command Failed: "), 0x80);
-
372  D_PrintHex<uint8_t > (hcibuf[2], 0x80);
-
373  Notify(PSTR(" "), 0x80);
-
374  D_PrintHex<uint8_t > (hcibuf[4], 0x80);
-
375  Notify(PSTR(" "), 0x80);
-
376  D_PrintHex<uint8_t > (hcibuf[5], 0x80);
-
377 #endif
-
378  }
-
379  break;
-
380 
-
381  case EV_INQUIRY_COMPLETE:
-
382  if (inquiry_counter >= 5) {
-
383  inquiry_counter = 0;
-
384 #ifdef DEBUG_USB_HOST
-
385  Notify(PSTR("\r\nCouldn't find Wiimote"), 0x80);
-
386 #endif
-
387  connectToWii = false;
-
388  pairWithWii = false;
-
389  hci_state = HCI_SCANNING_STATE;
-
390  }
-
391  inquiry_counter++;
-
392  break;
-
393 
-
394  case EV_INQUIRY_RESULT:
-
395  if (hcibuf[2]) { // Check that there is more than zero responses
-
396 #ifdef EXTRADEBUG
-
397  Notify(PSTR("\r\nNumber of responses: "), 0x80);
-
398  Notify(hcibuf[2], 0x80);
-
399 #endif
-
400  for (uint8_t i = 0; i < hcibuf[2]; i++) {
-
401  if ((hcibuf[4 + 8 * hcibuf[2] + 3 * i] == 0x04 && hcibuf[5 + 8 * hcibuf[2] + 3 * i] == 0x25 && hcibuf[6 + 8 * hcibuf[2] + 3 * i] == 0x00) || (hcibuf[4 + 8 * hcibuf[2] + 3 * i] == 0x08 && hcibuf[5 + 8 * hcibuf[2] + 3 * i] == 0x05 && hcibuf[6 + 8 * hcibuf[2] + 3 * i] == 0x00)) { // See http://bluetooth-pentest.narod.ru/software/bluetooth_class_of_device-service_generator.html and http://wiibrew.org/wiki/Wiimote#SDP_information
-
402  if (hcibuf[4 + 8 * hcibuf[2] + 3 * i] == 0x08) // Check if it's the new Wiimote with motion plus inside that was detected
-
403  motionPlusInside = true;
-
404  else
-
405  motionPlusInside = false;
-
406  disc_bdaddr[0] = hcibuf[3 + 6 * i];
-
407  disc_bdaddr[1] = hcibuf[4 + 6 * i];
-
408  disc_bdaddr[2] = hcibuf[5 + 6 * i];
-
409  disc_bdaddr[3] = hcibuf[6 + 6 * i];
-
410  disc_bdaddr[4] = hcibuf[7 + 6 * i];
-
411  disc_bdaddr[5] = hcibuf[8 + 6 * i];
-
412  hci_event_flag |= HCI_FLAG_WII_FOUND;
-
413  break;
-
414  }
-
415 #ifdef EXTRADEBUG
-
416  else {
-
417  Notify(PSTR("\r\nClass of device: "), 0x80);
-
418  D_PrintHex<uint8_t > (hcibuf[6 + 8 * hcibuf[2] + 3 * i], 0x80);
-
419  Notify(PSTR(" "), 0x80);
-
420  D_PrintHex<uint8_t > (hcibuf[5 + 8 * hcibuf[2] + 3 * i], 0x80);
-
421  Notify(PSTR(" "), 0x80);
-
422  D_PrintHex<uint8_t > (hcibuf[4 + 8 * hcibuf[2] + 3 * i], 0x80);
-
423  }
-
424 #endif
-
425  }
+ +
347 #ifdef EXTRADEBUG
+
348  Notify(PSTR("\r\nEndpoint descriptor:"), 0x80);
+
349  Notify(PSTR("\r\nLength:\t\t"), 0x80);
+
350  D_PrintHex<uint8_t > (ep_ptr->bLength, 0x80);
+
351  Notify(PSTR("\r\nType:\t\t"), 0x80);
+
352  D_PrintHex<uint8_t > (ep_ptr->bDescriptorType, 0x80);
+
353  Notify(PSTR("\r\nAddress:\t"), 0x80);
+
354  D_PrintHex<uint8_t > (ep_ptr->bEndpointAddress, 0x80);
+
355  Notify(PSTR("\r\nAttributes:\t"), 0x80);
+
356  D_PrintHex<uint8_t > (ep_ptr->bmAttributes, 0x80);
+
357  Notify(PSTR("\r\nMaxPktSize:\t"), 0x80);
+
358  D_PrintHex<uint16_t > (ep_ptr->wMaxPacketSize, 0x80);
+
359  Notify(PSTR("\r\nPoll Intrv:\t"), 0x80);
+
360  D_PrintHex<uint8_t > (ep_ptr->bInterval, 0x80);
+
361 #endif
+
362 }
+
363 
+
364 /* Performs a cleanup after failed Init() attempt */
+
365 uint8_t BTD::Release() {
+
366  clearAllVariables(); // Set all variables, endpoint structs etc. to default values
+ +
368  return 0;
+
369 }
+
370 
+
371 uint8_t BTD::Poll() {
+
372  if (!bPollEnable)
+
373  return 0;
+
374  if (qNextPollTime <= millis()) { // Don't poll if shorter than polling interval
+
375  qNextPollTime = millis() + pollInterval; // Set new poll time
+
376  HCI_event_task(); // poll the HCI event pipe
+
377  ACL_event_task(); // start polling the ACL input pipe too, though discard data until connected
+
378  }
+
379  return 0;
+
380 }
+
381 
+
382 void BTD::HCI_event_task() {
+
383  /* check the event pipe*/
+
384  uint16_t MAX_BUFFER_SIZE = BULK_MAXPKTSIZE; // Request more than 16 bytes anyway, the inTransfer routine will take care of this
+
385  uint8_t rcode = pUsb->inTransfer(bAddress, epInfo[ BTD_EVENT_PIPE ].epAddr, &MAX_BUFFER_SIZE, hcibuf); // input on endpoint 1
+
386  if (!rcode || rcode == hrNAK) // Check for errors
+
387  {
+
388  switch (hcibuf[0]) //switch on event type
+
389  {
+
390  case EV_COMMAND_COMPLETE:
+
391  if (!hcibuf[5]) { // Check if command succeeded
+
392  hci_event_flag |= HCI_FLAG_CMD_COMPLETE; // set command complete flag
+
393  if ((hcibuf[3] == 0x01) && (hcibuf[4] == 0x10)) { // parameters from read local version information
+
394  hci_version = hcibuf[6]; // Used to check if it supports 2.0+EDR - see http://www.bluetooth.org/Technical/AssignedNumbers/hci.htm
+
395  hci_event_flag |= HCI_FLAG_READ_VERSION;
+
396  } else if ((hcibuf[3] == 0x09) && (hcibuf[4] == 0x10)) { // parameters from read local bluetooth address
+
397  for (uint8_t i = 0; i < 6; i++)
+
398  my_bdaddr[i] = hcibuf[6 + i];
+
399  hci_event_flag |= HCI_FLAG_READ_BDADDR;
+
400  }
+
401  }
+
402  break;
+
403 
+
404  case EV_COMMAND_STATUS:
+
405  if (hcibuf[2]) { // show status on serial if not OK
+
406 #ifdef DEBUG_USB_HOST
+
407  Notify(PSTR("\r\nHCI Command Failed: "), 0x80);
+
408  D_PrintHex<uint8_t > (hcibuf[2], 0x80);
+
409  Notify(PSTR(" "), 0x80);
+
410  D_PrintHex<uint8_t > (hcibuf[4], 0x80);
+
411  Notify(PSTR(" "), 0x80);
+
412  D_PrintHex<uint8_t > (hcibuf[5], 0x80);
+
413 #endif
+
414  }
+
415  break;
+
416 
+
417  case EV_INQUIRY_COMPLETE:
+
418  if (inquiry_counter >= 5 && pairWithWii) {
+
419  inquiry_counter = 0;
+
420 #ifdef DEBUG_USB_HOST
+
421  Notify(PSTR("\r\nCouldn't find Wiimote"), 0x80);
+
422 #endif
+
423  connectToWii = false;
+
424  pairWithWii = false;
+
425  hci_state = HCI_SCANNING_STATE;
426  }
-
427  break;
-
428 
-
429  case EV_CONNECT_COMPLETE:
-
430  hci_event_flag |= HCI_FLAG_CONNECT_EVENT;
-
431  if (!hcibuf[2]) { // check if connected OK
-
432  hci_handle = hcibuf[3] | ((hcibuf[4] & 0x0F) << 8); // store the handle for the ACL connection
-
433  hci_event_flag |= HCI_FLAG_CONN_COMPLETE; // set connection complete flag
-
434  }
-
435 #ifdef EXTRADEBUG
-
436  else {
-
437  Notify(PSTR("\r\nConnection Failed"), 0x80);
-
438  hci_state = HCI_CHECK_WII_SERVICE;
-
439  }
-
440 #endif
-
441  break;
-
442 
- -
444  if (!hcibuf[2]) { // check if disconnected OK
-
445  hci_event_flag |= HCI_FLAG_DISCONN_COMPLETE; // set disconnect command complete flag
-
446  hci_event_flag &= ~HCI_FLAG_CONN_COMPLETE; // clear connection complete flag
-
447  }
-
448  break;
-
449 
- -
451  if (!hcibuf[2]) { // check if reading is OK
-
452  for (uint8_t i = 0; i < min(sizeof (remote_name), sizeof (hcibuf) - 9); i++)
-
453  remote_name[i] = hcibuf[9 + i];
-
454  hci_event_flag |= HCI_FLAG_REMOTE_NAME_COMPLETE;
-
455  }
-
456  break;
-
457 
-
458  case EV_INCOMING_CONNECT:
-
459  disc_bdaddr[0] = hcibuf[2];
-
460  disc_bdaddr[1] = hcibuf[3];
-
461  disc_bdaddr[2] = hcibuf[4];
-
462  disc_bdaddr[3] = hcibuf[5];
-
463  disc_bdaddr[4] = hcibuf[6];
-
464  disc_bdaddr[5] = hcibuf[7];
-
465 #ifdef EXTRADEBUG
-
466  Notify(PSTR("\r\nClass of device: "), 0x80);
-
467  D_PrintHex<uint8_t > (hcibuf[10], 0x80);
-
468  Notify(PSTR(" "), 0x80);
-
469  D_PrintHex<uint8_t > (hcibuf[9], 0x80);
-
470  Notify(PSTR(" "), 0x80);
-
471  D_PrintHex<uint8_t > (hcibuf[8], 0x80);
-
472 #endif
-
473  hci_event_flag |= HCI_FLAG_INCOMING_REQUEST;
-
474  break;
-
475 
-
476  case EV_PIN_CODE_REQUEST:
-
477  if (pairWithWii) {
-
478 #ifdef DEBUG_USB_HOST
-
479  Notify(PSTR("\r\nPairing with wiimote"), 0x80);
-
480 #endif
- -
482  } else if (btdPin != NULL) {
-
483 #ifdef DEBUG_USB_HOST
-
484  Notify(PSTR("\r\nBluetooth pin is set too: "), 0x80);
-
485  NotifyStr(btdPin, 0x80);
-
486 #endif
- -
488  } else {
-
489 #ifdef DEBUG_USB_HOST
-
490  Notify(PSTR("\r\nNo pin was set"), 0x80);
-
491 #endif
- -
493  }
-
494  break;
-
495 
-
496  case EV_LINK_KEY_REQUEST:
-
497 #ifdef DEBUG_USB_HOST
-
498  Notify(PSTR("\r\nReceived Key Request"), 0x80);
-
499 #endif
- -
501  break;
-
502 
- -
504  if (pairWithWii && !connectToWii) {
-
505 #ifdef DEBUG_USB_HOST
-
506  Notify(PSTR("\r\nPairing successful"), 0x80);
-
507 #endif
-
508  connectToWii = true; // Only send the ACL data to the Wii service
-
509  }
+
427  inquiry_counter++;
+
428  break;
+
429 
+
430  case EV_INQUIRY_RESULT:
+
431  if (hcibuf[2]) { // Check that there is more than zero responses
+
432 #ifdef EXTRADEBUG
+
433  Notify(PSTR("\r\nNumber of responses: "), 0x80);
+
434  Notify(hcibuf[2], 0x80);
+
435 #endif
+
436  for (uint8_t i = 0; i < hcibuf[2]; i++) {
+
437  if ((hcibuf[4 + 8 * hcibuf[2] + 3 * i] == 0x04 && hcibuf[5 + 8 * hcibuf[2] + 3 * i] == 0x25 && hcibuf[6 + 8 * hcibuf[2] + 3 * i] == 0x00) || (hcibuf[4 + 8 * hcibuf[2] + 3 * i] == 0x08 && hcibuf[5 + 8 * hcibuf[2] + 3 * i] == 0x05 && hcibuf[6 + 8 * hcibuf[2] + 3 * i] == 0x00)) { // See http://bluetooth-pentest.narod.ru/software/bluetooth_class_of_device-service_generator.html and http://wiibrew.org/wiki/Wiimote#SDP_information
+
438  if (hcibuf[4 + 8 * hcibuf[2] + 3 * i] == 0x08) // Check if it's the new Wiimote with motion plus inside that was detected
+
439  motionPlusInside = true;
+
440  else
+
441  motionPlusInside = false;
+
442  disc_bdaddr[0] = hcibuf[3 + 6 * i];
+
443  disc_bdaddr[1] = hcibuf[4 + 6 * i];
+
444  disc_bdaddr[2] = hcibuf[5 + 6 * i];
+
445  disc_bdaddr[3] = hcibuf[6 + 6 * i];
+
446  disc_bdaddr[4] = hcibuf[7 + 6 * i];
+
447  disc_bdaddr[5] = hcibuf[8 + 6 * i];
+
448  hci_event_flag |= HCI_FLAG_WII_FOUND;
+
449  break;
+
450  }
+
451 #ifdef EXTRADEBUG
+
452  else {
+
453  Notify(PSTR("\r\nClass of device: "), 0x80);
+
454  D_PrintHex<uint8_t > (hcibuf[6 + 8 * hcibuf[2] + 3 * i], 0x80);
+
455  Notify(PSTR(" "), 0x80);
+
456  D_PrintHex<uint8_t > (hcibuf[5 + 8 * hcibuf[2] + 3 * i], 0x80);
+
457  Notify(PSTR(" "), 0x80);
+
458  D_PrintHex<uint8_t > (hcibuf[4 + 8 * hcibuf[2] + 3 * i], 0x80);
+
459  }
+
460 #endif
+
461  }
+
462  }
+
463  break;
+
464 
+
465  case EV_CONNECT_COMPLETE:
+
466  hci_event_flag |= HCI_FLAG_CONNECT_EVENT;
+
467  if (!hcibuf[2]) { // check if connected OK
+
468  hci_handle = hcibuf[3] | ((hcibuf[4] & 0x0F) << 8); // store the handle for the ACL connection
+
469  hci_event_flag |= HCI_FLAG_CONN_COMPLETE; // set connection complete flag
+
470  }
+
471 #ifdef DEBUG_USB_HOST
+
472  else {
+
473  Notify(PSTR("\r\nConnection Failed"), 0x80);
+
474  hci_state = HCI_CHECK_WII_SERVICE;
+
475  }
+
476 #endif
+
477  break;
+
478 
+ +
480  if (!hcibuf[2]) { // check if disconnected OK
+
481  hci_event_flag |= HCI_FLAG_DISCONN_COMPLETE; // set disconnect command complete flag
+
482  hci_event_flag &= ~HCI_FLAG_CONN_COMPLETE; // clear connection complete flag
+
483  }
+
484  break;
+
485 
+ +
487  if (!hcibuf[2]) { // check if reading is OK
+
488  for (uint8_t i = 0; i < min(sizeof (remote_name), sizeof (hcibuf) - 9); i++)
+
489  remote_name[i] = hcibuf[9 + i];
+
490  hci_event_flag |= HCI_FLAG_REMOTE_NAME_COMPLETE;
+
491  }
+
492  break;
+
493 
+
494  case EV_INCOMING_CONNECT:
+
495  disc_bdaddr[0] = hcibuf[2];
+
496  disc_bdaddr[1] = hcibuf[3];
+
497  disc_bdaddr[2] = hcibuf[4];
+
498  disc_bdaddr[3] = hcibuf[5];
+
499  disc_bdaddr[4] = hcibuf[6];
+
500  disc_bdaddr[5] = hcibuf[7];
+
501 #ifdef EXTRADEBUG
+
502  Notify(PSTR("\r\nClass of device: "), 0x80);
+
503  D_PrintHex<uint8_t > (hcibuf[10], 0x80);
+
504  Notify(PSTR(" "), 0x80);
+
505  D_PrintHex<uint8_t > (hcibuf[9], 0x80);
+
506  Notify(PSTR(" "), 0x80);
+
507  D_PrintHex<uint8_t > (hcibuf[8], 0x80);
+
508 #endif
+
509  hci_event_flag |= HCI_FLAG_INCOMING_REQUEST;
510  break;
-
511  /* We will just ignore the following events */
-
512  case EV_NUM_COMPLETE_PKT:
-
513  case EV_ROLE_CHANGED:
- -
515  case EV_LOOPBACK_COMMAND:
- - -
518  case EV_MAX_SLOTS_CHANGE:
- - - - -
523  break;
-
524 #ifdef EXTRADEBUG
-
525  default:
-
526  if (hcibuf[0] != 0x00) {
-
527  Notify(PSTR("\r\nUnmanaged HCI Event: "), 0x80);
-
528  D_PrintHex<uint8_t > (hcibuf[0], 0x80);
+
511 
+
512  case EV_PIN_CODE_REQUEST:
+
513  if (pairWithWii) {
+
514 #ifdef DEBUG_USB_HOST
+
515  Notify(PSTR("\r\nPairing with wiimote"), 0x80);
+
516 #endif
+ +
518  } else if (btdPin != NULL) {
+
519 #ifdef DEBUG_USB_HOST
+
520  Notify(PSTR("\r\nBluetooth pin is set too: "), 0x80);
+
521  NotifyStr(btdPin, 0x80);
+
522 #endif
+ +
524  } else {
+
525 #ifdef DEBUG_USB_HOST
+
526  Notify(PSTR("\r\nNo pin was set"), 0x80);
+
527 #endif
+
529  }
530  break;
-
531 #endif
-
532  } // switch
-
533  }
-
534 #ifdef EXTRADEBUG
-
535  else {
-
536  Notify(PSTR("\r\nHCI event error: "), 0x80);
-
537  D_PrintHex<uint8_t > (rcode, 0x80);
-
538  }
-
539 #endif
-
540  HCI_task();
-
541 }
-
542 
-
543 /* Poll Bluetooth and print result */
-
544 void BTD::HCI_task() {
-
545  switch (hci_state) {
-
546  case HCI_INIT_STATE:
-
547  hci_counter++;
-
548  if (hci_counter > hci_num_reset_loops) { // wait until we have looped x times to clear any old events
-
549  hci_reset();
-
550  hci_state = HCI_RESET_STATE;
-
551  hci_counter = 0;
-
552  }
-
553  break;
-
554 
-
555  case HCI_RESET_STATE:
-
556  hci_counter++;
-
557  if (hci_cmd_complete) {
-
558  hci_counter = 0;
-
559 #ifdef DEBUG_USB_HOST
-
560  Notify(PSTR("\r\nHCI Reset complete"), 0x80);
-
561 #endif
-
562  hci_state = HCI_CLASS_STATE;
- -
564  } else if (hci_counter > hci_num_reset_loops) {
-
565  hci_num_reset_loops *= 10;
-
566  if (hci_num_reset_loops > 2000)
-
567  hci_num_reset_loops = 2000;
-
568 #ifdef DEBUG_USB_HOST
-
569  Notify(PSTR("\r\nNo response to HCI Reset"), 0x80);
-
570 #endif
-
571  hci_state = HCI_INIT_STATE;
-
572  hci_counter = 0;
-
573  }
-
574  break;
-
575 
-
576  case HCI_CLASS_STATE:
-
577  if (hci_cmd_complete) {
-
578 #ifdef DEBUG_USB_HOST
-
579  Notify(PSTR("\r\nWrite class of device"), 0x80);
-
580 #endif
-
581  hci_state = HCI_BDADDR_STATE;
-
582  hci_read_bdaddr();
-
583  }
-
584  break;
-
585 
-
586  case HCI_BDADDR_STATE:
- -
588 #ifdef DEBUG_USB_HOST
-
589  Notify(PSTR("\r\nLocal Bluetooth Address: "), 0x80);
-
590  for (int8_t i = 5; i > 0; i--) {
-
591  D_PrintHex<uint8_t > (my_bdaddr[i], 0x80);
-
592  Notify(PSTR(":"), 0x80);
-
593  }
-
594  D_PrintHex<uint8_t > (my_bdaddr[0], 0x80);
-
595 #endif
- -
597  hci_state = HCI_LOCAL_VERSION_STATE;
-
598  }
-
599  break;
-
600 
-
601  case HCI_LOCAL_VERSION_STATE: // The local version is used by the PS3BT class
- -
603  if (btdName != NULL) {
- -
605  hci_state = HCI_SET_NAME_STATE;
-
606  } else
-
607  hci_state = HCI_CHECK_WII_SERVICE;
-
608  }
-
609  break;
-
610 
-
611  case HCI_SET_NAME_STATE:
-
612  if (hci_cmd_complete) {
-
613 #ifdef DEBUG_USB_HOST
-
614  Notify(PSTR("\r\nThe name is set to: "), 0x80);
-
615  NotifyStr(btdName, 0x80);
+
531 
+
532  case EV_LINK_KEY_REQUEST:
+
533 #ifdef DEBUG_USB_HOST
+
534  Notify(PSTR("\r\nReceived Key Request"), 0x80);
+
535 #endif
+ +
537  break;
+
538 
+ +
540  if (pairWithWii && !connectToWii) {
+
541 #ifdef DEBUG_USB_HOST
+
542  Notify(PSTR("\r\nPairing successful"), 0x80);
+
543 #endif
+
544  connectToWii = true; // Only send the ACL data to the Wii service
+
545  }
+
546  break;
+
547  /* We will just ignore the following events */
+
548  case EV_NUM_COMPLETE_PKT:
+
549  case EV_ROLE_CHANGED:
+ +
551  case EV_LOOPBACK_COMMAND:
+ + +
554  case EV_MAX_SLOTS_CHANGE:
+ + + + +
559  break;
+
560 #ifdef EXTRADEBUG
+
561  default:
+
562  if (hcibuf[0] != 0x00) {
+
563  Notify(PSTR("\r\nUnmanaged HCI Event: "), 0x80);
+
564  D_PrintHex<uint8_t > (hcibuf[0], 0x80);
+
565  }
+
566  break;
+
567 #endif
+
568  } // switch
+
569  }
+
570 #ifdef EXTRADEBUG
+
571  else {
+
572  Notify(PSTR("\r\nHCI event error: "), 0x80);
+
573  D_PrintHex<uint8_t > (rcode, 0x80);
+
574  }
+
575 #endif
+
576  HCI_task();
+
577 }
+
578 
+
579 /* Poll Bluetooth and print result */
+
580 void BTD::HCI_task() {
+
581  switch (hci_state) {
+
582  case HCI_INIT_STATE:
+
583  hci_counter++;
+
584  if (hci_counter > hci_num_reset_loops) { // wait until we have looped x times to clear any old events
+
585  hci_reset();
+
586  hci_state = HCI_RESET_STATE;
+
587  hci_counter = 0;
+
588  }
+
589  break;
+
590 
+
591  case HCI_RESET_STATE:
+
592  hci_counter++;
+
593  if (hci_cmd_complete) {
+
594  hci_counter = 0;
+
595 #ifdef DEBUG_USB_HOST
+
596  Notify(PSTR("\r\nHCI Reset complete"), 0x80);
+
597 #endif
+
598  hci_state = HCI_CLASS_STATE;
+ +
600  } else if (hci_counter > hci_num_reset_loops) {
+
601  hci_num_reset_loops *= 10;
+
602  if (hci_num_reset_loops > 2000)
+
603  hci_num_reset_loops = 2000;
+
604 #ifdef DEBUG_USB_HOST
+
605  Notify(PSTR("\r\nNo response to HCI Reset"), 0x80);
+
606 #endif
+
607  hci_state = HCI_INIT_STATE;
+
608  hci_counter = 0;
+
609  }
+
610  break;
+
611 
+
612  case HCI_CLASS_STATE:
+
613  if (hci_cmd_complete) {
+
614 #ifdef DEBUG_USB_HOST
+
615  Notify(PSTR("\r\nWrite class of device"), 0x80);
616 #endif
-
617  hci_state = HCI_CHECK_WII_SERVICE;
-
618  }
-
619  break;
-
620 
- -
622  if (pairWithWii) { // Check if it should try to connect to a wiimote
-
623 #ifdef DEBUG_USB_HOST
-
624  Notify(PSTR("\r\nStarting inquiry\r\nPress 1 & 2 on the Wiimote\r\nOr press sync if you are using a Wii U Pro Controller"), 0x80);
-
625 #endif
-
626  hci_inquiry();
-
627  hci_state = HCI_INQUIRY_STATE;
-
628  } else
-
629  hci_state = HCI_SCANNING_STATE; // Don't try to connect to a Wiimote
-
630  break;
-
631 
-
632  case HCI_INQUIRY_STATE:
-
633  if (hci_wii_found) {
-
634  hci_inquiry_cancel(); // Stop inquiry
-
635 #ifdef DEBUG_USB_HOST
-
636  Notify(PSTR("\r\nWiimote found"), 0x80);
-
637  Notify(PSTR("\r\nNow just create the instance like so:"), 0x80);
-
638  Notify(PSTR("\r\nWII Wii(&Btd);"), 0x80);
-
639  Notify(PSTR("\r\nAnd then press any button on the Wiimote"), 0x80);
-
640 #endif
-
641  if (motionPlusInside) {
-
642  hci_remote_name(); // We need to know the name to distinguish between a Wiimote and a Wii U Pro Controller
-
643  hci_state = HCI_REMOTE_NAME_STATE;
-
644  } else
-
645  hci_state = HCI_CONNECT_WII_STATE;
-
646  }
-
647  break;
-
648 
- -
650  if (hci_cmd_complete) {
-
651 #ifdef DEBUG_USB_HOST
-
652  Notify(PSTR("\r\nConnecting to Wiimote"), 0x80);
-
653 #endif
-
654  hci_connect();
-
655  hci_state = HCI_CONNECTED_WII_STATE;
-
656  }
-
657  break;
-
658 
- -
660  if (hci_connect_event) {
-
661  if (hci_connect_complete) {
-
662 #ifdef DEBUG_USB_HOST
-
663  Notify(PSTR("\r\nConnected to Wiimote"), 0x80);
-
664 #endif
-
665  hci_authentication_request(); // This will start the pairing with the wiimote
-
666  hci_state = HCI_SCANNING_STATE;
-
667  } else {
-
668 #ifdef DEBUG_USB_HOST
-
669  Notify(PSTR("\r\nTrying to connect one more time..."), 0x80);
-
670 #endif
-
671  hci_connect(); // Try to connect one more time
-
672  }
-
673  }
-
674  break;
-
675 
-
676  case HCI_SCANNING_STATE:
-
677  if (!connectToWii && !pairWithWii) {
-
678 #ifdef DEBUG_USB_HOST
-
679  Notify(PSTR("\r\nWait For Incoming Connection Request"), 0x80);
-
680 #endif
- -
682  watingForConnection = true;
-
683  hci_state = HCI_CONNECT_IN_STATE;
-
684  }
-
685  break;
-
686 
- - -
689  watingForConnection = false;
-
690 #ifdef DEBUG_USB_HOST
-
691  Notify(PSTR("\r\nIncoming Connection Request"), 0x80);
-
692 #endif
-
693  hci_remote_name();
-
694  hci_state = HCI_REMOTE_NAME_STATE;
-
695  } else if (hci_disconnect_complete)
-
696  hci_state = HCI_DISCONNECT_STATE;
-
697  break;
-
698 
- - -
701 #ifdef DEBUG_USB_HOST
-
702  Notify(PSTR("\r\nRemote Name: "), 0x80);
-
703  for (uint8_t i = 0; i < 30; i++) {
-
704  if (remote_name[i] == NULL)
-
705  break;
-
706  Notifyc(remote_name[i], 0x80);
-
707  }
-
708 #endif
-
709  if (strncmp((const char*)remote_name, "Nintendo", 8) == 0) {
-
710  incomingWii = true;
-
711 #ifdef DEBUG_USB_HOST
-
712  Notify(PSTR("\r\nWiimote is connecting"), 0x80);
-
713 #endif
-
714  if (strncmp((const char*)remote_name, "Nintendo RVL-CNT-01-TR", 22) == 0) {
-
715 #ifdef DEBUG_USB_HOST
-
716  Notify(PSTR(" with Motion Plus Inside"), 0x80);
-
717 #endif
-
718  motionPlusInside = true;
-
719  } else if (strncmp((const char*)remote_name, "Nintendo RVL-CNT-01-UC", 22) == 0) {
-
720 #ifdef DEBUG_USB_HOST
-
721  Notify(PSTR(" - Wii U Pro Controller"), 0x80);
-
722 #endif
-
723  motionPlusInside = true;
-
724  wiiUProController = true;
-
725  } else {
-
726  motionPlusInside = false;
-
727  wiiUProController = false;
-
728  }
-
729  }
- -
731  hci_state = HCI_CONNECT_WII_STATE;
-
732  else {
- -
734  hci_state = HCI_CONNECTED_STATE;
-
735  }
-
736  }
-
737  break;
-
738 
-
739  case HCI_CONNECTED_STATE:
-
740  if (hci_connect_complete) {
-
741 #ifdef DEBUG_USB_HOST
-
742  Notify(PSTR("\r\nConnected to Device: "), 0x80);
-
743  for (int8_t i = 5; i > 0; i--) {
-
744  D_PrintHex<uint8_t > (disc_bdaddr[i], 0x80);
-
745  Notify(PSTR(":"), 0x80);
-
746  }
-
747  D_PrintHex<uint8_t > (disc_bdaddr[0], 0x80);
-
748 #endif
-
749  // Clear these flags for a new connection
-
750  l2capConnectionClaimed = false;
-
751  sdpConnectionClaimed = false;
-
752  rfcommConnectionClaimed = false;
-
753 
-
754  hci_event_flag = 0;
-
755  hci_state = HCI_DONE_STATE;
-
756  }
-
757  break;
-
758 
-
759  case HCI_DONE_STATE:
-
760  hci_counter++;
-
761  if (hci_counter > 1000) { // Wait until we have looped 1000 times to make sure that the L2CAP connection has been started
-
762  hci_counter = 0;
-
763  hci_state = HCI_SCANNING_STATE;
-
764  }
-
765  break;
-
766 
- - -
769 #ifdef DEBUG_USB_HOST
-
770  Notify(PSTR("\r\nHCI Disconnected from Device"), 0x80);
-
771 #endif
-
772  hci_event_flag = 0; // Clear all flags
-
773 
-
774  // Reset all buffers
-
775  for (uint8_t i = 0; i < BULK_MAXPKTSIZE; i++)
-
776  hcibuf[i] = 0;
-
777  for (uint8_t i = 0; i < BULK_MAXPKTSIZE; i++)
-
778  l2capinbuf[i] = 0;
-
779 
-
780  hci_state = HCI_SCANNING_STATE;
-
781  }
-
782  break;
-
783  default:
-
784  break;
-
785  }
-
786 }
-
787 
-
788 void BTD::ACL_event_task() {
-
789  uint16_t MAX_BUFFER_SIZE = BULK_MAXPKTSIZE;
-
790  uint8_t rcode = pUsb->inTransfer(bAddress, epInfo[ BTD_DATAIN_PIPE ].epAddr, &MAX_BUFFER_SIZE, l2capinbuf); // input on endpoint 2
-
791  if (!rcode) { // Check for errors
-
792  for (uint8_t i = 0; i < BTD_NUMSERVICES; i++)
-
793  if (btService[i])
-
794  btService[i]->ACLData(l2capinbuf);
-
795  }
-
796 #ifdef EXTRADEBUG
-
797  else if (rcode != hrNAK) {
-
798  Notify(PSTR("\r\nACL data in error: "), 0x80);
-
799  D_PrintHex<uint8_t > (rcode, 0x80);
-
800  }
-
801 #endif
-
802  for (uint8_t i = 0; i < BTD_NUMSERVICES; i++)
-
803  if (btService[i])
-
804  btService[i]->Run();
-
805 }
-
806 
-
807 /************************************************************/
-
808 /* HCI Commands */
+
617  hci_state = HCI_BDADDR_STATE;
+
618  hci_read_bdaddr();
+
619  }
+
620  break;
+
621 
+
622  case HCI_BDADDR_STATE:
+ +
624 #ifdef DEBUG_USB_HOST
+
625  Notify(PSTR("\r\nLocal Bluetooth Address: "), 0x80);
+
626  for (int8_t i = 5; i > 0; i--) {
+
627  D_PrintHex<uint8_t > (my_bdaddr[i], 0x80);
+
628  Notify(PSTR(":"), 0x80);
+
629  }
+
630  D_PrintHex<uint8_t > (my_bdaddr[0], 0x80);
+
631 #endif
+ +
633  hci_state = HCI_LOCAL_VERSION_STATE;
+
634  }
+
635  break;
+
636 
+
637  case HCI_LOCAL_VERSION_STATE: // The local version is used by the PS3BT class
+ +
639  if (btdName != NULL) {
+ +
641  hci_state = HCI_SET_NAME_STATE;
+
642  } else
+
643  hci_state = HCI_CHECK_WII_SERVICE;
+
644  }
+
645  break;
+
646 
+
647  case HCI_SET_NAME_STATE:
+
648  if (hci_cmd_complete) {
+
649 #ifdef DEBUG_USB_HOST
+
650  Notify(PSTR("\r\nThe name is set to: "), 0x80);
+
651  NotifyStr(btdName, 0x80);
+
652 #endif
+
653  hci_state = HCI_CHECK_WII_SERVICE;
+
654  }
+
655  break;
+
656 
+ +
658  if (pairWithWii) { // Check if it should try to connect to a wiimote
+
659 #ifdef DEBUG_USB_HOST
+
660  Notify(PSTR("\r\nStarting inquiry\r\nPress 1 & 2 on the Wiimote\r\nOr press sync if you are using a Wii U Pro Controller"), 0x80);
+
661 #endif
+
662  hci_inquiry();
+
663  hci_state = HCI_INQUIRY_STATE;
+
664  } else
+
665  hci_state = HCI_SCANNING_STATE; // Don't try to connect to a Wiimote
+
666  break;
+
667 
+
668  case HCI_INQUIRY_STATE:
+
669  if (hci_wii_found) {
+
670  hci_inquiry_cancel(); // Stop inquiry
+
671 #ifdef DEBUG_USB_HOST
+
672  Notify(PSTR("\r\nWiimote found"), 0x80);
+
673  Notify(PSTR("\r\nNow just create the instance like so:"), 0x80);
+
674  Notify(PSTR("\r\nWII Wii(&Btd);"), 0x80);
+
675  Notify(PSTR("\r\nAnd then press any button on the Wiimote"), 0x80);
+
676 #endif
+
677  if (motionPlusInside) {
+
678  hci_remote_name(); // We need to know the name to distinguish between a Wiimote and a Wii U Pro Controller
+
679  hci_state = HCI_REMOTE_NAME_STATE;
+
680  } else
+
681  hci_state = HCI_CONNECT_WII_STATE;
+
682  }
+
683  break;
+
684 
+ +
686  if (hci_cmd_complete) {
+
687 #ifdef DEBUG_USB_HOST
+
688  Notify(PSTR("\r\nConnecting to Wiimote"), 0x80);
+
689 #endif
+
690  hci_connect();
+
691  hci_state = HCI_CONNECTED_WII_STATE;
+
692  }
+
693  break;
+
694 
+ +
696  if (hci_connect_event) {
+
697  if (hci_connect_complete) {
+
698 #ifdef DEBUG_USB_HOST
+
699  Notify(PSTR("\r\nConnected to Wiimote"), 0x80);
+
700 #endif
+
701  hci_authentication_request(); // This will start the pairing with the wiimote
+
702  hci_state = HCI_SCANNING_STATE;
+
703  } else {
+
704 #ifdef DEBUG_USB_HOST
+
705  Notify(PSTR("\r\nTrying to connect one more time..."), 0x80);
+
706 #endif
+
707  hci_connect(); // Try to connect one more time
+
708  }
+
709  }
+
710  break;
+
711 
+
712  case HCI_SCANNING_STATE:
+
713  if (!connectToWii && !pairWithWii) {
+
714 #ifdef DEBUG_USB_HOST
+
715  Notify(PSTR("\r\nWait For Incoming Connection Request"), 0x80);
+
716 #endif
+ +
718  watingForConnection = true;
+
719  hci_state = HCI_CONNECT_IN_STATE;
+
720  }
+
721  break;
+
722 
+ + +
725  watingForConnection = false;
+
726 #ifdef DEBUG_USB_HOST
+
727  Notify(PSTR("\r\nIncoming Connection Request"), 0x80);
+
728 #endif
+
729  hci_remote_name();
+
730  hci_state = HCI_REMOTE_NAME_STATE;
+
731  } else if (hci_disconnect_complete)
+
732  hci_state = HCI_DISCONNECT_STATE;
+
733  break;
+
734 
+ + +
737 #ifdef DEBUG_USB_HOST
+
738  Notify(PSTR("\r\nRemote Name: "), 0x80);
+
739  for (uint8_t i = 0; i < 30; i++) {
+
740  if (remote_name[i] == NULL)
+
741  break;
+
742  Notifyc(remote_name[i], 0x80);
+
743  }
+
744 #endif
+
745  if (strncmp((const char*)remote_name, "Nintendo", 8) == 0) {
+
746  incomingWii = true;
+
747 #ifdef DEBUG_USB_HOST
+
748  Notify(PSTR("\r\nWiimote is connecting"), 0x80);
+
749 #endif
+
750  if (strncmp((const char*)remote_name, "Nintendo RVL-CNT-01-TR", 22) == 0) {
+
751 #ifdef DEBUG_USB_HOST
+
752  Notify(PSTR(" with Motion Plus Inside"), 0x80);
+
753 #endif
+
754  motionPlusInside = true;
+
755  } else if (strncmp((const char*)remote_name, "Nintendo RVL-CNT-01-UC", 22) == 0) {
+
756 #ifdef DEBUG_USB_HOST
+
757  Notify(PSTR(" - Wii U Pro Controller"), 0x80);
+
758 #endif
+
759  motionPlusInside = true;
+
760  wiiUProController = true;
+
761  } else {
+
762  motionPlusInside = false;
+
763  wiiUProController = false;
+
764  }
+
765  }
+ +
767  hci_state = HCI_CONNECT_WII_STATE;
+
768  else {
+ +
770  hci_state = HCI_CONNECTED_STATE;
+
771  }
+
772  }
+
773  break;
+
774 
+
775  case HCI_CONNECTED_STATE:
+
776  if (hci_connect_complete) {
+
777 #ifdef DEBUG_USB_HOST
+
778  Notify(PSTR("\r\nConnected to Device: "), 0x80);
+
779  for (int8_t i = 5; i > 0; i--) {
+
780  D_PrintHex<uint8_t > (disc_bdaddr[i], 0x80);
+
781  Notify(PSTR(":"), 0x80);
+
782  }
+
783  D_PrintHex<uint8_t > (disc_bdaddr[0], 0x80);
+
784 #endif
+
785  // Clear these flags for a new connection
+
786  l2capConnectionClaimed = false;
+
787  sdpConnectionClaimed = false;
+
788  rfcommConnectionClaimed = false;
+
789 
+
790  hci_event_flag = 0;
+
791  hci_state = HCI_DONE_STATE;
+
792  }
+
793  break;
+
794 
+
795  case HCI_DONE_STATE:
+
796  hci_counter++;
+
797  if (hci_counter > 1000) { // Wait until we have looped 1000 times to make sure that the L2CAP connection has been started
+
798  hci_counter = 0;
+
799  hci_state = HCI_SCANNING_STATE;
+
800  }
+
801  break;
+
802 
+ + +
805 #ifdef DEBUG_USB_HOST
+
806  Notify(PSTR("\r\nHCI Disconnected from Device"), 0x80);
+
807 #endif
+
808  hci_event_flag = 0; // Clear all flags
809 
-
810 /************************************************************/
-
811 void BTD::HCI_Command(uint8_t* data, uint16_t nbytes) {
-
812  hci_event_flag &= ~HCI_FLAG_CMD_COMPLETE;
-
813  pUsb->ctrlReq(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, bmREQ_HCI_OUT, 0x00, 0x00, 0x00, 0x00, nbytes, nbytes, data, NULL);
-
814 }
+
810  // Reset all buffers
+
811  for (uint8_t i = 0; i < BULK_MAXPKTSIZE; i++)
+
812  hcibuf[i] = 0;
+
813  for (uint8_t i = 0; i < BULK_MAXPKTSIZE; i++)
+
814  l2capinbuf[i] = 0;
815 
- -
817  hci_event_flag = 0; // Clear all the flags
-
818  hcibuf[0] = 0x03; // HCI OCF = 3
-
819  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
-
820  hcibuf[2] = 0x00;
-
821 
-
822  HCI_Command(hcibuf, 3);
-
823 }
-
824 
- -
826  hci_event_flag &= ~HCI_FLAG_INCOMING_REQUEST;
-
827  hcibuf[0] = 0x1A; // HCI OCF = 1A
-
828  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
-
829  hcibuf[2] = 0x01; // parameter length = 1
-
830  if (btdName != NULL)
-
831  hcibuf[3] = 0x03; // Inquiry Scan enabled. Page Scan enabled.
-
832  else
-
833  hcibuf[3] = 0x02; // Inquiry Scan disabled. Page Scan enabled.
-
834 
-
835  HCI_Command(hcibuf, 4);
-
836 }
-
837 
- -
839  hcibuf[0] = 0x1A; // HCI OCF = 1A
-
840  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
-
841  hcibuf[2] = 0x01; // parameter length = 1
-
842  hcibuf[3] = 0x00; // Inquiry Scan disabled. Page Scan disabled.
-
843 
-
844  HCI_Command(hcibuf, 4);
+
816  connectToWii = false;
+
817  incomingWii = false;
+
818  pairWithWii = false;
+
819 
+
820  hci_state = HCI_SCANNING_STATE;
+
821  }
+
822  break;
+
823  default:
+
824  break;
+
825  }
+
826 }
+
827 
+
828 void BTD::ACL_event_task() {
+
829  uint16_t MAX_BUFFER_SIZE = BULK_MAXPKTSIZE;
+
830  uint8_t rcode = pUsb->inTransfer(bAddress, epInfo[ BTD_DATAIN_PIPE ].epAddr, &MAX_BUFFER_SIZE, l2capinbuf); // input on endpoint 2
+
831  if (!rcode) { // Check for errors
+
832  for (uint8_t i = 0; i < BTD_NUMSERVICES; i++)
+
833  if (btService[i])
+
834  btService[i]->ACLData(l2capinbuf);
+
835  }
+
836 #ifdef EXTRADEBUG
+
837  else if (rcode != hrNAK) {
+
838  Notify(PSTR("\r\nACL data in error: "), 0x80);
+
839  D_PrintHex<uint8_t > (rcode, 0x80);
+
840  }
+
841 #endif
+
842  for (uint8_t i = 0; i < BTD_NUMSERVICES; i++)
+
843  if (btService[i])
+
844  btService[i]->Run();
845 }
846 
- -
848  hcibuf[0] = 0x09; // HCI OCF = 9
-
849  hcibuf[1] = 0x04 << 2; // HCI OGF = 4
-
850  hcibuf[2] = 0x00;
-
851 
-
852  HCI_Command(hcibuf, 3);
-
853 }
-
854 
- -
856  hcibuf[0] = 0x01; // HCI OCF = 1
-
857  hcibuf[1] = 0x04 << 2; // HCI OGF = 4
-
858  hcibuf[2] = 0x00;
-
859 
-
860  HCI_Command(hcibuf, 3);
-
861 }
-
862 
- -
864  hci_event_flag &= ~HCI_FLAG_CONN_COMPLETE;
-
865  hcibuf[0] = 0x09; // HCI OCF = 9
-
866  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
867  hcibuf[2] = 0x07; // parameter length 7
-
868  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
-
869  hcibuf[4] = disc_bdaddr[1];
-
870  hcibuf[5] = disc_bdaddr[2];
-
871  hcibuf[6] = disc_bdaddr[3];
-
872  hcibuf[7] = disc_bdaddr[4];
-
873  hcibuf[8] = disc_bdaddr[5];
-
874  hcibuf[9] = 0x00; //switch role to master
-
875 
-
876  HCI_Command(hcibuf, 10);
-
877 }
-
878 
- -
880  hci_event_flag &= ~HCI_FLAG_REMOTE_NAME_COMPLETE;
-
881  hcibuf[0] = 0x19; // HCI OCF = 19
-
882  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
883  hcibuf[2] = 0x0A; // parameter length = 10
-
884  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
-
885  hcibuf[4] = disc_bdaddr[1];
-
886  hcibuf[5] = disc_bdaddr[2];
-
887  hcibuf[6] = disc_bdaddr[3];
-
888  hcibuf[7] = disc_bdaddr[4];
-
889  hcibuf[8] = disc_bdaddr[5];
-
890  hcibuf[9] = 0x01; //Page Scan Repetition Mode
-
891  hcibuf[10] = 0x00; //Reserved
-
892  hcibuf[11] = 0x00; //Clock offset - low byte
-
893  hcibuf[12] = 0x00; //Clock offset - high byte
+
847 /************************************************************/
+
848 /* HCI Commands */
+
849 
+
850 /************************************************************/
+
851 void BTD::HCI_Command(uint8_t* data, uint16_t nbytes) {
+
852  hci_event_flag &= ~HCI_FLAG_CMD_COMPLETE;
+
853  pUsb->ctrlReq(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, bmREQ_HCI_OUT, 0x00, 0x00, 0x00, 0x00, nbytes, nbytes, data, NULL);
+
854 }
+
855 
+ +
857  hci_event_flag = 0; // Clear all the flags
+
858  hcibuf[0] = 0x03; // HCI OCF = 3
+
859  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
+
860  hcibuf[2] = 0x00;
+
861 
+
862  HCI_Command(hcibuf, 3);
+
863 }
+
864 
+ +
866  hci_event_flag &= ~HCI_FLAG_INCOMING_REQUEST;
+
867  hcibuf[0] = 0x1A; // HCI OCF = 1A
+
868  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
+
869  hcibuf[2] = 0x01; // parameter length = 1
+
870  if (btdName != NULL)
+
871  hcibuf[3] = 0x03; // Inquiry Scan enabled. Page Scan enabled.
+
872  else
+
873  hcibuf[3] = 0x02; // Inquiry Scan disabled. Page Scan enabled.
+
874 
+
875  HCI_Command(hcibuf, 4);
+
876 }
+
877 
+ +
879  hcibuf[0] = 0x1A; // HCI OCF = 1A
+
880  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
+
881  hcibuf[2] = 0x01; // parameter length = 1
+
882  hcibuf[3] = 0x00; // Inquiry Scan disabled. Page Scan disabled.
+
883 
+
884  HCI_Command(hcibuf, 4);
+
885 }
+
886 
+ +
888  hcibuf[0] = 0x09; // HCI OCF = 9
+
889  hcibuf[1] = 0x04 << 2; // HCI OGF = 4
+
890  hcibuf[2] = 0x00;
+
891 
+
892  HCI_Command(hcibuf, 3);
+
893 }
894 
-
895  HCI_Command(hcibuf, 13);
-
896 }
-
897 
-
898 void BTD::hci_set_local_name(const char* name) {
-
899  hcibuf[0] = 0x13; // HCI OCF = 13
-
900  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
-
901  hcibuf[2] = strlen(name) + 1; // parameter length = the length of the string + end byte
-
902  uint8_t i;
-
903  for (i = 0; i < strlen(name); i++)
-
904  hcibuf[i + 3] = name[i];
-
905  hcibuf[i + 3] = 0x00; // End of string
-
906 
-
907  HCI_Command(hcibuf, 4 + strlen(name));
-
908 }
-
909 
- -
911  hci_event_flag &= ~HCI_FLAG_WII_FOUND;
-
912  hcibuf[0] = 0x01;
-
913  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
914  hcibuf[2] = 0x05; // Parameter Total Length = 5
-
915  hcibuf[3] = 0x33; // LAP: Genera/Unlimited Inquiry Access Code (GIAC = 0x9E8B33) - see https://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm
-
916  hcibuf[4] = 0x8B;
-
917  hcibuf[5] = 0x9E;
-
918  hcibuf[6] = 0x30; // Inquiry time = 61.44 sec (maximum)
-
919  hcibuf[7] = 0x0A; // 10 number of responses
-
920 
-
921  HCI_Command(hcibuf, 8);
-
922 }
-
923 
- -
925  hcibuf[0] = 0x02;
-
926  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
927  hcibuf[2] = 0x00; // Parameter Total Length = 0
-
928 
-
929  HCI_Command(hcibuf, 3);
-
930 }
-
931 
- -
933  hci_event_flag &= ~(HCI_FLAG_CONN_COMPLETE | HCI_FLAG_CONNECT_EVENT);
-
934  hcibuf[0] = 0x05;
-
935  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
936  hcibuf[2] = 0x0D; // parameter Total Length = 13
-
937  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
-
938  hcibuf[4] = disc_bdaddr[1];
-
939  hcibuf[5] = disc_bdaddr[2];
-
940  hcibuf[6] = disc_bdaddr[3];
-
941  hcibuf[7] = disc_bdaddr[4];
-
942  hcibuf[8] = disc_bdaddr[5];
-
943  hcibuf[9] = 0x18; // DM1 or DH1 may be used
-
944  hcibuf[10] = 0xCC; // DM3, DH3, DM5, DH5 may be used
-
945  hcibuf[11] = 0x01; // Page repetition mode R1
-
946  hcibuf[12] = 0x00; // Reserved
-
947  hcibuf[13] = 0x00; // Clock offset
-
948  hcibuf[14] = 0x00; // Invalid clock offset
-
949  hcibuf[15] = 0x00; // Do not allow role switch
-
950 
-
951  HCI_Command(hcibuf, 16);
-
952 }
-
953 
- -
955  hcibuf[0] = 0x0D; // HCI OCF = 0D
-
956  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
957  hcibuf[2] = 0x17; // parameter length 23
-
958  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
-
959  hcibuf[4] = disc_bdaddr[1];
-
960  hcibuf[5] = disc_bdaddr[2];
-
961  hcibuf[6] = disc_bdaddr[3];
-
962  hcibuf[7] = disc_bdaddr[4];
-
963  hcibuf[8] = disc_bdaddr[5];
-
964  if (pairWithWii) {
-
965  hcibuf[9] = 6; // Pin length is the length of the Bluetooth address
-
966  if (wiiUProController) {
-
967 #ifdef DEBUG_USB_HOST
-
968  Notify(PSTR("\r\nParing with Wii U Pro Controller"), 0x80);
-
969 #endif
-
970  for (uint8_t i = 0; i < 6; i++)
-
971  hcibuf[10 + i] = my_bdaddr[i]; // The pin is the Bluetooth dongles Bluetooth address backwards
-
972  } else {
-
973  for (uint8_t i = 0; i < 6; i++)
-
974  hcibuf[10 + i] = disc_bdaddr[i]; // The pin is the Wiimote's Bluetooth address backwards
-
975  }
-
976  for (uint8_t i = 16; i < 26; i++)
-
977  hcibuf[i] = 0x00; // The rest should be 0
-
978  } else {
-
979  hcibuf[9] = strlen(btdPin); // Length of pin
-
980  uint8_t i;
-
981  for (i = 0; i < strlen(btdPin); i++) // The maximum size of the pin is 16
-
982  hcibuf[i + 10] = btdPin[i];
-
983  for (; i < 16; i++)
-
984  hcibuf[i + 10] = 0x00; // The rest should be 0
-
985  }
-
986 
-
987  HCI_Command(hcibuf, 26);
-
988 }
-
989 
- -
991  hcibuf[0] = 0x0E; // HCI OCF = 0E
-
992  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
993  hcibuf[2] = 0x06; // parameter length 6
-
994  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
-
995  hcibuf[4] = disc_bdaddr[1];
-
996  hcibuf[5] = disc_bdaddr[2];
-
997  hcibuf[6] = disc_bdaddr[3];
-
998  hcibuf[7] = disc_bdaddr[4];
-
999  hcibuf[8] = disc_bdaddr[5];
-
1000 
-
1001  HCI_Command(hcibuf, 9);
-
1002 }
-
1003 
- -
1005  hcibuf[0] = 0x0C; // HCI OCF = 0C
-
1006  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
1007  hcibuf[2] = 0x06; // parameter length 6
-
1008  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
-
1009  hcibuf[4] = disc_bdaddr[1];
-
1010  hcibuf[5] = disc_bdaddr[2];
-
1011  hcibuf[6] = disc_bdaddr[3];
-
1012  hcibuf[7] = disc_bdaddr[4];
-
1013  hcibuf[8] = disc_bdaddr[5];
-
1014 
-
1015  HCI_Command(hcibuf, 9);
-
1016 }
-
1017 
- -
1019  hcibuf[0] = 0x11; // HCI OCF = 11
-
1020  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
1021  hcibuf[2] = 0x02; // parameter length = 2
-
1022  hcibuf[3] = (uint8_t)(hci_handle & 0xFF); //connection handle - low byte
-
1023  hcibuf[4] = (uint8_t)((hci_handle >> 8) & 0x0F); //connection handle - high byte
-
1024 
-
1025  HCI_Command(hcibuf, 5);
-
1026 }
-
1027 
-
1028 void BTD::hci_disconnect(uint16_t handle) { // This is called by the different services
-
1029  hci_event_flag &= ~HCI_FLAG_DISCONN_COMPLETE;
-
1030  hcibuf[0] = 0x06; // HCI OCF = 6
-
1031  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
-
1032  hcibuf[2] = 0x03; // parameter length = 3
-
1033  hcibuf[3] = (uint8_t)(handle & 0xFF); //connection handle - low byte
-
1034  hcibuf[4] = (uint8_t)((handle >> 8) & 0x0F); //connection handle - high byte
-
1035  hcibuf[5] = 0x13; // reason
-
1036 
-
1037  HCI_Command(hcibuf, 6);
-
1038 }
-
1039 
-
1040 void BTD::hci_write_class_of_device() { // See http://bluetooth-pentest.narod.ru/software/bluetooth_class_of_device-service_generator.html
-
1041  hcibuf[0] = 0x24; // HCI OCF = 3
-
1042  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
-
1043  hcibuf[2] = 0x03; // parameter length = 3
-
1044  hcibuf[3] = 0x04; // Robot
-
1045  hcibuf[4] = 0x08; // Toy
-
1046  hcibuf[5] = 0x00;
-
1047 
-
1048  HCI_Command(hcibuf, 6);
-
1049 }
-
1050 /*******************************************************************
-
1051  * *
-
1052  * HCI ACL Data Packet *
-
1053  * *
-
1054  * buf[0] buf[1] buf[2] buf[3]
-
1055  * 0 4 8 11 12 16 24 31 MSB
-
1056  * .-+-+-+-+-+-+-+-|-+-+-+-|-+-|-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
-
1057  * | HCI Handle |PB |BC | Data Total Length | HCI ACL Data Packet
-
1058  * .-+-+-+-+-+-+-+-|-+-+-+-|-+-|-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
-
1059  *
-
1060  * buf[4] buf[5] buf[6] buf[7]
-
1061  * 0 8 16 31 MSB
-
1062  * .-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
-
1063  * | Length | Channel ID | Basic L2CAP header
-
1064  * .-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
-
1065  *
-
1066  * buf[8] buf[9] buf[10] buf[11]
-
1067  * 0 8 16 31 MSB
-
1068  * .-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
-
1069  * | Code | Identifier | Length | Control frame (C-frame)
-
1070  * .-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-. (signaling packet format)
-
1071  */
-
1072 /************************************************************/
-
1073 /* L2CAP Commands */
-
1074 
-
1075 /************************************************************/
-
1076 void BTD::L2CAP_Command(uint16_t handle, uint8_t* data, uint8_t nbytes, uint8_t channelLow, uint8_t channelHigh) {
-
1077  uint8_t buf[8 + nbytes];
-
1078  buf[0] = (uint8_t)(handle & 0xff); // HCI handle with PB,BC flag
-
1079  buf[1] = (uint8_t)(((handle >> 8) & 0x0f) | 0x20);
-
1080  buf[2] = (uint8_t)((4 + nbytes) & 0xff); // HCI ACL total data length
-
1081  buf[3] = (uint8_t)((4 + nbytes) >> 8);
-
1082  buf[4] = (uint8_t)(nbytes & 0xff); // L2CAP header: Length
-
1083  buf[5] = (uint8_t)(nbytes >> 8);
-
1084  buf[6] = channelLow;
-
1085  buf[7] = channelHigh;
-
1086 
-
1087  for (uint16_t i = 0; i < nbytes; i++) // L2CAP C-frame
-
1088  buf[8 + i] = data[i];
-
1089 
-
1090  uint8_t rcode = pUsb->outTransfer(bAddress, epInfo[ BTD_DATAOUT_PIPE ].epAddr, (8 + nbytes), buf);
-
1091  if (rcode) {
-
1092  delay(100); // This small delay prevents it from overflowing if it fails
-
1093 #ifdef DEBUG_USB_HOST
-
1094  Notify(PSTR("\r\nError sending L2CAP message: 0x"), 0x80);
-
1095  D_PrintHex<uint8_t > (rcode, 0x80);
-
1096  Notify(PSTR(" - Channel ID: "), 0x80);
-
1097  D_PrintHex<uint8_t > (channelHigh, 0x80);
-
1098  Notify(PSTR(" "), 0x80);
-
1099  D_PrintHex<uint8_t > (channelLow, 0x80);
-
1100 #endif
-
1101  }
-
1102 }
-
1103 
-
1104 void BTD::l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t* scid, uint16_t psm) {
-
1105  l2capoutbuf[0] = L2CAP_CMD_CONNECTION_REQUEST; // Code
-
1106  l2capoutbuf[1] = rxid; // Identifier
-
1107  l2capoutbuf[2] = 0x04; // Length
-
1108  l2capoutbuf[3] = 0x00;
-
1109  l2capoutbuf[4] = (uint8_t)(psm & 0xff); // PSM
-
1110  l2capoutbuf[5] = (uint8_t)(psm >> 8);
-
1111  l2capoutbuf[6] = scid[0]; // Source CID
-
1112  l2capoutbuf[7] = scid[1];
-
1113 
-
1114  L2CAP_Command(handle, l2capoutbuf, 8);
-
1115 }
-
1116 
-
1117 void BTD::l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid, uint8_t result) {
-
1118  l2capoutbuf[0] = L2CAP_CMD_CONNECTION_RESPONSE; // Code
-
1119  l2capoutbuf[1] = rxid; // Identifier
-
1120  l2capoutbuf[2] = 0x08; // Length
-
1121  l2capoutbuf[3] = 0x00;
-
1122  l2capoutbuf[4] = dcid[0]; // Destination CID
-
1123  l2capoutbuf[5] = dcid[1];
-
1124  l2capoutbuf[6] = scid[0]; // Source CID
-
1125  l2capoutbuf[7] = scid[1];
-
1126  l2capoutbuf[8] = result; // Result: Pending or Success
-
1127  l2capoutbuf[9] = 0x00;
-
1128  l2capoutbuf[10] = 0x00; // No further information
-
1129  l2capoutbuf[11] = 0x00;
-
1130 
-
1131  L2CAP_Command(handle, l2capoutbuf, 12);
-
1132 }
-
1133 
-
1134 void BTD::l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t* dcid) {
-
1135  l2capoutbuf[0] = L2CAP_CMD_CONFIG_REQUEST; // Code
-
1136  l2capoutbuf[1] = rxid; // Identifier
-
1137  l2capoutbuf[2] = 0x08; // Length
-
1138  l2capoutbuf[3] = 0x00;
-
1139  l2capoutbuf[4] = dcid[0]; // Destination CID
-
1140  l2capoutbuf[5] = dcid[1];
-
1141  l2capoutbuf[6] = 0x00; // Flags
-
1142  l2capoutbuf[7] = 0x00;
-
1143  l2capoutbuf[8] = 0x01; // Config Opt: type = MTU (Maximum Transmission Unit) - Hint
-
1144  l2capoutbuf[9] = 0x02; // Config Opt: length
-
1145  l2capoutbuf[10] = 0xFF; // MTU
-
1146  l2capoutbuf[11] = 0xFF;
-
1147 
-
1148  L2CAP_Command(handle, l2capoutbuf, 12);
-
1149 }
-
1150 
-
1151 void BTD::l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t* scid) {
-
1152  l2capoutbuf[0] = L2CAP_CMD_CONFIG_RESPONSE; // Code
-
1153  l2capoutbuf[1] = rxid; // Identifier
-
1154  l2capoutbuf[2] = 0x0A; // Length
-
1155  l2capoutbuf[3] = 0x00;
-
1156  l2capoutbuf[4] = scid[0]; // Source CID
-
1157  l2capoutbuf[5] = scid[1];
-
1158  l2capoutbuf[6] = 0x00; // Flag
-
1159  l2capoutbuf[7] = 0x00;
-
1160  l2capoutbuf[8] = 0x00; // Result
-
1161  l2capoutbuf[9] = 0x00;
-
1162  l2capoutbuf[10] = 0x01; // Config
-
1163  l2capoutbuf[11] = 0x02;
-
1164  l2capoutbuf[12] = 0xA0;
-
1165  l2capoutbuf[13] = 0x02;
-
1166 
-
1167  L2CAP_Command(handle, l2capoutbuf, 14);
-
1168 }
-
1169 
-
1170 void BTD::l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid) {
-
1171  l2capoutbuf[0] = L2CAP_CMD_DISCONNECT_REQUEST; // Code
-
1172  l2capoutbuf[1] = rxid; // Identifier
-
1173  l2capoutbuf[2] = 0x04; // Length
-
1174  l2capoutbuf[3] = 0x00;
-
1175  l2capoutbuf[4] = dcid[0];
-
1176  l2capoutbuf[5] = dcid[1];
-
1177  l2capoutbuf[6] = scid[0];
-
1178  l2capoutbuf[7] = scid[1];
-
1179 
-
1180  L2CAP_Command(handle, l2capoutbuf, 8);
-
1181 }
-
1182 
-
1183 void BTD::l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid) {
-
1184  l2capoutbuf[0] = L2CAP_CMD_DISCONNECT_RESPONSE; // Code
-
1185  l2capoutbuf[1] = rxid; // Identifier
-
1186  l2capoutbuf[2] = 0x04; // Length
-
1187  l2capoutbuf[3] = 0x00;
-
1188  l2capoutbuf[4] = dcid[0];
-
1189  l2capoutbuf[5] = dcid[1];
-
1190  l2capoutbuf[6] = scid[0];
-
1191  l2capoutbuf[7] = scid[1];
-
1192 
-
1193  L2CAP_Command(handle, l2capoutbuf, 8);
-
1194 }
-
1195 
-
1196 void BTD::l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh) {
-
1197  l2capoutbuf[0] = L2CAP_CMD_INFORMATION_RESPONSE; // Code
-
1198  l2capoutbuf[1] = rxid; // Identifier
-
1199  l2capoutbuf[2] = 0x08; // Length
-
1200  l2capoutbuf[3] = 0x00;
-
1201  l2capoutbuf[4] = infoTypeLow;
-
1202  l2capoutbuf[5] = infoTypeHigh;
-
1203  l2capoutbuf[6] = 0x00; // Result = success
-
1204  l2capoutbuf[7] = 0x00; // Result = success
-
1205  l2capoutbuf[8] = 0x00;
-
1206  l2capoutbuf[9] = 0x00;
-
1207  l2capoutbuf[10] = 0x00;
-
1208  l2capoutbuf[11] = 0x00;
+ +
896  hcibuf[0] = 0x01; // HCI OCF = 1
+
897  hcibuf[1] = 0x04 << 2; // HCI OGF = 4
+
898  hcibuf[2] = 0x00;
+
899 
+
900  HCI_Command(hcibuf, 3);
+
901 }
+
902 
+ +
904  hci_event_flag &= ~HCI_FLAG_CONN_COMPLETE;
+
905  hcibuf[0] = 0x09; // HCI OCF = 9
+
906  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
907  hcibuf[2] = 0x07; // parameter length 7
+
908  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
+
909  hcibuf[4] = disc_bdaddr[1];
+
910  hcibuf[5] = disc_bdaddr[2];
+
911  hcibuf[6] = disc_bdaddr[3];
+
912  hcibuf[7] = disc_bdaddr[4];
+
913  hcibuf[8] = disc_bdaddr[5];
+
914  hcibuf[9] = 0x00; //switch role to master
+
915 
+
916  HCI_Command(hcibuf, 10);
+
917 }
+
918 
+ +
920  hci_event_flag &= ~HCI_FLAG_REMOTE_NAME_COMPLETE;
+
921  hcibuf[0] = 0x19; // HCI OCF = 19
+
922  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
923  hcibuf[2] = 0x0A; // parameter length = 10
+
924  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
+
925  hcibuf[4] = disc_bdaddr[1];
+
926  hcibuf[5] = disc_bdaddr[2];
+
927  hcibuf[6] = disc_bdaddr[3];
+
928  hcibuf[7] = disc_bdaddr[4];
+
929  hcibuf[8] = disc_bdaddr[5];
+
930  hcibuf[9] = 0x01; //Page Scan Repetition Mode
+
931  hcibuf[10] = 0x00; //Reserved
+
932  hcibuf[11] = 0x00; //Clock offset - low byte
+
933  hcibuf[12] = 0x00; //Clock offset - high byte
+
934 
+
935  HCI_Command(hcibuf, 13);
+
936 }
+
937 
+
938 void BTD::hci_set_local_name(const char* name) {
+
939  hcibuf[0] = 0x13; // HCI OCF = 13
+
940  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
+
941  hcibuf[2] = strlen(name) + 1; // parameter length = the length of the string + end byte
+
942  uint8_t i;
+
943  for (i = 0; i < strlen(name); i++)
+
944  hcibuf[i + 3] = name[i];
+
945  hcibuf[i + 3] = 0x00; // End of string
+
946 
+
947  HCI_Command(hcibuf, 4 + strlen(name));
+
948 }
+
949 
+ +
951  hci_event_flag &= ~HCI_FLAG_WII_FOUND;
+
952  hcibuf[0] = 0x01;
+
953  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
954  hcibuf[2] = 0x05; // Parameter Total Length = 5
+
955  hcibuf[3] = 0x33; // LAP: Genera/Unlimited Inquiry Access Code (GIAC = 0x9E8B33) - see https://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm
+
956  hcibuf[4] = 0x8B;
+
957  hcibuf[5] = 0x9E;
+
958  hcibuf[6] = 0x30; // Inquiry time = 61.44 sec (maximum)
+
959  hcibuf[7] = 0x0A; // 10 number of responses
+
960 
+
961  HCI_Command(hcibuf, 8);
+
962 }
+
963 
+ +
965  hcibuf[0] = 0x02;
+
966  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
967  hcibuf[2] = 0x00; // Parameter Total Length = 0
+
968 
+
969  HCI_Command(hcibuf, 3);
+
970 }
+
971 
+ +
973  hci_event_flag &= ~(HCI_FLAG_CONN_COMPLETE | HCI_FLAG_CONNECT_EVENT);
+
974  hcibuf[0] = 0x05;
+
975  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
976  hcibuf[2] = 0x0D; // parameter Total Length = 13
+
977  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
+
978  hcibuf[4] = disc_bdaddr[1];
+
979  hcibuf[5] = disc_bdaddr[2];
+
980  hcibuf[6] = disc_bdaddr[3];
+
981  hcibuf[7] = disc_bdaddr[4];
+
982  hcibuf[8] = disc_bdaddr[5];
+
983  hcibuf[9] = 0x18; // DM1 or DH1 may be used
+
984  hcibuf[10] = 0xCC; // DM3, DH3, DM5, DH5 may be used
+
985  hcibuf[11] = 0x01; // Page repetition mode R1
+
986  hcibuf[12] = 0x00; // Reserved
+
987  hcibuf[13] = 0x00; // Clock offset
+
988  hcibuf[14] = 0x00; // Invalid clock offset
+
989  hcibuf[15] = 0x00; // Do not allow role switch
+
990 
+
991  HCI_Command(hcibuf, 16);
+
992 }
+
993 
+ +
995  hcibuf[0] = 0x0D; // HCI OCF = 0D
+
996  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
997  hcibuf[2] = 0x17; // parameter length 23
+
998  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
+
999  hcibuf[4] = disc_bdaddr[1];
+
1000  hcibuf[5] = disc_bdaddr[2];
+
1001  hcibuf[6] = disc_bdaddr[3];
+
1002  hcibuf[7] = disc_bdaddr[4];
+
1003  hcibuf[8] = disc_bdaddr[5];
+
1004  if (pairWithWii) {
+
1005  hcibuf[9] = 6; // Pin length is the length of the Bluetooth address
+
1006  if (wiiUProController) {
+
1007 #ifdef DEBUG_USB_HOST
+
1008  Notify(PSTR("\r\nParing with Wii U Pro Controller"), 0x80);
+
1009 #endif
+
1010  for (uint8_t i = 0; i < 6; i++)
+
1011  hcibuf[10 + i] = my_bdaddr[i]; // The pin is the Bluetooth dongles Bluetooth address backwards
+
1012  } else {
+
1013  for (uint8_t i = 0; i < 6; i++)
+
1014  hcibuf[10 + i] = disc_bdaddr[i]; // The pin is the Wiimote's Bluetooth address backwards
+
1015  }
+
1016  for (uint8_t i = 16; i < 26; i++)
+
1017  hcibuf[i] = 0x00; // The rest should be 0
+
1018  } else {
+
1019  hcibuf[9] = strlen(btdPin); // Length of pin
+
1020  uint8_t i;
+
1021  for (i = 0; i < strlen(btdPin); i++) // The maximum size of the pin is 16
+
1022  hcibuf[i + 10] = btdPin[i];
+
1023  for (; i < 16; i++)
+
1024  hcibuf[i + 10] = 0x00; // The rest should be 0
+
1025  }
+
1026 
+
1027  HCI_Command(hcibuf, 26);
+
1028 }
+
1029 
+ +
1031  hcibuf[0] = 0x0E; // HCI OCF = 0E
+
1032  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
1033  hcibuf[2] = 0x06; // parameter length 6
+
1034  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
+
1035  hcibuf[4] = disc_bdaddr[1];
+
1036  hcibuf[5] = disc_bdaddr[2];
+
1037  hcibuf[6] = disc_bdaddr[3];
+
1038  hcibuf[7] = disc_bdaddr[4];
+
1039  hcibuf[8] = disc_bdaddr[5];
+
1040 
+
1041  HCI_Command(hcibuf, 9);
+
1042 }
+
1043 
+ +
1045  hcibuf[0] = 0x0C; // HCI OCF = 0C
+
1046  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
1047  hcibuf[2] = 0x06; // parameter length 6
+
1048  hcibuf[3] = disc_bdaddr[0]; // 6 octet bdaddr
+
1049  hcibuf[4] = disc_bdaddr[1];
+
1050  hcibuf[5] = disc_bdaddr[2];
+
1051  hcibuf[6] = disc_bdaddr[3];
+
1052  hcibuf[7] = disc_bdaddr[4];
+
1053  hcibuf[8] = disc_bdaddr[5];
+
1054 
+
1055  HCI_Command(hcibuf, 9);
+
1056 }
+
1057 
+ +
1059  hcibuf[0] = 0x11; // HCI OCF = 11
+
1060  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
1061  hcibuf[2] = 0x02; // parameter length = 2
+
1062  hcibuf[3] = (uint8_t)(hci_handle & 0xFF); //connection handle - low byte
+
1063  hcibuf[4] = (uint8_t)((hci_handle >> 8) & 0x0F); //connection handle - high byte
+
1064 
+
1065  HCI_Command(hcibuf, 5);
+
1066 }
+
1067 
+
1068 void BTD::hci_disconnect(uint16_t handle) { // This is called by the different services
+
1069  hci_event_flag &= ~HCI_FLAG_DISCONN_COMPLETE;
+
1070  hcibuf[0] = 0x06; // HCI OCF = 6
+
1071  hcibuf[1] = 0x01 << 2; // HCI OGF = 1
+
1072  hcibuf[2] = 0x03; // parameter length = 3
+
1073  hcibuf[3] = (uint8_t)(handle & 0xFF); //connection handle - low byte
+
1074  hcibuf[4] = (uint8_t)((handle >> 8) & 0x0F); //connection handle - high byte
+
1075  hcibuf[5] = 0x13; // reason
+
1076 
+
1077  HCI_Command(hcibuf, 6);
+
1078 }
+
1079 
+
1080 void BTD::hci_write_class_of_device() { // See http://bluetooth-pentest.narod.ru/software/bluetooth_class_of_device-service_generator.html
+
1081  hcibuf[0] = 0x24; // HCI OCF = 3
+
1082  hcibuf[1] = 0x03 << 2; // HCI OGF = 3
+
1083  hcibuf[2] = 0x03; // parameter length = 3
+
1084  hcibuf[3] = 0x04; // Robot
+
1085  hcibuf[4] = 0x08; // Toy
+
1086  hcibuf[5] = 0x00;
+
1087 
+
1088  HCI_Command(hcibuf, 6);
+
1089 }
+
1090 /*******************************************************************
+
1091  * *
+
1092  * HCI ACL Data Packet *
+
1093  * *
+
1094  * buf[0] buf[1] buf[2] buf[3]
+
1095  * 0 4 8 11 12 16 24 31 MSB
+
1096  * .-+-+-+-+-+-+-+-|-+-+-+-|-+-|-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
+
1097  * | HCI Handle |PB |BC | Data Total Length | HCI ACL Data Packet
+
1098  * .-+-+-+-+-+-+-+-|-+-+-+-|-+-|-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
+
1099  *
+
1100  * buf[4] buf[5] buf[6] buf[7]
+
1101  * 0 8 16 31 MSB
+
1102  * .-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
+
1103  * | Length | Channel ID | Basic L2CAP header
+
1104  * .-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
+
1105  *
+
1106  * buf[8] buf[9] buf[10] buf[11]
+
1107  * 0 8 16 31 MSB
+
1108  * .-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-.
+
1109  * | Code | Identifier | Length | Control frame (C-frame)
+
1110  * .-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-|-+-+-+-+-+-+-+-. (signaling packet format)
+
1111  */
+
1112 /************************************************************/
+
1113 /* L2CAP Commands */
+
1114 
+
1115 /************************************************************/
+
1116 void BTD::L2CAP_Command(uint16_t handle, uint8_t* data, uint8_t nbytes, uint8_t channelLow, uint8_t channelHigh) {
+
1117  uint8_t buf[8 + nbytes];
+
1118  buf[0] = (uint8_t)(handle & 0xff); // HCI handle with PB,BC flag
+
1119  buf[1] = (uint8_t)(((handle >> 8) & 0x0f) | 0x20);
+
1120  buf[2] = (uint8_t)((4 + nbytes) & 0xff); // HCI ACL total data length
+
1121  buf[3] = (uint8_t)((4 + nbytes) >> 8);
+
1122  buf[4] = (uint8_t)(nbytes & 0xff); // L2CAP header: Length
+
1123  buf[5] = (uint8_t)(nbytes >> 8);
+
1124  buf[6] = channelLow;
+
1125  buf[7] = channelHigh;
+
1126 
+
1127  for (uint16_t i = 0; i < nbytes; i++) // L2CAP C-frame
+
1128  buf[8 + i] = data[i];
+
1129 
+
1130  uint8_t rcode = pUsb->outTransfer(bAddress, epInfo[ BTD_DATAOUT_PIPE ].epAddr, (8 + nbytes), buf);
+
1131  if (rcode) {
+
1132  delay(100); // This small delay prevents it from overflowing if it fails
+
1133 #ifdef DEBUG_USB_HOST
+
1134  Notify(PSTR("\r\nError sending L2CAP message: 0x"), 0x80);
+
1135  D_PrintHex<uint8_t > (rcode, 0x80);
+
1136  Notify(PSTR(" - Channel ID: "), 0x80);
+
1137  D_PrintHex<uint8_t > (channelHigh, 0x80);
+
1138  Notify(PSTR(" "), 0x80);
+
1139  D_PrintHex<uint8_t > (channelLow, 0x80);
+
1140 #endif
+
1141  }
+
1142 }
+
1143 
+
1144 void BTD::l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t* scid, uint16_t psm) {
+
1145  l2capoutbuf[0] = L2CAP_CMD_CONNECTION_REQUEST; // Code
+
1146  l2capoutbuf[1] = rxid; // Identifier
+
1147  l2capoutbuf[2] = 0x04; // Length
+
1148  l2capoutbuf[3] = 0x00;
+
1149  l2capoutbuf[4] = (uint8_t)(psm & 0xff); // PSM
+
1150  l2capoutbuf[5] = (uint8_t)(psm >> 8);
+
1151  l2capoutbuf[6] = scid[0]; // Source CID
+
1152  l2capoutbuf[7] = scid[1];
+
1153 
+
1154  L2CAP_Command(handle, l2capoutbuf, 8);
+
1155 }
+
1156 
+
1157 void BTD::l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid, uint8_t result) {
+
1158  l2capoutbuf[0] = L2CAP_CMD_CONNECTION_RESPONSE; // Code
+
1159  l2capoutbuf[1] = rxid; // Identifier
+
1160  l2capoutbuf[2] = 0x08; // Length
+
1161  l2capoutbuf[3] = 0x00;
+
1162  l2capoutbuf[4] = dcid[0]; // Destination CID
+
1163  l2capoutbuf[5] = dcid[1];
+
1164  l2capoutbuf[6] = scid[0]; // Source CID
+
1165  l2capoutbuf[7] = scid[1];
+
1166  l2capoutbuf[8] = result; // Result: Pending or Success
+
1167  l2capoutbuf[9] = 0x00;
+
1168  l2capoutbuf[10] = 0x00; // No further information
+
1169  l2capoutbuf[11] = 0x00;
+
1170 
+
1171  L2CAP_Command(handle, l2capoutbuf, 12);
+
1172 }
+
1173 
+
1174 void BTD::l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t* dcid) {
+
1175  l2capoutbuf[0] = L2CAP_CMD_CONFIG_REQUEST; // Code
+
1176  l2capoutbuf[1] = rxid; // Identifier
+
1177  l2capoutbuf[2] = 0x08; // Length
+
1178  l2capoutbuf[3] = 0x00;
+
1179  l2capoutbuf[4] = dcid[0]; // Destination CID
+
1180  l2capoutbuf[5] = dcid[1];
+
1181  l2capoutbuf[6] = 0x00; // Flags
+
1182  l2capoutbuf[7] = 0x00;
+
1183  l2capoutbuf[8] = 0x01; // Config Opt: type = MTU (Maximum Transmission Unit) - Hint
+
1184  l2capoutbuf[9] = 0x02; // Config Opt: length
+
1185  l2capoutbuf[10] = 0xFF; // MTU
+
1186  l2capoutbuf[11] = 0xFF;
+
1187 
+
1188  L2CAP_Command(handle, l2capoutbuf, 12);
+
1189 }
+
1190 
+
1191 void BTD::l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t* scid) {
+
1192  l2capoutbuf[0] = L2CAP_CMD_CONFIG_RESPONSE; // Code
+
1193  l2capoutbuf[1] = rxid; // Identifier
+
1194  l2capoutbuf[2] = 0x0A; // Length
+
1195  l2capoutbuf[3] = 0x00;
+
1196  l2capoutbuf[4] = scid[0]; // Source CID
+
1197  l2capoutbuf[5] = scid[1];
+
1198  l2capoutbuf[6] = 0x00; // Flag
+
1199  l2capoutbuf[7] = 0x00;
+
1200  l2capoutbuf[8] = 0x00; // Result
+
1201  l2capoutbuf[9] = 0x00;
+
1202  l2capoutbuf[10] = 0x01; // Config
+
1203  l2capoutbuf[11] = 0x02;
+
1204  l2capoutbuf[12] = 0xA0;
+
1205  l2capoutbuf[13] = 0x02;
+
1206 
+
1207  L2CAP_Command(handle, l2capoutbuf, 14);
+
1208 }
1209 
-
1210  L2CAP_Command(handle, l2capoutbuf, 12);
-
1211 }
-
1212 
-
1213 /* PS3 Commands - only set Bluetooth address is implemented in this library */
-
1214 void BTD::setBdaddr(uint8_t* bdaddr) {
-
1215  /* Set the internal Bluetooth address */
-
1216  uint8_t buf[8];
-
1217  buf[0] = 0x01;
-
1218  buf[1] = 0x00;
+
1210 void BTD::l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid) {
+
1211  l2capoutbuf[0] = L2CAP_CMD_DISCONNECT_REQUEST; // Code
+
1212  l2capoutbuf[1] = rxid; // Identifier
+
1213  l2capoutbuf[2] = 0x04; // Length
+
1214  l2capoutbuf[3] = 0x00;
+
1215  l2capoutbuf[4] = dcid[0];
+
1216  l2capoutbuf[5] = dcid[1];
+
1217  l2capoutbuf[6] = scid[0];
+
1218  l2capoutbuf[7] = scid[1];
1219 
-
1220  for (uint8_t i = 0; i < 6; i++)
-
1221  buf[i + 2] = bdaddr[5 - i]; // Copy into buffer, has to be written reversed
+
1220  L2CAP_Command(handle, l2capoutbuf, 8);
+
1221 }
1222 
-
1223  // bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0xF5), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data)
-
1224  pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0xF5, 0x03, 0x00, 8, 8, buf, NULL);
-
1225 }
-
1226 
-
1227 void BTD::setMoveBdaddr(uint8_t* bdaddr) {
-
1228  /* Set the internal Bluetooth address */
-
1229  uint8_t buf[11];
-
1230  buf[0] = 0x05;
-
1231  buf[7] = 0x10;
-
1232  buf[8] = 0x01;
-
1233  buf[9] = 0x02;
-
1234  buf[10] = 0x12;
+
1223 void BTD::l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid) {
+
1224  l2capoutbuf[0] = L2CAP_CMD_DISCONNECT_RESPONSE; // Code
+
1225  l2capoutbuf[1] = rxid; // Identifier
+
1226  l2capoutbuf[2] = 0x04; // Length
+
1227  l2capoutbuf[3] = 0x00;
+
1228  l2capoutbuf[4] = dcid[0];
+
1229  l2capoutbuf[5] = dcid[1];
+
1230  l2capoutbuf[6] = scid[0];
+
1231  l2capoutbuf[7] = scid[1];
+
1232 
+
1233  L2CAP_Command(handle, l2capoutbuf, 8);
+
1234 }
1235 
-
1236  for (uint8_t i = 0; i < 6; i++)
-
1237  buf[i + 1] = bdaddr[i];
-
1238 
-
1239  // bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0x05), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data)
-
1240  pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x05, 0x03, 0x00, 11, 11, buf, NULL);
-
1241 }
+
1236 void BTD::l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh) {
+
1237  l2capoutbuf[0] = L2CAP_CMD_INFORMATION_RESPONSE; // Code
+
1238  l2capoutbuf[1] = rxid; // Identifier
+
1239  l2capoutbuf[2] = 0x08; // Length
+
1240  l2capoutbuf[3] = 0x00;
+
1241  l2capoutbuf[4] = infoTypeLow;
+
1242  l2capoutbuf[5] = infoTypeHigh;
+
1243  l2capoutbuf[6] = 0x00; // Result = success
+
1244  l2capoutbuf[7] = 0x00; // Result = success
+
1245  l2capoutbuf[8] = 0x00;
+
1246  l2capoutbuf[9] = 0x00;
+
1247  l2capoutbuf[10] = 0x00;
+
1248  l2capoutbuf[11] = 0x00;
+
1249 
+
1250  L2CAP_Command(handle, l2capoutbuf, 12);
+
1251 }
+
1252 
+
1253 /* PS3 Commands - only set Bluetooth address is implemented in this library */
+
1254 void BTD::setBdaddr(uint8_t* bdaddr) {
+
1255  /* Set the internal Bluetooth address */
+
1256  uint8_t buf[8];
+
1257  buf[0] = 0x01;
+
1258  buf[1] = 0x00;
+
1259 
+
1260  for (uint8_t i = 0; i < 6; i++)
+
1261  buf[i + 2] = bdaddr[5 - i]; // Copy into buffer, has to be written reversed
+
1262 
+
1263  // bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0xF5), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data)
+
1264  pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0xF5, 0x03, 0x00, 8, 8, buf, NULL);
+
1265 }
+
1266 
+
1267 void BTD::setMoveBdaddr(uint8_t* bdaddr) {
+
1268  /* Set the internal Bluetooth address */
+
1269  uint8_t buf[11];
+
1270  buf[0] = 0x05;
+
1271  buf[7] = 0x10;
+
1272  buf[8] = 0x01;
+
1273  buf[9] = 0x02;
+
1274  buf[10] = 0x12;
+
1275 
+
1276  for (uint8_t i = 0; i < 6; i++)
+
1277  buf[i + 1] = bdaddr[i];
+
1278 
+
1279  // bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0x05), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data)
+
1280  pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x05, 0x03, 0x00, 11, 11, buf, NULL);
+
1281 }
+
static const uint8_t BTD_DATAOUT_PIPE
Definition: BTD.h:457
+
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
Definition: Usb.cpp:761
+
bool incomingWii
Definition: BTD.h:419
+ +
void hci_connect()
Definition: BTD.cpp:972
+
uint8_t bNumEP
Definition: BTD.h:446
+
EpInfo * epinfo
Definition: address.h:76
+
const char * btdName
Definition: BTD.h:392
+
void hci_reset()
Definition: BTD.cpp:856
+
void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
Definition: BTD.cpp:1157
+
#define HCI_SCANNING_STATE
Definition: BTD.h:54
+
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+
void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t *scid, uint16_t psm)
Definition: BTD.cpp:1144
+
#define EV_COMMAND_STATUS
Definition: BTD.h:104
+
#define hci_wii_found
Definition: BTD.h:81
+
#define EV_REMOTE_NAME_COMPLETE
Definition: BTD.h:91
+
uint8_t bmNakPower
Definition: address.h:42
+
bool sdpConnectionClaimed
Definition: BTD.h:387
+
#define HCI_CHECK_WII_SERVICE
Definition: BTD.h:48
+
#define bmREQ_HCI_OUT
Definition: BTD.h:36
+
void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1210
+ +
bool rfcommConnectionClaimed
Definition: BTD.h:389
+
uint8_t hci_version
Definition: BTD.h:409
+
#define EV_INQUIRY_COMPLETE
Definition: BTD.h:85
+
#define hci_read_bdaddr_complete
Definition: BTD.h:79
+
void hci_inquiry()
Definition: BTD.cpp:950
+
static const uint8_t BTD_EVENT_PIPE
Definition: BTD.h:453
+
#define HCI_CONNECTED_WII_STATE
Definition: BTD.h:52
+
#define PS3MOVE_PID
Definition: BTD.h:27
+ + +
bool pairWithWii
Definition: BTD.h:421
+ +
void hci_write_scan_disable()
Definition: BTD.cpp:878
+
#define NotifyFail(...)
Definition: message.h:55
+
#define HCI_SET_NAME_STATE
Definition: BTD.h:47
+
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: BTD.cpp:314
+
#define HCI_FLAG_CONN_COMPLETE
Definition: BTD.h:64
+
#define EV_LINK_KEY_REQUEST
Definition: BTD.h:97
+
#define HCI_DONE_STATE
Definition: BTD.h:59
+
#define hci_incoming_connect_request
Definition: BTD.h:78
+
#define EV_DATA_BUFFER_OVERFLOW
Definition: BTD.h:99
+
#define HCI_DISCONNECT_STATE
Definition: BTD.h:60
+
#define EV_PIN_CODE_REQUEST
Definition: BTD.h:96
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+
const char * btdPin
Definition: BTD.h:394
+
bool motionPlusInside
Definition: BTD.h:423
+
#define EV_AUTHENTICATION_COMPLETE
Definition: BTD.h:90
+
void hci_remote_name()
Definition: BTD.cpp:919
+
uint8_t remote_name[30]
Definition: BTD.h:403
+
#define HCI_FLAG_DISCONN_COMPLETE
Definition: BTD.h:65
+
#define HCI_FLAG_CONNECT_EVENT
Definition: BTD.h:71
+
#define HCI_REMOTE_NAME_STATE
Definition: BTD.h:56
+
#define USB_ERROR_FailGetDevDescr
Definition: UsbCore.h:73
+
#define HCI_FLAG_CMD_COMPLETE
Definition: BTD.h:63
+
#define PS3_VID
Definition: BTD.h:24
+
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
BTD(USB *p)
Definition: BTD.cpp:27
+
#define hrJERR
Definition: max3421e.h:225
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
virtual void Reset()
+
#define EV_MAX_SLOTS_CHANGE
Definition: BTD.h:100
+
static const uint8_t BTD_DATAIN_PIPE
Definition: BTD.h:455
+
void hci_set_local_name(const char *name)
Definition: BTD.cpp:938
+
#define EV_QOS_SETUP_COMPLETE
Definition: BTD.h:102
+
void hci_write_scan_enable()
Definition: BTD.cpp:865
+
virtual uint8_t Release()
Definition: BTD.cpp:365
+
virtual void FreeAddress(uint8_t addr)=0
+
uint8_t epAttribs
Definition: address.h:37
+
void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1223
+
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)
Definition: Usb.cpp:126
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
bool watingForConnection
Definition: BTD.h:383
+
#define HCI_BDADDR_STATE
Definition: BTD.h:45
+
#define Notify(...)
Definition: message.h:44
+ + +
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
uint8_t bAddress
Definition: BTD.h:439
+
#define NotifyFailGetConfDescr(...)
Definition: message.h:52
+
uint8_t epAddr
Definition: address.h:33
+
#define NotifyFailUnknownDevice(...)
Definition: message.h:54
+
#define hci_remote_name_complete
Definition: BTD.h:77
+
uint32_t qNextPollTime
Definition: BTD.h:448
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+
#define EV_CONNECT_COMPLETE
Definition: BTD.h:87
+
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
Definition: BTD.cpp:346
+
#define EV_DISCONNECT_COMPLETE
Definition: BTD.h:89
+
#define HCI_FLAG_READ_BDADDR
Definition: BTD.h:68
+
#define hci_read_version_complete
Definition: BTD.h:80
+
#define IOGEAR_GBU521_PID
Definition: BTD.h:30
+
bool connectToWii
Definition: BTD.h:415
+
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)
Definition: BTD.cpp:46
+
#define HCI_LOCAL_VERSION_STATE
Definition: BTD.h:46
+
#define HCI_CONNECT_WII_STATE
Definition: BTD.h:51
+
bool wiiUProController
Definition: BTD.h:425
+
uint16_t hci_handle
Definition: BTD.h:399
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: BTD.cpp:119
+
#define Notifyc(...)
Definition: message.h:46
+
Definition: address.h:32
+
void hci_disconnect(uint16_t handle)
Definition: BTD.cpp:1068
+
#define HCI_RESET_STATE
Definition: BTD.h:43
+
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:290
+
#define hrNAK
Definition: max3421e.h:216
+
void hci_read_bdaddr()
Definition: BTD.cpp:887
+
void hci_inquiry_cancel()
Definition: BTD.cpp:964
+
#define L2CAP_CMD_INFORMATION_RESPONSE
Definition: BTD.h:117
+
uint16_t wMaxPacketSize
Definition: usb_ch9.h:146
+
uint8_t my_bdaddr[6]
Definition: BTD.h:397
+
#define HID_REQUEST_SET_REPORT
Definition: BTD.h:39
+
#define EV_INCOMING_CONNECT
Definition: BTD.h:88
+
#define HCI_CONNECT_IN_STATE
Definition: BTD.h:55
+
#define HCI_INQUIRY_STATE
Definition: BTD.h:50
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
uint8_t bEndpointAddress
Definition: usb_ch9.h:144
+
#define HCI_CONNECTED_STATE
Definition: BTD.h:57
+
#define EV_INQUIRY_RESULT
Definition: BTD.h:86
+
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+
#define L2CAP_CMD_CONFIG_REQUEST
Definition: BTD.h:112
+
virtual uint8_t Poll()
Definition: BTD.cpp:371
+
#define L2CAP_CMD_DISCONNECT_REQUEST
Definition: BTD.h:114
+
static const uint8_t BTD_CONTROL_PIPE
Definition: BTD.h:451
+ +
#define hci_cmd_complete
Definition: BTD.h:74
+
#define BULK_MAXPKTSIZE
Definition: BTD.h:33
+
#define HCI_FLAG_READ_VERSION
Definition: BTD.h:69
+
uint8_t disc_bdaddr[6]
Definition: BTD.h:401
+
bool l2capConnectionClaimed
Definition: BTD.h:385
+
#define USB_NAK_NOWAIT
Definition: address.h:29
+
#define HCI_FLAG_INCOMING_REQUEST
Definition: BTD.h:67
+
#define EV_NUM_COMPLETE_PKT
Definition: BTD.h:95
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+
EpInfo epInfo[BTD_MAX_ENDPOINTS]
Definition: BTD.h:441
+
#define IOGEAR_GBU521_VID
Definition: BTD.h:29
+
virtual void ACLData(uint8_t *ACLData)
+
#define PS3_PID
Definition: BTD.h:25
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
#define BTD_MAX_ENDPOINTS
Definition: BTD.h:133
+
#define PS3NAVIGATION_PID
Definition: BTD.h:26
+
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
#define L2CAP_CMD_DISCONNECT_RESPONSE
Definition: BTD.h:115
+
#define EV_READ_REMOTE_VERSION_INFORMATION_COMPLETE
Definition: BTD.h:101
+
#define EV_COMMAND_COMPLETE
Definition: BTD.h:103
+
#define hci_connect_event
Definition: BTD.h:82
+
void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)
Definition: BTD.cpp:1236
+
#define L2CAP_CMD_CONNECTION_RESPONSE
Definition: BTD.h:111
+
#define L2CAP_CMD_CONFIG_RESPONSE
Definition: BTD.h:113
+
void hci_write_class_of_device()
Definition: BTD.cpp:1080
+
#define HCI_INIT_STATE
Definition: BTD.h:42
+
#define bmREQ_HID_OUT
Definition: BTD.h:38
+
void hci_pin_code_negative_request_reply()
Definition: BTD.cpp:1030
+
#define EV_CHANGE_CONNECTION_LINK
Definition: BTD.h:93
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
#define EV_ROLE_CHANGED
Definition: BTD.h:94
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
Definition: UsbCore.h:152
+
virtual void Run()
+
uint8_t bConfNum
Definition: BTD.h:444
+
void hci_link_key_request_negative_reply()
Definition: BTD.cpp:1044
+
#define hci_connect_complete
Definition: BTD.h:75
+
#define EV_LOOPBACK_COMMAND
Definition: BTD.h:105
+
void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
Definition: BTD.cpp:1116
+
#define BTD_NUMSERVICES
Definition: BTD.h:134
+
#define EV_LINK_KEY_NOTIFICATION
Definition: BTD.h:98
+
void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
Definition: BTD.cpp:1191
+
void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
Definition: BTD.cpp:1174
+
void hci_pin_code_request_reply()
Definition: BTD.cpp:994
+
#define L2CAP_CMD_CONNECTION_REQUEST
Definition: BTD.h:110
+ +
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define EV_ENCRYPTION_CHANGE
Definition: BTD.h:92
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
USB * pUsb
Definition: BTD.h:433
+
#define NotifyStr(...)
Definition: message.h:45
+
void hci_authentication_request()
Definition: BTD.cpp:1058
+
#define HCI_FLAG_WII_FOUND
Definition: BTD.h:70
+
void hci_read_local_version_information()
Definition: BTD.cpp:895
+
#define HCI_FLAG_REMOTE_NAME_COMPLETE
Definition: BTD.h:66
+
void hci_accept_connection()
Definition: BTD.cpp:903
+
#define EV_PAGE_SCAN_REP_MODE
Definition: BTD.h:106
+
#define hci_disconnect_complete
Definition: BTD.h:76
+
#define HCI_CLASS_STATE
Definition: BTD.h:44
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET
Definition: UsbCore.h:72
+
void HCI_Command(uint8_t *data, uint16_t nbytes)
Definition: BTD.cpp:851
+ diff --git a/_b_t_d_8h.html b/_b_t_d_8h.html index 7e4786a1..1e9f6bff 100644 --- a/_b_t_d_8h.html +++ b/_b_t_d_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: BTD.h File Reference @@ -31,7 +31,7 @@ - + @@ -93,20 +93,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#include "Usb.h"
-#include "confdescparser.h"
Include dependency graph for BTD.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -304,7 +303,7 @@ Macros
-

Definition at line 25 of file BTD.h.

+

Definition at line 24 of file BTD.h.

@@ -318,7 +317,7 @@ Macros
-

Definition at line 26 of file BTD.h.

+

Definition at line 25 of file BTD.h.

@@ -332,7 +331,7 @@ Macros
-

Definition at line 27 of file BTD.h.

+

Definition at line 26 of file BTD.h.

@@ -346,7 +345,7 @@ Macros
-

Definition at line 28 of file BTD.h.

+

Definition at line 27 of file BTD.h.

@@ -360,7 +359,7 @@ Macros
-

Definition at line 30 of file BTD.h.

+

Definition at line 29 of file BTD.h.

@@ -374,7 +373,7 @@ Macros
-

Definition at line 31 of file BTD.h.

+

Definition at line 30 of file BTD.h.

@@ -388,7 +387,7 @@ Macros
-

Definition at line 34 of file BTD.h.

+

Definition at line 33 of file BTD.h.

@@ -402,7 +401,7 @@ Macros
-

Definition at line 37 of file BTD.h.

+

Definition at line 36 of file BTD.h.

@@ -416,7 +415,7 @@ Macros
-

Definition at line 39 of file BTD.h.

+

Definition at line 38 of file BTD.h.

@@ -430,7 +429,7 @@ Macros
-

Definition at line 40 of file BTD.h.

+

Definition at line 39 of file BTD.h.

@@ -444,7 +443,7 @@ Macros
-

Definition at line 43 of file BTD.h.

+

Definition at line 42 of file BTD.h.

@@ -458,7 +457,7 @@ Macros
-

Definition at line 44 of file BTD.h.

+

Definition at line 43 of file BTD.h.

@@ -472,7 +471,7 @@ Macros
-

Definition at line 45 of file BTD.h.

+

Definition at line 44 of file BTD.h.

@@ -486,7 +485,7 @@ Macros
-

Definition at line 46 of file BTD.h.

+

Definition at line 45 of file BTD.h.

@@ -500,7 +499,7 @@ Macros
-

Definition at line 47 of file BTD.h.

+

Definition at line 46 of file BTD.h.

@@ -514,7 +513,7 @@ Macros
-

Definition at line 48 of file BTD.h.

+

Definition at line 47 of file BTD.h.

@@ -528,7 +527,7 @@ Macros
-

Definition at line 49 of file BTD.h.

+

Definition at line 48 of file BTD.h.

@@ -542,7 +541,7 @@ Macros
-

Definition at line 51 of file BTD.h.

+

Definition at line 50 of file BTD.h.

@@ -556,7 +555,7 @@ Macros
-

Definition at line 52 of file BTD.h.

+

Definition at line 51 of file BTD.h.

@@ -570,7 +569,7 @@ Macros
-

Definition at line 53 of file BTD.h.

+

Definition at line 52 of file BTD.h.

@@ -584,7 +583,7 @@ Macros
-

Definition at line 55 of file BTD.h.

+

Definition at line 54 of file BTD.h.

@@ -598,7 +597,7 @@ Macros
-

Definition at line 56 of file BTD.h.

+

Definition at line 55 of file BTD.h.

@@ -612,7 +611,7 @@ Macros
-

Definition at line 57 of file BTD.h.

+

Definition at line 56 of file BTD.h.

@@ -626,7 +625,7 @@ Macros
-

Definition at line 58 of file BTD.h.

+

Definition at line 57 of file BTD.h.

@@ -640,7 +639,7 @@ Macros
-

Definition at line 59 of file BTD.h.

+

Definition at line 58 of file BTD.h.

@@ -654,7 +653,7 @@ Macros
-

Definition at line 60 of file BTD.h.

+

Definition at line 59 of file BTD.h.

@@ -668,7 +667,7 @@ Macros
-

Definition at line 61 of file BTD.h.

+

Definition at line 60 of file BTD.h.

@@ -682,7 +681,7 @@ Macros
-

Definition at line 64 of file BTD.h.

+

Definition at line 63 of file BTD.h.

@@ -696,7 +695,7 @@ Macros
-

Definition at line 65 of file BTD.h.

+

Definition at line 64 of file BTD.h.

@@ -710,7 +709,7 @@ Macros
-

Definition at line 66 of file BTD.h.

+

Definition at line 65 of file BTD.h.

@@ -724,7 +723,7 @@ Macros
-

Definition at line 67 of file BTD.h.

+

Definition at line 66 of file BTD.h.

@@ -738,7 +737,7 @@ Macros
-

Definition at line 68 of file BTD.h.

+

Definition at line 67 of file BTD.h.

@@ -752,7 +751,7 @@ Macros
-

Definition at line 69 of file BTD.h.

+

Definition at line 68 of file BTD.h.

@@ -766,7 +765,7 @@ Macros
-

Definition at line 70 of file BTD.h.

+

Definition at line 69 of file BTD.h.

@@ -780,7 +779,7 @@ Macros
-

Definition at line 71 of file BTD.h.

+

Definition at line 70 of file BTD.h.

@@ -794,7 +793,7 @@ Macros
-

Definition at line 72 of file BTD.h.

+

Definition at line 71 of file BTD.h.

@@ -808,7 +807,7 @@ Macros
-

Definition at line 75 of file BTD.h.

+

Definition at line 74 of file BTD.h.

@@ -822,7 +821,7 @@ Macros
-

Definition at line 76 of file BTD.h.

+

Definition at line 75 of file BTD.h.

@@ -836,7 +835,7 @@ Macros
-

Definition at line 77 of file BTD.h.

+

Definition at line 76 of file BTD.h.

@@ -850,7 +849,7 @@ Macros
-

Definition at line 78 of file BTD.h.

+

Definition at line 77 of file BTD.h.

@@ -864,7 +863,7 @@ Macros
-

Definition at line 79 of file BTD.h.

+

Definition at line 78 of file BTD.h.

@@ -878,7 +877,7 @@ Macros
-

Definition at line 80 of file BTD.h.

+

Definition at line 79 of file BTD.h.

@@ -892,7 +891,7 @@ Macros
-

Definition at line 81 of file BTD.h.

+

Definition at line 80 of file BTD.h.

@@ -906,7 +905,7 @@ Macros
-

Definition at line 82 of file BTD.h.

+

Definition at line 81 of file BTD.h.

@@ -920,7 +919,7 @@ Macros
-

Definition at line 83 of file BTD.h.

+

Definition at line 82 of file BTD.h.

@@ -934,7 +933,7 @@ Macros
-

Definition at line 86 of file BTD.h.

+

Definition at line 85 of file BTD.h.

@@ -948,7 +947,7 @@ Macros
-

Definition at line 87 of file BTD.h.

+

Definition at line 86 of file BTD.h.

@@ -962,7 +961,7 @@ Macros
-

Definition at line 88 of file BTD.h.

+

Definition at line 87 of file BTD.h.

@@ -976,7 +975,7 @@ Macros
-

Definition at line 89 of file BTD.h.

+

Definition at line 88 of file BTD.h.

@@ -990,7 +989,7 @@ Macros
-

Definition at line 90 of file BTD.h.

+

Definition at line 89 of file BTD.h.

@@ -1004,7 +1003,7 @@ Macros
-

Definition at line 91 of file BTD.h.

+

Definition at line 90 of file BTD.h.

@@ -1018,7 +1017,7 @@ Macros
-

Definition at line 92 of file BTD.h.

+

Definition at line 91 of file BTD.h.

@@ -1032,7 +1031,7 @@ Macros
-

Definition at line 93 of file BTD.h.

+

Definition at line 92 of file BTD.h.

@@ -1046,7 +1045,7 @@ Macros
-

Definition at line 94 of file BTD.h.

+

Definition at line 93 of file BTD.h.

@@ -1060,7 +1059,7 @@ Macros
-

Definition at line 95 of file BTD.h.

+

Definition at line 94 of file BTD.h.

@@ -1074,7 +1073,7 @@ Macros
-

Definition at line 96 of file BTD.h.

+

Definition at line 95 of file BTD.h.

@@ -1088,7 +1087,7 @@ Macros
-

Definition at line 97 of file BTD.h.

+

Definition at line 96 of file BTD.h.

@@ -1102,7 +1101,7 @@ Macros
-

Definition at line 98 of file BTD.h.

+

Definition at line 97 of file BTD.h.

@@ -1116,7 +1115,7 @@ Macros
-

Definition at line 99 of file BTD.h.

+

Definition at line 98 of file BTD.h.

@@ -1130,7 +1129,7 @@ Macros
-

Definition at line 100 of file BTD.h.

+

Definition at line 99 of file BTD.h.

@@ -1144,7 +1143,7 @@ Macros
-

Definition at line 101 of file BTD.h.

+

Definition at line 100 of file BTD.h.

@@ -1158,7 +1157,7 @@ Macros
-

Definition at line 102 of file BTD.h.

+

Definition at line 101 of file BTD.h.

@@ -1172,7 +1171,7 @@ Macros
-

Definition at line 103 of file BTD.h.

+

Definition at line 102 of file BTD.h.

@@ -1186,7 +1185,7 @@ Macros
-

Definition at line 104 of file BTD.h.

+

Definition at line 103 of file BTD.h.

@@ -1200,7 +1199,7 @@ Macros
-

Definition at line 105 of file BTD.h.

+

Definition at line 104 of file BTD.h.

@@ -1214,7 +1213,7 @@ Macros
-

Definition at line 106 of file BTD.h.

+

Definition at line 105 of file BTD.h.

@@ -1228,7 +1227,7 @@ Macros
-

Definition at line 107 of file BTD.h.

+

Definition at line 106 of file BTD.h.

@@ -1242,7 +1241,7 @@ Macros
-

Definition at line 110 of file BTD.h.

+

Definition at line 109 of file BTD.h.

@@ -1256,7 +1255,7 @@ Macros
-

Definition at line 111 of file BTD.h.

+

Definition at line 110 of file BTD.h.

@@ -1270,7 +1269,7 @@ Macros
-

Definition at line 112 of file BTD.h.

+

Definition at line 111 of file BTD.h.

@@ -1284,7 +1283,7 @@ Macros
-

Definition at line 113 of file BTD.h.

+

Definition at line 112 of file BTD.h.

@@ -1298,7 +1297,7 @@ Macros
-

Definition at line 114 of file BTD.h.

+

Definition at line 113 of file BTD.h.

@@ -1312,7 +1311,7 @@ Macros
-

Definition at line 115 of file BTD.h.

+

Definition at line 114 of file BTD.h.

@@ -1326,7 +1325,7 @@ Macros
-

Definition at line 116 of file BTD.h.

+

Definition at line 115 of file BTD.h.

@@ -1340,7 +1339,7 @@ Macros
-

Definition at line 117 of file BTD.h.

+

Definition at line 116 of file BTD.h.

@@ -1354,7 +1353,7 @@ Macros
-

Definition at line 118 of file BTD.h.

+

Definition at line 117 of file BTD.h.

@@ -1368,7 +1367,7 @@ Macros
-

Definition at line 121 of file BTD.h.

+

Definition at line 120 of file BTD.h.

@@ -1382,7 +1381,7 @@ Macros
-

Definition at line 122 of file BTD.h.

+

Definition at line 121 of file BTD.h.

@@ -1396,7 +1395,7 @@ Macros
-

Definition at line 125 of file BTD.h.

+

Definition at line 124 of file BTD.h.

@@ -1410,7 +1409,7 @@ Macros
-

Definition at line 126 of file BTD.h.

+

Definition at line 125 of file BTD.h.

@@ -1424,7 +1423,7 @@ Macros
-

Definition at line 127 of file BTD.h.

+

Definition at line 126 of file BTD.h.

@@ -1438,7 +1437,7 @@ Macros
-

Definition at line 128 of file BTD.h.

+

Definition at line 127 of file BTD.h.

@@ -1452,7 +1451,7 @@ Macros
-

Definition at line 131 of file BTD.h.

+

Definition at line 130 of file BTD.h.

@@ -1466,7 +1465,7 @@ Macros
-

Definition at line 132 of file BTD.h.

+

Definition at line 131 of file BTD.h.

@@ -1480,7 +1479,7 @@ Macros
-

Definition at line 134 of file BTD.h.

+

Definition at line 133 of file BTD.h.

@@ -1494,7 +1493,7 @@ Macros
-

Definition at line 135 of file BTD.h.

+

Definition at line 134 of file BTD.h.

@@ -1503,7 +1502,7 @@ Macros diff --git a/_b_t_d_8h__dep__incl.map b/_b_t_d_8h__dep__incl.map index b28f0d01..826104fd 100644 --- a/_b_t_d_8h__dep__incl.map +++ b/_b_t_d_8h__dep__incl.map @@ -1,9 +1,9 @@ - - - - - - - + + + + + + + diff --git a/_b_t_d_8h__dep__incl.md5 b/_b_t_d_8h__dep__incl.md5 index f8f87e7d..f4584293 100644 --- a/_b_t_d_8h__dep__incl.md5 +++ b/_b_t_d_8h__dep__incl.md5 @@ -1 +1 @@ -db3a4b72e92be35c9faeb952adb995de \ No newline at end of file +5aff5061ed5b75641b5314699a5d7713 \ No newline at end of file diff --git a/_b_t_d_8h__dep__incl.png b/_b_t_d_8h__dep__incl.png index 0a2c8e7c2df69890f18efa575d8f1ed0ead11056..fc29c166a08fb3a60ca658a393b8c082e6e004cc 100644 GIT binary patch literal 13981 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 literal 8678 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 Wv+lR>Qb-`m0zQh%iB*c|2mCKjv-7Y3 diff --git a/_b_t_d_8h__incl.map b/_b_t_d_8h__incl.map index bfd994e4..c028d353 100644 --- a/_b_t_d_8h__incl.map +++ b/_b_t_d_8h__incl.map @@ -1,13 +1,3 @@ - - - - - - - - - - - + diff --git a/_b_t_d_8h__incl.md5 b/_b_t_d_8h__incl.md5 index bf51594f..c6726354 100644 --- a/_b_t_d_8h__incl.md5 +++ b/_b_t_d_8h__incl.md5 @@ -1 +1 @@ -1d31c5e59c7113c2b9f3932602cea4ca \ No newline at end of file +6a148ecdc8a7fa65c24885517e9426dd \ No newline at end of file diff --git a/_b_t_d_8h__incl.png b/_b_t_d_8h__incl.png index 08bfb95b3a5429d56d8be82d2165ce7ade2053ba..41f133371bf03a45ee22fe01a1466971219af90f 100644 GIT binary patch literal 2278 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 E0V6SDr~m)} diff --git a/_b_t_d_8h_source.html b/_b_t_d_8h_source.html index 1277dffa..044b5825 100644 --- a/_b_t_d_8h_source.html +++ b/_b_t_d_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: BTD.h Source File @@ -31,7 +31,7 @@ - + @@ -110,269 +110,362 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
20 
21 #include "Usb.h"
-
22 #include "confdescparser.h"
-
23 
-
24 //PID and VID of the Sony PS3 devices
-
25 #define PS3_VID 0x054C // Sony Corporation
-
26 #define PS3_PID 0x0268 // PS3 Controller DualShock 3
-
27 #define PS3NAVIGATION_PID 0x042F // Navigation controller
-
28 #define PS3MOVE_PID 0x03D5 // Motion controller
-
29 
-
30 #define IOGEAR_GBU521_VID 0x0A5C // The IOGEAR GBU521 dongle does not presents itself correctly, so we have to check for it manually
-
31 #define IOGEAR_GBU521_PID 0x21E8
-
32 
-
33 /* Bluetooth dongle data taken from descriptors */
-
34 #define BULK_MAXPKTSIZE 64 // max size for ACL data
-
35 
-
36 // Used in control endpoint header for HCI Commands
-
37 #define bmREQ_HCI_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE
-
38 // Used in control endpoint header for HID Commands
-
39 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
-
40 #define HID_REQUEST_SET_REPORT 0x09
-
41 
-
42 /* Bluetooth HCI states for hci_task() */
-
43 #define HCI_INIT_STATE 0
-
44 #define HCI_RESET_STATE 1
-
45 #define HCI_CLASS_STATE 2
-
46 #define HCI_BDADDR_STATE 3
-
47 #define HCI_LOCAL_VERSION_STATE 4
-
48 #define HCI_SET_NAME_STATE 5
-
49 #define HCI_CHECK_WII_SERVICE 6
-
50 
-
51 #define HCI_INQUIRY_STATE 7 // These three states are only used if it should pair and connect to a Wii controller
-
52 #define HCI_CONNECT_WII_STATE 8
-
53 #define HCI_CONNECTED_WII_STATE 9
-
54 
-
55 #define HCI_SCANNING_STATE 10
-
56 #define HCI_CONNECT_IN_STATE 11
-
57 #define HCI_REMOTE_NAME_STATE 12
-
58 #define HCI_CONNECTED_STATE 13
-
59 #define HCI_DISABLE_SCAN_STATE 14
-
60 #define HCI_DONE_STATE 15
-
61 #define HCI_DISCONNECT_STATE 16
-
62 
-
63 /* HCI event flags*/
-
64 #define HCI_FLAG_CMD_COMPLETE 0x01
-
65 #define HCI_FLAG_CONN_COMPLETE 0x02
-
66 #define HCI_FLAG_DISCONN_COMPLETE 0x04
-
67 #define HCI_FLAG_REMOTE_NAME_COMPLETE 0x08
-
68 #define HCI_FLAG_INCOMING_REQUEST 0x10
-
69 #define HCI_FLAG_READ_BDADDR 0x20
-
70 #define HCI_FLAG_READ_VERSION 0x40
-
71 #define HCI_FLAG_WII_FOUND 0x80
-
72 #define HCI_FLAG_CONNECT_EVENT 0x100
-
73 
-
74 /*Macros for HCI event flag tests */
-
75 #define hci_cmd_complete (hci_event_flag & HCI_FLAG_CMD_COMPLETE)
-
76 #define hci_connect_complete (hci_event_flag & HCI_FLAG_CONN_COMPLETE)
-
77 #define hci_disconnect_complete (hci_event_flag & HCI_FLAG_DISCONN_COMPLETE)
-
78 #define hci_remote_name_complete (hci_event_flag & HCI_FLAG_REMOTE_NAME_COMPLETE)
-
79 #define hci_incoming_connect_request (hci_event_flag & HCI_FLAG_INCOMING_REQUEST)
-
80 #define hci_read_bdaddr_complete (hci_event_flag & HCI_FLAG_READ_BDADDR)
-
81 #define hci_read_version_complete (hci_event_flag & HCI_FLAG_READ_VERSION)
-
82 #define hci_wii_found (hci_event_flag & HCI_FLAG_WII_FOUND)
-
83 #define hci_connect_event (hci_event_flag & HCI_FLAG_CONNECT_EVENT)
-
84 
-
85 /* HCI Events managed */
-
86 #define EV_INQUIRY_COMPLETE 0x01
-
87 #define EV_INQUIRY_RESULT 0x02
-
88 #define EV_CONNECT_COMPLETE 0x03
-
89 #define EV_INCOMING_CONNECT 0x04
-
90 #define EV_DISCONNECT_COMPLETE 0x05
-
91 #define EV_AUTHENTICATION_COMPLETE 0x06
-
92 #define EV_REMOTE_NAME_COMPLETE 0x07
-
93 #define EV_ENCRYPTION_CHANGE 0x08
-
94 #define EV_CHANGE_CONNECTION_LINK 0x09
-
95 #define EV_ROLE_CHANGED 0x12
-
96 #define EV_NUM_COMPLETE_PKT 0x13
-
97 #define EV_PIN_CODE_REQUEST 0x16
-
98 #define EV_LINK_KEY_REQUEST 0x17
-
99 #define EV_LINK_KEY_NOTIFICATION 0x18
-
100 #define EV_DATA_BUFFER_OVERFLOW 0x1A
-
101 #define EV_MAX_SLOTS_CHANGE 0x1B
-
102 #define EV_READ_REMOTE_VERSION_INFORMATION_COMPLETE 0x0C
-
103 #define EV_QOS_SETUP_COMPLETE 0x0D
-
104 #define EV_COMMAND_COMPLETE 0x0E
-
105 #define EV_COMMAND_STATUS 0x0F
-
106 #define EV_LOOPBACK_COMMAND 0x19
-
107 #define EV_PAGE_SCAN_REP_MODE 0x20
-
108 
-
109 /* L2CAP signaling commands */
-
110 #define L2CAP_CMD_COMMAND_REJECT 0x01
-
111 #define L2CAP_CMD_CONNECTION_REQUEST 0x02
-
112 #define L2CAP_CMD_CONNECTION_RESPONSE 0x03
-
113 #define L2CAP_CMD_CONFIG_REQUEST 0x04
-
114 #define L2CAP_CMD_CONFIG_RESPONSE 0x05
-
115 #define L2CAP_CMD_DISCONNECT_REQUEST 0x06
-
116 #define L2CAP_CMD_DISCONNECT_RESPONSE 0x07
-
117 #define L2CAP_CMD_INFORMATION_REQUEST 0x0A
-
118 #define L2CAP_CMD_INFORMATION_RESPONSE 0x0B
-
119 
-
120 // Used For Connection Response - Remember to Include High Byte
-
121 #define PENDING 0x01
-
122 #define SUCCESSFUL 0x00
-
123 
-
124 /* Bluetooth L2CAP PSM - see http://www.bluetooth.org/Technical/AssignedNumbers/logical_link.htm */
-
125 #define SDP_PSM 0x01 // Service Discovery Protocol PSM Value
-
126 #define RFCOMM_PSM 0x03 // RFCOMM PSM Value
-
127 #define HID_CTRL_PSM 0x11 // HID_Control PSM Value
-
128 #define HID_INTR_PSM 0x13 // HID_Interrupt PSM Value
-
129 
-
130 // Used to determine if it is a Bluetooth dongle
-
131 #define WI_SUBCLASS_RF 0x01 // RF Controller
-
132 #define WI_PROTOCOL_BT 0x01 // Bluetooth Programming Interface
-
133 
-
134 #define BTD_MAX_ENDPOINTS 4
-
135 #define BTD_NUMSERVICES 4 // Max number of Bluetooth services - if you need more than four simply increase this number
-
136 
- -
139 public:
-
144  virtual void ACLData(uint8_t* ACLData);
-
146  virtual void Run();
-
148  virtual void Reset();
-
150  virtual void disconnect();
-
151 };
-
152 
-
157 class BTD : public USBDeviceConfig, public UsbConfigXtracter {
-
158 public:
-
163  BTD(USB *p);
-
164 
-
173  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
178  virtual uint8_t Release();
-
183  virtual uint8_t Poll();
-
184 
-
189  virtual uint8_t GetAddress() {
-
190  return bAddress;
-
191  };
-
192 
-
197  virtual bool isReady() {
-
198  return bPollEnable;
-
199  };
-
205  virtual boolean DEVCLASSOK(uint8_t klass) { return (klass == USB_CLASS_WIRELESS_CTRL); }
-
206 
-
214  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
-
215  return ((vid == PS3_VID || vid == IOGEAR_GBU521_VID) && (pid == PS3_PID || pid == PS3NAVIGATION_PID || pid == PS3MOVE_PID || pid == IOGEAR_GBU521_PID));
-
216  };
-
228  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
-
232  void disconnect() {
-
233  for(uint8_t i = 0; i < BTD_NUMSERVICES; i++)
-
234  if(btService[i])
-
235  btService[i]->disconnect();
-
236  };
-
237 
- -
244  for(uint8_t i = 0; i < BTD_NUMSERVICES; i++) {
-
245  if(!btService[i]) {
-
246  btService[i] = pService;
-
247  return i; // Return ID
-
248  }
-
249  }
-
250  return -1; // ErrorregisterServiceClass
-
251  };
-
252 
-
259  void HCI_Command(uint8_t* data, uint16_t nbytes);
-
261  void hci_reset();
-
263  void hci_read_bdaddr();
- -
270  void hci_set_local_name(const char* name);
-
272  void hci_write_scan_enable();
-
274  void hci_write_scan_disable();
-
276  void hci_remote_name();
-
278  void hci_accept_connection();
-
283  void hci_disconnect(uint16_t handle);
- - - - -
300  void hci_inquiry();
-
302  void hci_inquiry_cancel();
-
304  void hci_connect();
- -
318  void L2CAP_Command(uint16_t handle, uint8_t* data, uint8_t nbytes, uint8_t channelLow = 0x01, uint8_t channelHigh = 0x00);
-
326  void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t* scid, uint16_t psm);
-
335  void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid, uint8_t result);
-
342  void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t* dcid);
-
349  void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t* scid);
-
357  void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid);
-
365  void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid);
-
372  void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh);
- - - - -
383 
-
385  const char* btdName;
-
387  const char* btdPin;
-
388 
-
390  uint8_t my_bdaddr[6];
-
392  uint16_t hci_handle;
-
394  uint8_t disc_bdaddr[6];
-
396  uint8_t remote_name[30];
-
402  uint8_t hci_version;
-
403 
- -
406  pairWithWii = true;
-
407  hci_state = HCI_CHECK_WII_SERVICE;
-
408  };
-
410  bool connectToWii;
- - - - -
419 
-
424  uint8_t readPollInterval() {
-
425  return pollInterval;
-
426  };
-
427 
-
428 protected:
-
430  USB *pUsb;
-
432  uint8_t bAddress;
- -
435 
-
437  uint8_t bConfNum;
-
439  uint8_t bNumEP;
-
441  uint32_t qNextPollTime;
+
22 
+
23 //PID and VID of the Sony PS3 devices
+
24 #define PS3_VID 0x054C // Sony Corporation
+
25 #define PS3_PID 0x0268 // PS3 Controller DualShock 3
+
26 #define PS3NAVIGATION_PID 0x042F // Navigation controller
+
27 #define PS3MOVE_PID 0x03D5 // Motion controller
+
28 
+
29 #define IOGEAR_GBU521_VID 0x0A5C // The IOGEAR GBU521 dongle does not presents itself correctly, so we have to check for it manually
+
30 #define IOGEAR_GBU521_PID 0x21E8
+
31 
+
32 /* Bluetooth dongle data taken from descriptors */
+
33 #define BULK_MAXPKTSIZE 64 // max size for ACL data
+
34 
+
35 // Used in control endpoint header for HCI Commands
+
36 #define bmREQ_HCI_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE
+
37 // Used in control endpoint header for HID Commands
+
38 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
+
39 #define HID_REQUEST_SET_REPORT 0x09
+
40 
+
41 /* Bluetooth HCI states for hci_task() */
+
42 #define HCI_INIT_STATE 0
+
43 #define HCI_RESET_STATE 1
+
44 #define HCI_CLASS_STATE 2
+
45 #define HCI_BDADDR_STATE 3
+
46 #define HCI_LOCAL_VERSION_STATE 4
+
47 #define HCI_SET_NAME_STATE 5
+
48 #define HCI_CHECK_WII_SERVICE 6
+
49 
+
50 #define HCI_INQUIRY_STATE 7 // These three states are only used if it should pair and connect to a Wii controller
+
51 #define HCI_CONNECT_WII_STATE 8
+
52 #define HCI_CONNECTED_WII_STATE 9
+
53 
+
54 #define HCI_SCANNING_STATE 10
+
55 #define HCI_CONNECT_IN_STATE 11
+
56 #define HCI_REMOTE_NAME_STATE 12
+
57 #define HCI_CONNECTED_STATE 13
+
58 #define HCI_DISABLE_SCAN_STATE 14
+
59 #define HCI_DONE_STATE 15
+
60 #define HCI_DISCONNECT_STATE 16
+
61 
+
62 /* HCI event flags*/
+
63 #define HCI_FLAG_CMD_COMPLETE 0x01
+
64 #define HCI_FLAG_CONN_COMPLETE 0x02
+
65 #define HCI_FLAG_DISCONN_COMPLETE 0x04
+
66 #define HCI_FLAG_REMOTE_NAME_COMPLETE 0x08
+
67 #define HCI_FLAG_INCOMING_REQUEST 0x10
+
68 #define HCI_FLAG_READ_BDADDR 0x20
+
69 #define HCI_FLAG_READ_VERSION 0x40
+
70 #define HCI_FLAG_WII_FOUND 0x80
+
71 #define HCI_FLAG_CONNECT_EVENT 0x100
+
72 
+
73 /*Macros for HCI event flag tests */
+
74 #define hci_cmd_complete (hci_event_flag & HCI_FLAG_CMD_COMPLETE)
+
75 #define hci_connect_complete (hci_event_flag & HCI_FLAG_CONN_COMPLETE)
+
76 #define hci_disconnect_complete (hci_event_flag & HCI_FLAG_DISCONN_COMPLETE)
+
77 #define hci_remote_name_complete (hci_event_flag & HCI_FLAG_REMOTE_NAME_COMPLETE)
+
78 #define hci_incoming_connect_request (hci_event_flag & HCI_FLAG_INCOMING_REQUEST)
+
79 #define hci_read_bdaddr_complete (hci_event_flag & HCI_FLAG_READ_BDADDR)
+
80 #define hci_read_version_complete (hci_event_flag & HCI_FLAG_READ_VERSION)
+
81 #define hci_wii_found (hci_event_flag & HCI_FLAG_WII_FOUND)
+
82 #define hci_connect_event (hci_event_flag & HCI_FLAG_CONNECT_EVENT)
+
83 
+
84 /* HCI Events managed */
+
85 #define EV_INQUIRY_COMPLETE 0x01
+
86 #define EV_INQUIRY_RESULT 0x02
+
87 #define EV_CONNECT_COMPLETE 0x03
+
88 #define EV_INCOMING_CONNECT 0x04
+
89 #define EV_DISCONNECT_COMPLETE 0x05
+
90 #define EV_AUTHENTICATION_COMPLETE 0x06
+
91 #define EV_REMOTE_NAME_COMPLETE 0x07
+
92 #define EV_ENCRYPTION_CHANGE 0x08
+
93 #define EV_CHANGE_CONNECTION_LINK 0x09
+
94 #define EV_ROLE_CHANGED 0x12
+
95 #define EV_NUM_COMPLETE_PKT 0x13
+
96 #define EV_PIN_CODE_REQUEST 0x16
+
97 #define EV_LINK_KEY_REQUEST 0x17
+
98 #define EV_LINK_KEY_NOTIFICATION 0x18
+
99 #define EV_DATA_BUFFER_OVERFLOW 0x1A
+
100 #define EV_MAX_SLOTS_CHANGE 0x1B
+
101 #define EV_READ_REMOTE_VERSION_INFORMATION_COMPLETE 0x0C
+
102 #define EV_QOS_SETUP_COMPLETE 0x0D
+
103 #define EV_COMMAND_COMPLETE 0x0E
+
104 #define EV_COMMAND_STATUS 0x0F
+
105 #define EV_LOOPBACK_COMMAND 0x19
+
106 #define EV_PAGE_SCAN_REP_MODE 0x20
+
107 
+
108 /* L2CAP signaling commands */
+
109 #define L2CAP_CMD_COMMAND_REJECT 0x01
+
110 #define L2CAP_CMD_CONNECTION_REQUEST 0x02
+
111 #define L2CAP_CMD_CONNECTION_RESPONSE 0x03
+
112 #define L2CAP_CMD_CONFIG_REQUEST 0x04
+
113 #define L2CAP_CMD_CONFIG_RESPONSE 0x05
+
114 #define L2CAP_CMD_DISCONNECT_REQUEST 0x06
+
115 #define L2CAP_CMD_DISCONNECT_RESPONSE 0x07
+
116 #define L2CAP_CMD_INFORMATION_REQUEST 0x0A
+
117 #define L2CAP_CMD_INFORMATION_RESPONSE 0x0B
+
118 
+
119 // Used For Connection Response - Remember to Include High Byte
+
120 #define PENDING 0x01
+
121 #define SUCCESSFUL 0x00
+
122 
+
123 /* Bluetooth L2CAP PSM - see http://www.bluetooth.org/Technical/AssignedNumbers/logical_link.htm */
+
124 #define SDP_PSM 0x01 // Service Discovery Protocol PSM Value
+
125 #define RFCOMM_PSM 0x03 // RFCOMM PSM Value
+
126 #define HID_CTRL_PSM 0x11 // HID_Control PSM Value
+
127 #define HID_INTR_PSM 0x13 // HID_Interrupt PSM Value
+
128 
+
129 // Used to determine if it is a Bluetooth dongle
+
130 #define WI_SUBCLASS_RF 0x01 // RF Controller
+
131 #define WI_PROTOCOL_BT 0x01 // Bluetooth Programming Interface
+
132 
+
133 #define BTD_MAX_ENDPOINTS 4
+
134 #define BTD_NUMSERVICES 4 // Max number of Bluetooth services - if you need more than four simply increase this number
+
135 
+ +
138 public:
+
143  virtual void ACLData(uint8_t* ACLData);
+
145  virtual void Run();
+
147  virtual void Reset();
+
149  virtual void disconnect();
+
150 };
+
151 
+
156 class BTD : public USBDeviceConfig, public UsbConfigXtracter {
+
157 public:
+
162  BTD(USB *p);
+
163 
+
172  virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
+
180  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
185  virtual uint8_t Release();
+
190  virtual uint8_t Poll();
+
191 
+
196  virtual uint8_t GetAddress() {
+
197  return bAddress;
+
198  };
+
199 
+
204  virtual bool isReady() {
+
205  return bPollEnable;
+
206  };
+
212  virtual boolean DEVCLASSOK(uint8_t klass) { return (klass == USB_CLASS_WIRELESS_CTRL); }
+
213 
+
221  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
+
222  return ((vid == PS3_VID || vid == IOGEAR_GBU521_VID) && (pid == PS3_PID || pid == PS3NAVIGATION_PID || pid == PS3MOVE_PID || pid == IOGEAR_GBU521_PID));
+
223  };
+
235  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
+
239  void disconnect() {
+
240  for(uint8_t i = 0; i < BTD_NUMSERVICES; i++)
+
241  if(btService[i])
+
242  btService[i]->disconnect();
+
243  };
+
244 
+ +
251  for(uint8_t i = 0; i < BTD_NUMSERVICES; i++) {
+
252  if(!btService[i]) {
+
253  btService[i] = pService;
+
254  return i; // Return ID
+
255  }
+
256  }
+
257  return -1; // ErrorregisterServiceClass
+
258  };
+
259 
+
266  void HCI_Command(uint8_t* data, uint16_t nbytes);
+
268  void hci_reset();
+
270  void hci_read_bdaddr();
+ +
277  void hci_set_local_name(const char* name);
+
279  void hci_write_scan_enable();
+
281  void hci_write_scan_disable();
+
283  void hci_remote_name();
+
285  void hci_accept_connection();
+
290  void hci_disconnect(uint16_t handle);
+ + + + +
307  void hci_inquiry();
+
309  void hci_inquiry_cancel();
+
311  void hci_connect();
+ +
325  void L2CAP_Command(uint16_t handle, uint8_t* data, uint8_t nbytes, uint8_t channelLow = 0x01, uint8_t channelHigh = 0x00);
+
333  void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t* scid, uint16_t psm);
+
342  void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid, uint8_t result);
+
349  void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t* dcid);
+
356  void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t* scid);
+
364  void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid);
+
372  void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t* dcid, uint8_t* scid);
+
379  void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh);
+ + + + +
390 
+
392  const char* btdName;
+
394  const char* btdPin;
+
395 
+
397  uint8_t my_bdaddr[6];
+
399  uint16_t hci_handle;
+
401  uint8_t disc_bdaddr[6];
+
403  uint8_t remote_name[30];
+
409  uint8_t hci_version;
+
410 
+ +
413  pairWithWii = true;
+
414  hci_state = HCI_CHECK_WII_SERVICE;
+
415  };
+
417  bool connectToWii;
+ + + + +
426 
+
431  uint8_t readPollInterval() {
+
432  return pollInterval;
+
433  };
+
434 
+
435 protected:
+
437  USB *pUsb;
+
439  uint8_t bAddress;
+
442 
-
444  static const uint8_t BTD_CONTROL_PIPE;
-
446  static const uint8_t BTD_EVENT_PIPE;
-
448  static const uint8_t BTD_DATAIN_PIPE;
-
450  static const uint8_t BTD_DATAOUT_PIPE;
-
451 
- -
457 
-
458 private:
-
459  BluetoothService* btService[BTD_NUMSERVICES];
-
460 
-
461  bool bPollEnable;
-
462  uint8_t pollInterval;
-
463 
-
464  /* Variables used by high level HCI task */
-
465  uint8_t hci_state; //current state of bluetooth hci connection
-
466  uint16_t hci_counter; // counter used for bluetooth hci reset loops
-
467  uint8_t hci_num_reset_loops; // this value indicate how many times it should read before trying to reset
-
468  uint16_t hci_event_flag; // hci flags of received bluetooth events
-
469  uint8_t inquiry_counter;
+
444  uint8_t bConfNum;
+
446  uint8_t bNumEP;
+
448  uint32_t qNextPollTime;
+
449 
+
451  static const uint8_t BTD_CONTROL_PIPE;
+
453  static const uint8_t BTD_EVENT_PIPE;
+
455  static const uint8_t BTD_DATAIN_PIPE;
+
457  static const uint8_t BTD_DATAOUT_PIPE;
+
458 
+ +
464 
+
465 private:
+
466  void clearAllVariables(); // Set all variables, endpoint structs etc. to default values
+
467  BluetoothService* btService[BTD_NUMSERVICES];
+
468 
+
469  uint16_t PID, VID; // PID and VID of device connected
470 
-
471  uint8_t hcibuf[BULK_MAXPKTSIZE]; //General purpose buffer for hci data
-
472  uint8_t l2capinbuf[BULK_MAXPKTSIZE]; //General purpose buffer for l2cap in data
-
473  uint8_t l2capoutbuf[14]; //General purpose buffer for l2cap out data
-
474 
-
475  /* State machines */
-
476  void HCI_event_task(); // Poll the HCI event pipe
-
477  void HCI_task(); // HCI state machine
-
478  void ACL_event_task(); // ACL input pipe
-
479 
-
480  /* Used to set the Bluetooth Address internally to the PS3 Controllers */
-
481  void setBdaddr(uint8_t* BDADDR);
-
482  void setMoveBdaddr(uint8_t* BDADDR);
-
483 };
-
484 #endif
+
471  bool bPollEnable;
+
472  uint8_t pollInterval;
+
473 
+
474  /* Variables used by high level HCI task */
+
475  uint8_t hci_state; //current state of bluetooth hci connection
+
476  uint16_t hci_counter; // counter used for bluetooth hci reset loops
+
477  uint8_t hci_num_reset_loops; // this value indicate how many times it should read before trying to reset
+
478  uint16_t hci_event_flag; // hci flags of received bluetooth events
+
479  uint8_t inquiry_counter;
+
480 
+
481  uint8_t hcibuf[BULK_MAXPKTSIZE]; //General purpose buffer for hci data
+
482  uint8_t l2capinbuf[BULK_MAXPKTSIZE]; //General purpose buffer for l2cap in data
+
483  uint8_t l2capoutbuf[14]; //General purpose buffer for l2cap out data
+
484 
+
485  /* State machines */
+
486  void HCI_event_task(); // Poll the HCI event pipe
+
487  void HCI_task(); // HCI state machine
+
488  void ACL_event_task(); // ACL input pipe
+
489 
+
490  /* Used to set the Bluetooth Address internally to the PS3 Controllers */
+
491  void setBdaddr(uint8_t* BDADDR);
+
492  void setMoveBdaddr(uint8_t* BDADDR);
+
493 };
+
494 #endif
+
static const uint8_t BTD_DATAOUT_PIPE
Definition: BTD.h:457
+
bool incomingWii
Definition: BTD.h:419
+
void hci_connect()
Definition: BTD.cpp:972
+
uint8_t bNumEP
Definition: BTD.h:446
+
const char * btdName
Definition: BTD.h:392
+
void hci_reset()
Definition: BTD.cpp:856
+
void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
Definition: BTD.cpp:1157
+
void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t *scid, uint16_t psm)
Definition: BTD.cpp:1144
+
bool sdpConnectionClaimed
Definition: BTD.h:387
+
#define HCI_CHECK_WII_SERVICE
Definition: BTD.h:48
+
Definition: BTD.h:156
+
virtual boolean DEVCLASSOK(uint8_t klass)
Definition: BTD.h:212
+
void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1210
+
bool rfcommConnectionClaimed
Definition: BTD.h:389
+
uint8_t hci_version
Definition: BTD.h:409
+
void hci_inquiry()
Definition: BTD.cpp:950
+
static const uint8_t BTD_EVENT_PIPE
Definition: BTD.h:453
+
#define PS3MOVE_PID
Definition: BTD.h:27
+ +
bool pairWithWii
Definition: BTD.h:421
+
void hci_write_scan_disable()
Definition: BTD.cpp:878
+
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: BTD.cpp:314
+
virtual uint8_t GetAddress()
Definition: BTD.h:196
+
const char * btdPin
Definition: BTD.h:394
+
bool motionPlusInside
Definition: BTD.h:423
+
void hci_remote_name()
Definition: BTD.cpp:919
+
uint8_t remote_name[30]
Definition: BTD.h:403
+ + +
#define PS3_VID
Definition: BTD.h:24
+
BTD(USB *p)
Definition: BTD.cpp:27
+
uint8_t readPollInterval()
Definition: BTD.h:431
+
virtual void Reset()
+
static const uint8_t BTD_DATAIN_PIPE
Definition: BTD.h:455
+
void hci_set_local_name(const char *name)
Definition: BTD.cpp:938
+
void hci_write_scan_enable()
Definition: BTD.cpp:865
+
virtual uint8_t Release()
Definition: BTD.cpp:365
+
void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1223
+
#define USB_CLASS_WIRELESS_CTRL
Definition: UsbCore.h:55
+
bool watingForConnection
Definition: BTD.h:383
+
uint8_t bAddress
Definition: BTD.h:439
+
uint32_t qNextPollTime
Definition: BTD.h:448
+
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
Definition: BTD.cpp:346
+
#define IOGEAR_GBU521_PID
Definition: BTD.h:30
+
bool connectToWii
Definition: BTD.h:415
+
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)
Definition: BTD.cpp:46
+
bool wiiUProController
Definition: BTD.h:425
+
uint16_t hci_handle
Definition: BTD.h:399
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: BTD.cpp:119
+
Definition: address.h:32
+
void hci_disconnect(uint16_t handle)
Definition: BTD.cpp:1068
+ +
void hci_read_bdaddr()
Definition: BTD.cpp:887
+
void hci_inquiry_cancel()
Definition: BTD.cpp:964
+
uint8_t my_bdaddr[6]
Definition: BTD.h:397
+
virtual uint8_t Poll()
Definition: BTD.cpp:371
+
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: BTD.h:221
+
static const uint8_t BTD_CONTROL_PIPE
Definition: BTD.h:451
+ +
#define BULK_MAXPKTSIZE
Definition: BTD.h:33
+
void disconnect()
Definition: BTD.h:239
+
uint8_t disc_bdaddr[6]
Definition: BTD.h:401
+
int8_t registerServiceClass(BluetoothService *pService)
Definition: BTD.h:250
+
bool l2capConnectionClaimed
Definition: BTD.h:385
+
EpInfo epInfo[BTD_MAX_ENDPOINTS]
Definition: BTD.h:441
+
#define IOGEAR_GBU521_VID
Definition: BTD.h:29
+
virtual void ACLData(uint8_t *ACLData)
+
#define PS3_PID
Definition: BTD.h:25
+
#define BTD_MAX_ENDPOINTS
Definition: BTD.h:133
+
#define PS3NAVIGATION_PID
Definition: BTD.h:26
+
void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)
Definition: BTD.cpp:1236
+
void hci_write_class_of_device()
Definition: BTD.cpp:1080
+
void hci_pin_code_negative_request_reply()
Definition: BTD.cpp:1030
+
Definition: UsbCore.h:152
+
virtual void Run()
+
uint8_t bConfNum
Definition: BTD.h:444
+
void hci_link_key_request_negative_reply()
Definition: BTD.cpp:1044
+
void pairWithWiimote()
Definition: BTD.h:412
+
virtual bool isReady()
Definition: BTD.h:204
+
void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
Definition: BTD.cpp:1116
+
#define BTD_NUMSERVICES
Definition: BTD.h:134
+
void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
Definition: BTD.cpp:1191
+
void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
Definition: BTD.cpp:1174
+
void hci_pin_code_request_reply()
Definition: BTD.cpp:994
+
virtual void disconnect()
+
USB * pUsb
Definition: BTD.h:433
+
void hci_authentication_request()
Definition: BTD.cpp:1058
+
void hci_read_local_version_information()
Definition: BTD.cpp:895
+
void hci_accept_connection()
Definition: BTD.cpp:903
+
void HCI_Command(uint8_t *data, uint16_t nbytes)
Definition: BTD.cpp:851
diff --git a/_p_s3_b_t_8cpp.html b/_p_s3_b_t_8cpp.html index 107f4afe..ca81baa9 100644 --- a/_p_s3_b_t_8cpp.html +++ b/_p_s3_b_t_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3BT.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for PS3BT.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for PS3BT.cpp: diff --git a/_p_s3_b_t_8cpp__incl.map b/_p_s3_b_t_8cpp__incl.map index ea6af7fb..1214ebec 100644 --- a/_p_s3_b_t_8cpp__incl.map +++ b/_p_s3_b_t_8cpp__incl.map @@ -1,17 +1,7 @@ - - - - - - - - - - - - - - - + + + + + diff --git a/_p_s3_b_t_8cpp__incl.md5 b/_p_s3_b_t_8cpp__incl.md5 index 07236ea1..972cd9fe 100644 --- a/_p_s3_b_t_8cpp__incl.md5 +++ b/_p_s3_b_t_8cpp__incl.md5 @@ -1 +1 @@ -c9818ee4b6f8022146310289632b9ac6 \ No newline at end of file +2a26709935401ef53e5fb70ac8d80eef \ No newline at end of file diff --git a/_p_s3_b_t_8cpp__incl.png b/_p_s3_b_t_8cpp__incl.png index e2d574029c3f45ee29413cec72a0dedddc603fa5..29e39a68fc67118c4b99ae8296840668900d66e3 100644 GIT binary patch literal 12526 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 P1B8N%s&u`iY1sb&Ko3O= literal 90449 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 z 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 diff --git a/_p_s3_b_t_8cpp_source.html b/_p_s3_b_t_8cpp_source.html index 882530a8..74277905 100644 --- a/_p_s3_b_t_8cpp_source.html +++ b/_p_s3_b_t_8cpp_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3BT.cpp Source File @@ -31,7 +31,7 @@ - + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
20 //#define EXTRADEBUG // Uncomment to get even more debugging data
21 //#define PRINTREPORT // Uncomment to print the report send by the PS3 Controllers
22 
-
23 PS3BT::PS3BT(BTD *p, uint8_t btadr5, uint8_t btadr4, uint8_t btadr3, uint8_t btadr2, uint8_t btadr1, uint8_t btadr0) :
+
23 PS3BT::PS3BT(BTD *p, uint8_t btadr5, uint8_t btadr4, uint8_t btadr3, uint8_t btadr2, uint8_t btadr1, uint8_t btadr0) :
24 pBtd(p) // pointer to USB class instance - mandatory
25 {
26  if (pBtd)
@@ -140,30 +140,30 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
49  Reset();
50 }
51 
- +
53  return (ButtonState & pgm_read_dword(&BUTTONS[(uint8_t)b]));
54 }
55 
- +
57  uint32_t button = pgm_read_dword(&BUTTONS[(uint8_t)b]);
58  bool click = (ButtonClickState & button);
59  ButtonClickState &= ~button; // clear "click" event
60  return click;
61 }
62 
- +
64  if (l2capinbuf == NULL)
65  return 0;
66  return (uint8_t)(l2capinbuf[pgm_read_byte(&ANALOGBUTTONS[(uint8_t)a])]);
67 }
68 
- +
70  if (l2capinbuf == NULL)
71  return 0;
72  return (uint8_t)(l2capinbuf[(uint8_t)a + 15]);
73 }
74 
- +
76  if (l2capinbuf == NULL)
77  return 0;
78  if (PS3Connected) {
@@ -182,7 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
91  return 0;
92 }
93 
- +
95  double accXval;
96  double accYval;
97  double accZval;
@@ -214,7 +214,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
123  }
124 }
125 
-
126 double PS3BT::get9DOFValues(Sensor a) { // Thanks to Manfred Piendl
+
126 double PS3BT::get9DOFValues(Sensor a) { // Thanks to Manfred Piendl
127  if (!PS3MoveConnected)
128  return 0;
129  int16_t value = getSensor(a);
@@ -243,7 +243,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
152  return 0;
153 }
154 
- +
156  if (PS3MoveConnected) {
157  int16_t input = getSensor(tempMove);
158 
@@ -258,7 +258,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
167  return "Error";
168 }
169 
- +
171  if (l2capinbuf == NULL)
172  return false;
173  if (l2capinbuf[(uint16_t)c >> 8] == ((uint8_t)c & 0xff))
@@ -266,7 +266,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
175  return false;
176 }
177 
- +
180  char statusOutput[100];
181 
@@ -316,7 +316,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
225  return "Error";
226 }
227 
-
228 void PS3BT::Reset() {
+
228 void PS3BT::Reset() {
229  PS3Connected = false;
230  PS3MoveConnected = false;
231  PS3NavigationConnected = false;
@@ -329,14 +329,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
238  HIDBuffer[i + 2] = pgm_read_byte(&PS3_REPORT_BUFFER[i]); // First two bytes reserved for report type and ID
239 }
240 
-
241 void PS3BT::disconnect() { // Use this void to disconnect any of the controllers
+
241 void PS3BT::disconnect() { // Use this void to disconnect any of the controllers
242  //First the HID interrupt channel has to be disconencted, then the HID control channel and finally the HCI connection
243  pBtd->l2cap_disconnection_request(hci_handle, 0x0A, interrupt_scid, interrupt_dcid);
244  Reset();
245  l2cap_state = L2CAP_INTERRUPT_DISCONNECT;
246 }
247 
-
248 void PS3BT::ACLData(uint8_t* ACLData) {
+
248 void PS3BT::ACLData(uint8_t* ACLData) {
249  if (!pBtd->l2capConnectionClaimed && !PS3Connected && !PS3MoveConnected && !PS3NavigationConnected && !activeConnection && !pBtd->connectToWii && !pBtd->incomingWii && !pBtd->pairWithWii) {
250  if (ACLData[8] == L2CAP_CMD_CONNECTION_REQUEST) {
251  if ((ACLData[12] | (ACLData[13] << 8)) == HID_CTRL_PSM) {
@@ -584,7 +584,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
493  }
494 }
495 
-
496 void PS3BT::Run() {
+
496 void PS3BT::Run() {
497  switch (l2cap_state) {
499  if (millis() - timer > 1000) { // loop 1 second before sending the command
@@ -650,14 +650,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
559  timerHID = millis();
560 }
561 
- +
563  for (uint8_t i = 0; i < PS3_REPORT_BUFFER_SIZE; i++)
564  HIDBuffer[i + 2] = pgm_read_byte(&PS3_REPORT_BUFFER[i]); // First two bytes reserved for report type and ID
565 
566  HID_Command(HIDBuffer, HID_BUFFERSIZE);
567 }
568 
- +
570  HIDBuffer[3] = 0x00;
571  HIDBuffer[4] = 0x00;
572  HIDBuffer[5] = 0x00;
@@ -666,7 +666,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
575  HID_Command(HIDBuffer, HID_BUFFERSIZE);
576 }
577 
- +
579  uint8_t power[2] = { 0xff, 0x00 }; // Defaults to RumbleLow
580  if (mode == RumbleHigh) {
581  power[0] = 0x00;
@@ -675,7 +675,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
584  setRumbleOn(0xfe, power[0], 0xfe, power[1]);
585 }
586 
-
587 void PS3BT::setRumbleOn(uint8_t rightDuration, uint8_t rightPower, uint8_t leftDuration, uint8_t leftPower) {
+
587 void PS3BT::setRumbleOn(uint8_t rightDuration, uint8_t rightPower, uint8_t leftDuration, uint8_t leftPower) {
588  HIDBuffer[3] = rightDuration;
589  HIDBuffer[4] = rightPower;
590  HIDBuffer[5] = leftDuration;
@@ -683,21 +683,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
592  HID_Command(HIDBuffer, HID_BUFFERSIZE);
593 }
594 
-
595 void PS3BT::setLedRaw(uint8_t value) {
+
595 void PS3BT::setLedRaw(uint8_t value) {
596  HIDBuffer[11] = value << 1;
597  HID_Command(HIDBuffer, HID_BUFFERSIZE);
598 }
- +
600  HIDBuffer[11] &= ~((uint8_t)((pgm_read_byte(&LEDS[(uint8_t)a]) & 0x0f) << 1));
601  HID_Command(HIDBuffer, HID_BUFFERSIZE);
602 }
603 
- +
605  HIDBuffer[11] |= (uint8_t)((pgm_read_byte(&LEDS[(uint8_t)a]) & 0x0f) << 1);
606  HID_Command(HIDBuffer, HID_BUFFERSIZE);
607 }
608 
- +
610  HIDBuffer[11] ^= (uint8_t)((pgm_read_byte(&LEDS[(uint8_t)a]) & 0x0f) << 1);
611  HID_Command(HIDBuffer, HID_BUFFERSIZE);
612 }
@@ -723,7 +723,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
632  timerHID = millis();
633 }
634 
-
635 void PS3BT::moveSetBulb(uint8_t r, uint8_t g, uint8_t b) { //Use this to set the Color using RGB values
+
635 void PS3BT::moveSetBulb(uint8_t r, uint8_t g, uint8_t b) { //Use this to set the Color using RGB values
636  //set the Bulb's values into the write buffer
637  HIDMoveBuffer[3] = r;
638  HIDMoveBuffer[4] = g;
@@ -732,11 +732,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
641  HIDMove_Command(HIDMoveBuffer, HID_BUFFERSIZE);
642 }
643 
-
644 void PS3BT::moveSetBulb(Colors color) { //Use this to set the Color using the predefined colors in enum
+
644 void PS3BT::moveSetBulb(Colors color) { //Use this to set the Color using the predefined colors in enum
645  moveSetBulb((uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
646 }
647 
-
648 void PS3BT::moveSetRumble(uint8_t rumble) {
+
648 void PS3BT::moveSetRumble(uint8_t rumble) {
649 #ifdef DEBUG_USB_HOST
650  if (rumble < 64 && rumble != 0) // The rumble value has to at least 64, or approximately 25% (64/255*100)
651  Notify(PSTR("\r\nThe rumble value has to at least 64, or approximately 25%"), 0x80);
@@ -757,12 +757,148 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
666  setLedOn(LED1);
667  }
668 }
+ +
bool incomingWii
Definition: BTD.h:419
+
#define L2CAP_WAIT
Definition: PS3BT.h:27
+
#define L2CAP_FLAG_CONFIG_CONTROL_REQUEST
Definition: PS3BT.h:41
+ +
uint8_t getAnalogHat(AnalogHat a)
Definition: PS3BT.cpp:69
+ +
bool getButtonClick(Button b)
Definition: PS3BT.cpp:56
+
bool PS3NavigationConnected
Definition: PS3BT.h:225
+
#define L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE
Definition: PS3BT.h:46
+
Definition: PS3Enums.h:117
+ + +
void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
Definition: BTD.cpp:1157
+
String getStatusString()
Definition: PS3BT.cpp:178
+
virtual void Run()
Definition: PS3BT.cpp:496
+
#define SUCCESSFUL
Definition: BTD.h:121
+
Definition: BTD.h:156
+ +
void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1210
+
#define l2cap_config_request_interrupt_flag
Definition: PS3BT.h:54
+
Definition: PS3Enums.h:192
+
uint8_t hci_version
Definition: BTD.h:409
+
void setLedOff(LED a)
Definition: PS3BT.cpp:599
+
Sensor
Definition: PS3Enums.h:141
+
bool pairWithWii
Definition: BTD.h:421
+
const uint8_t PS3_REPORT_BUFFER[]
Definition: PS3Enums.h:24
+
String getTemperature()
Definition: PS3BT.cpp:155
+
Definition: PS3Enums.h:193
+ + + +
#define L2CAP_INTERRUPT_REQUEST
Definition: PS3BT.h:31
+
void moveSetRumble(uint8_t rumble)
Definition: PS3BT.cpp:648
+
Definition: PS3Enums.h:194
+
const uint8_t LEDS[]
Definition: PS3Enums.h:43
+
const uint8_t ANALOGBUTTONS[]
Definition: PS3Enums.h:93
+
void setAllOff()
Definition: PS3BT.cpp:562
+
#define l2cap_connection_request_control_flag
Definition: PS3BT.h:50
+ + + +
int16_t getSensor(Sensor a)
Definition: PS3BT.cpp:75
+
double get9DOFValues(Sensor a)
Definition: PS3BT.cpp:126
+ +
uint8_t remote_name[30]
Definition: BTD.h:403
+
#define HID_BUFFERSIZE
Definition: PS3BT.h:24
+
#define L2CAP_INTERRUPT_SETUP
Definition: PS3BT.h:30
+
virtual void Reset()
Definition: PS3BT.cpp:228
+
#define L2CAP_INTERRUPT_SUCCESS
Definition: PS3BT.h:32
+
#define l2cap_config_request_control_flag
Definition: PS3BT.h:51
+ +
double getAngle(Angle a)
Definition: PS3BT.cpp:94
+
void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1223
+
#define L2CAP_FLAG_CONFIG_INTERRUPT_REQUEST
Definition: PS3BT.h:44
+
#define L2CAP_CONTROL_DISCONNECT
Definition: PS3BT.h:37
+
#define Notify(...)
Definition: message.h:44
+
#define L2CAP_CONTROL_REQUEST
Definition: PS3BT.h:28
+ + +
#define HID_CTRL_PSM
Definition: BTD.h:126
+
Definition: PS3Enums.h:147
+
Status
Definition: PS3Enums.h:182
+
Colors
Definition: PS3Enums.h:115
+
#define l2cap_disconnect_response_control_flag
Definition: PS3BT.h:56
+ +
Rumble
Definition: PS3Enums.h:210
+
#define L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE
Definition: PS3BT.h:47
+
bool connectToWii
Definition: BTD.h:415
+ + +
uint16_t hci_handle
Definition: BTD.h:399
+
#define L2CAP_INTERRUPT_DISCONNECT
Definition: PS3BT.h:36
+
bool PS3Connected
Definition: PS3BT.h:217
+
void hci_disconnect(uint16_t handle)
Definition: BTD.cpp:1068
+ +
void setLedToggle(LED a)
Definition: PS3BT.cpp:609
+
void moveSetBulb(uint8_t r, uint8_t g, uint8_t b)
Definition: PS3BT.cpp:635
+
bool PS3MoveConnected
Definition: PS3BT.h:223
+
#define L2CAP_DONE
Definition: PS3BT.h:35
+
#define L2CAP_FLAG_CONNECTION_CONTROL_REQUEST
Definition: PS3BT.h:40
+
uint8_t my_bdaddr[6]
Definition: BTD.h:397
+ +
#define l2cap_disconnect_response_interrupt_flag
Definition: PS3BT.h:57
+
#define l2cap_connection_request_interrupt_flag
Definition: PS3BT.h:53
+ + + +
Definition: PS3Enums.h:143
+
#define L2CAP_CMD_CONFIG_REQUEST
Definition: BTD.h:112
+
#define L2CAP_CMD_DISCONNECT_REQUEST
Definition: BTD.h:114
+
Angle
Definition: PS3Enums.h:177
+
#define L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS
Definition: PS3BT.h:45
+
void setLedOn(LED a)
Definition: PS3BT.cpp:604
+ +
#define BULK_MAXPKTSIZE
Definition: BTD.h:33
+
#define L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST
Definition: PS3BT.h:43
+
#define HID_INTR_PSM
Definition: BTD.h:127
+
Definition: PS3Enums.h:149
+
int8_t registerServiceClass(BluetoothService *pService)
Definition: BTD.h:250
+
bool l2capConnectionClaimed
Definition: BTD.h:385
+
#define L2CAP_CMD_DISCONNECT_RESPONSE
Definition: BTD.h:115
+ + +
virtual void ACLData(uint8_t *ACLData)
Definition: PS3BT.cpp:248
+ +
#define L2CAP_CMD_CONFIG_RESPONSE
Definition: BTD.h:113
+
#define L2CAP_HID_ENABLE_SIXAXIS
Definition: PS3BT.h:33
+ +
#define l2cap_config_success_interrupt_flag
Definition: PS3BT.h:55
+
#define l2cap_config_success_control_flag
Definition: PS3BT.h:52
+
#define L2CAP_HID_PS3_LED
Definition: PS3BT.h:34
+
Button
+
bool getStatus(Status c)
Definition: PS3BT.cpp:170
+ +
void setRumbleOn(Rumble mode)
Definition: PS3BT.cpp:578
+
#define PS3_REPORT_BUFFER_SIZE
Definition: PS3Enums.h:37
+ +
#define L2CAP_CONTROL_SUCCESS
Definition: PS3BT.h:29
+
virtual void disconnect()
Definition: PS3BT.cpp:241
+
void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
Definition: BTD.cpp:1116
+
void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
Definition: BTD.cpp:1191
+
#define PENDING
Definition: BTD.h:120
+ +
void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
Definition: BTD.cpp:1174
+
#define L2CAP_CMD_CONNECTION_REQUEST
Definition: BTD.h:110
+
uint8_t getAnalogButton(Button a)
Definition: PS3BT.cpp:63
+
void setLedRaw(uint8_t value)
Definition: PS3BT.cpp:595
+
AnalogHat
+
PS3BT(BTD *pBtd, uint8_t btadr5=0, uint8_t btadr4=0, uint8_t btadr3=0, uint8_t btadr2=0, uint8_t btadr1=0, uint8_t btadr0=0)
Definition: PS3BT.cpp:23
+
const uint32_t BUTTONS[]
Definition: PS3Enums.h:62
+
Definition: PS3Enums.h:145
+
bool getButtonPress(Button b)
Definition: PS3BT.cpp:52
+
void setRumbleOff()
Definition: PS3BT.cpp:569
+
#define L2CAP_FLAG_CONFIG_CONTROL_SUCCESS
Definition: PS3BT.h:42
+
#define L2CAP_CMD_COMMAND_REJECT
Definition: BTD.h:109
diff --git a/_p_s3_b_t_8h.html b/_p_s3_b_t_8h.html index 6b27ed31..c66750ba 100644 --- a/_p_s3_b_t_8h.html +++ b/_p_s3_b_t_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3BT.h File Reference @@ -31,7 +31,7 @@ - + @@ -99,14 +99,14 @@ Include dependency graph for PS3BT.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -573,7 +573,7 @@ Macros diff --git a/_p_s3_b_t_8h__dep__incl.map b/_p_s3_b_t_8h__dep__incl.map index 27ad37a7..70b66846 100644 --- a/_p_s3_b_t_8h__dep__incl.map +++ b/_p_s3_b_t_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/_p_s3_b_t_8h__dep__incl.md5 b/_p_s3_b_t_8h__dep__incl.md5 index 2780d061..fd5774bf 100644 --- a/_p_s3_b_t_8h__dep__incl.md5 +++ b/_p_s3_b_t_8h__dep__incl.md5 @@ -1 +1 @@ -e00e0e628279ee21896de46ca6209faf \ No newline at end of file +bb28c7be8b59850aa707116e8edbd78a \ No newline at end of file diff --git a/_p_s3_b_t_8h__dep__incl.png b/_p_s3_b_t_8h__dep__incl.png index ddcf0cc9dba62bdc1896bb298da8e2510e652d21..fb5e714b11ea2d4b17da46f50847ce3f6073e861 100644 GIT binary patch literal 3432 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 ZuohH8Le~i80REbQrKz1s{dJ%C{{StKb4CCF diff --git a/_p_s3_b_t_8h__incl.map b/_p_s3_b_t_8h__incl.map index 28ea6c99..5744b693 100644 --- a/_p_s3_b_t_8h__incl.map +++ b/_p_s3_b_t_8h__incl.map @@ -1,16 +1,6 @@ - - - - - - - - - - - - - - + + + + diff --git a/_p_s3_b_t_8h__incl.md5 b/_p_s3_b_t_8h__incl.md5 index 44cce916..bb85c356 100644 --- a/_p_s3_b_t_8h__incl.md5 +++ b/_p_s3_b_t_8h__incl.md5 @@ -1 +1 @@ -45e2d4cdf7248be76137773969f87724 \ No newline at end of file +a835b66fa43df95b77c40211831fd028 \ No newline at end of file diff --git a/_p_s3_b_t_8h__incl.png b/_p_s3_b_t_8h__incl.png index a6435efd9544289a2b35fd9d35aacb42b9e1b83f..327d6b86147c064aad2fde1f081e8bda5b0178fc 100644 GIT binary patch literal 10073 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 e|GRhR)s4h|f=X1YV&4 diff --git a/_p_s3_b_t_8h_source.html b/_p_s3_b_t_8h_source.html index d7a9c901..dbae4287 100644 --- a/_p_s3_b_t_8h_source.html +++ b/_p_s3_b_t_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3BT.h Source File @@ -31,7 +31,7 @@ - + @@ -112,42 +112,42 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

21 #include "BTD.h"
22 #include "PS3Enums.h"
23 
-
24 #define HID_BUFFERSIZE 50 // Size of the buffer for the Playstation Motion Controller
+
24 #define HID_BUFFERSIZE 50 // Size of the buffer for the Playstation Motion Controller
25 
26 /* Bluetooth L2CAP states for L2CAP_task() */
-
27 #define L2CAP_WAIT 0
-
28 #define L2CAP_CONTROL_REQUEST 1
-
29 #define L2CAP_CONTROL_SUCCESS 2
-
30 #define L2CAP_INTERRUPT_SETUP 3
-
31 #define L2CAP_INTERRUPT_REQUEST 4
-
32 #define L2CAP_INTERRUPT_SUCCESS 5
-
33 #define L2CAP_HID_ENABLE_SIXAXIS 6
-
34 #define L2CAP_HID_PS3_LED 7
-
35 #define L2CAP_DONE 8
-
36 #define L2CAP_INTERRUPT_DISCONNECT 9
-
37 #define L2CAP_CONTROL_DISCONNECT 10
+
27 #define L2CAP_WAIT 0
+
28 #define L2CAP_CONTROL_REQUEST 1
+
29 #define L2CAP_CONTROL_SUCCESS 2
+
30 #define L2CAP_INTERRUPT_SETUP 3
+
31 #define L2CAP_INTERRUPT_REQUEST 4
+
32 #define L2CAP_INTERRUPT_SUCCESS 5
+
33 #define L2CAP_HID_ENABLE_SIXAXIS 6
+
34 #define L2CAP_HID_PS3_LED 7
+
35 #define L2CAP_DONE 8
+
36 #define L2CAP_INTERRUPT_DISCONNECT 9
+
37 #define L2CAP_CONTROL_DISCONNECT 10
38 
39 /* L2CAP event flags */
-
40 #define L2CAP_FLAG_CONNECTION_CONTROL_REQUEST 0x01
-
41 #define L2CAP_FLAG_CONFIG_CONTROL_REQUEST 0x02
-
42 #define L2CAP_FLAG_CONFIG_CONTROL_SUCCESS 0x04
-
43 #define L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST 0x08
-
44 #define L2CAP_FLAG_CONFIG_INTERRUPT_REQUEST 0x10
-
45 #define L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS 0x20
-
46 #define L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE 0x40
-
47 #define L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE 0x80
+
40 #define L2CAP_FLAG_CONNECTION_CONTROL_REQUEST 0x01
+
41 #define L2CAP_FLAG_CONFIG_CONTROL_REQUEST 0x02
+
42 #define L2CAP_FLAG_CONFIG_CONTROL_SUCCESS 0x04
+
43 #define L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST 0x08
+
44 #define L2CAP_FLAG_CONFIG_INTERRUPT_REQUEST 0x10
+
45 #define L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS 0x20
+
46 #define L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE 0x40
+
47 #define L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE 0x80
48 
49 /*Macros for L2CAP event flag tests */
-
50 #define l2cap_connection_request_control_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_CONTROL_REQUEST)
-
51 #define l2cap_config_request_control_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_CONTROL_REQUEST)
-
52 #define l2cap_config_success_control_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_CONTROL_SUCCESS)
-
53 #define l2cap_connection_request_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST)
-
54 #define l2cap_config_request_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_INTERRUPT_REQUEST)
-
55 #define l2cap_config_success_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS)
-
56 #define l2cap_disconnect_response_control_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE)
-
57 #define l2cap_disconnect_response_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE)
+
50 #define l2cap_connection_request_control_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_CONTROL_REQUEST)
+
51 #define l2cap_config_request_control_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_CONTROL_REQUEST)
+
52 #define l2cap_config_success_control_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_CONTROL_SUCCESS)
+
53 #define l2cap_connection_request_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST)
+
54 #define l2cap_config_request_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_INTERRUPT_REQUEST)
+
55 #define l2cap_config_success_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS)
+
56 #define l2cap_disconnect_response_control_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE)
+
57 #define l2cap_disconnect_response_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE)
58 
-
65 class PS3BT : public BluetoothService {
+
65 class PS3BT : public BluetoothService {
66 public:
74  PS3BT(BTD *pBtd, uint8_t btadr5 = 0, uint8_t btadr4 = 0, uint8_t btadr3 = 0, uint8_t btadr2 = 0, uint8_t btadr1 = 0, uint8_t btadr0 = 0);
75 
@@ -180,12 +180,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
204  void moveSetBulb(Colors color);
209  void moveSetRumble(uint8_t rumble);
210 
-
215  void attachOnInit(void (*funcOnInit)(void)) {
+
215  void attachOnInit(void (*funcOnInit)(void)) {
216  pFuncOnInit = funcOnInit;
-
217  };
+
217  };
221  bool PS3Connected;
- - + +
226 
227 private:
228  /* Mandatory members */
@@ -231,12 +231,55 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
273  void enable_sixaxis(); // Command used to enable the Dualshock 3 and Navigation controller to send data via Bluetooth
274 };
275 #endif
+
uint8_t getAnalogHat(AnalogHat a)
Definition: PS3BT.cpp:69
+
bool getButtonClick(Button b)
Definition: PS3BT.cpp:56
+
bool PS3NavigationConnected
Definition: PS3BT.h:225
+
String getStatusString()
Definition: PS3BT.cpp:178
+
virtual void Run()
Definition: PS3BT.cpp:496
+
Definition: BTD.h:156
+
void setLedOff(LED a)
Definition: PS3BT.cpp:599
+
Sensor
Definition: PS3Enums.h:141
+
String getTemperature()
Definition: PS3BT.cpp:155
+
void moveSetRumble(uint8_t rumble)
Definition: PS3BT.cpp:648
+
void setAllOff()
Definition: PS3BT.cpp:562
+
int16_t getSensor(Sensor a)
Definition: PS3BT.cpp:75
+
double get9DOFValues(Sensor a)
Definition: PS3BT.cpp:126
+
#define HID_BUFFERSIZE
Definition: PS3BT.h:24
+
virtual void Reset()
Definition: PS3BT.cpp:228
+ +
double getAngle(Angle a)
Definition: PS3BT.cpp:94
+ +
Definition: PS3BT.h:65
+
Status
Definition: PS3Enums.h:182
+
Colors
Definition: PS3Enums.h:115
+
void attachOnInit(void(*funcOnInit)(void))
Definition: PS3BT.h:215
+
Rumble
Definition: PS3Enums.h:210
+
bool PS3Connected
Definition: PS3BT.h:217
+ +
void setLedToggle(LED a)
Definition: PS3BT.cpp:609
+
void moveSetBulb(uint8_t r, uint8_t g, uint8_t b)
Definition: PS3BT.cpp:635
+
bool PS3MoveConnected
Definition: PS3BT.h:223
+
Angle
Definition: PS3Enums.h:177
+
void setLedOn(LED a)
Definition: PS3BT.cpp:604
+
#define BULK_MAXPKTSIZE
Definition: BTD.h:33
+
virtual void ACLData(uint8_t *ACLData)
Definition: PS3BT.cpp:248
+
Button
+
bool getStatus(Status c)
Definition: PS3BT.cpp:170
+
void setRumbleOn(Rumble mode)
Definition: PS3BT.cpp:578
+
virtual void disconnect()
Definition: PS3BT.cpp:241
+ +
uint8_t getAnalogButton(Button a)
Definition: PS3BT.cpp:63
+
void setLedRaw(uint8_t value)
Definition: PS3BT.cpp:595
+
AnalogHat
+
PS3BT(BTD *pBtd, uint8_t btadr5=0, uint8_t btadr4=0, uint8_t btadr3=0, uint8_t btadr2=0, uint8_t btadr1=0, uint8_t btadr0=0)
Definition: PS3BT.cpp:23
+
bool getButtonPress(Button b)
Definition: PS3BT.cpp:52
+
void setRumbleOff()
Definition: PS3BT.cpp:569
diff --git a/_p_s3_enums_8h.html b/_p_s3_enums_8h.html index 5a9dc140..0a6dcd2e 100644 --- a/_p_s3_enums_8h.html +++ b/_p_s3_enums_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3Enums.h File Reference @@ -31,7 +31,7 @@ - + @@ -99,14 +99,14 @@ Include dependency graph for PS3Enums.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -569,7 +569,7 @@ Variables diff --git a/_p_s3_enums_8h__dep__incl.map b/_p_s3_enums_8h__dep__incl.map index 13b7afb8..4f915e72 100644 --- a/_p_s3_enums_8h__dep__incl.map +++ b/_p_s3_enums_8h__dep__incl.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/_p_s3_enums_8h__dep__incl.md5 b/_p_s3_enums_8h__dep__incl.md5 index 4f674d8b..1a523eaa 100644 --- a/_p_s3_enums_8h__dep__incl.md5 +++ b/_p_s3_enums_8h__dep__incl.md5 @@ -1 +1 @@ -ca0f094f56da3bdab09b3d4f31d65de7 \ No newline at end of file +632aeb814444892cb4235318575b2052 \ No newline at end of file diff --git a/_p_s3_enums_8h__dep__incl.png b/_p_s3_enums_8h__dep__incl.png index 2f85bfc78819f6112c20d624c0e66a7582db9498..efe757ad600251277d5ce1c564d7a841492bde92 100644 GIT binary patch literal 10962 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 h1zckTg<;+?4*pa*Hd6 literal 5844 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 diff --git a/_p_s3_enums_8h__incl.map b/_p_s3_enums_8h__incl.map index 1cec7400..508d309b 100644 --- a/_p_s3_enums_8h__incl.map +++ b/_p_s3_enums_8h__incl.map @@ -1,3 +1,3 @@ - + diff --git a/_p_s3_enums_8h__incl.md5 b/_p_s3_enums_8h__incl.md5 index 04ae56ed..1892a863 100644 --- a/_p_s3_enums_8h__incl.md5 +++ b/_p_s3_enums_8h__incl.md5 @@ -1 +1 @@ -94fa129c84c23ed0352ec87e0b2a022a \ No newline at end of file +8cf971386ed8276013189d149241a27d \ No newline at end of file diff --git a/_p_s3_enums_8h__incl.png b/_p_s3_enums_8h__incl.png index a89ba3f8b0c1b49e1d7f64a4fe7b16f5cc80bdbc..54d00a41750b17f3b9a3eabda170af124f324618 100644 GIT binary patch literal 4255 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 - + USB Host Shield 2.0: PS3Enums.h Source File @@ -31,7 +31,7 @@ - + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
20 
21 #include "controllerEnums.h"
22 
-
24 const uint8_t PS3_REPORT_BUFFER[] PROGMEM = {
+
24 const uint8_t PS3_REPORT_BUFFER[] PROGMEM = {
25  0x00, 0x00, 0x00, 0x00, 0x00,
26  0x00, 0x00, 0x00, 0x00, 0x00,
27  0xff, 0x27, 0x10, 0x00, 0x32,
@@ -123,11 +123,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
33  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
34 };
35 
-
37 #define PS3_REPORT_BUFFER_SIZE 48
+
37 #define PS3_REPORT_BUFFER_SIZE 48
38 
-
40 #define MOVE_REPORT_BUFFER_SIZE 7
+
40 #define MOVE_REPORT_BUFFER_SIZE 7
41 
-
43 const uint8_t LEDS[] PROGMEM = {
+
43 const uint8_t LEDS[] PROGMEM = {
44  0x01, // LED1
45  0x02, // LED2
46  0x04, // LED3
@@ -141,7 +141,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
54  0x0F // LED10
55 };
56 
-
62 const uint32_t BUTTONS[] PROGMEM = {
+
62 const uint32_t BUTTONS[] PROGMEM = {
63  0x10, // UP
64  0x20, // RIGHT
65  0x40, // DOWN
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
85  0x100000 // T - covers 12 bits - we only need to read the top 8
86 };
87 
-
93 const uint8_t ANALOGBUTTONS[] PROGMEM = {
+
93 const uint8_t ANALOGBUTTONS[] PROGMEM = {
94  23, // UP_ANALOG
95  24, // RIGHT_ANALOG
96  25, // DOWN_ANALOG
@@ -188,85 +188,141 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
111  15 // T_ANALOG - Both at byte 14 (last reading) and byte 15 (current reading)
112 };
113 
-
115 enum Colors {
-
117  Red = 0xFF0000,
-
119  Green = 0xFF00,
-
121  Blue = 0xFF,
+
115 enum Colors {
+
117  Red = 0xFF0000,
+
119  Green = 0xFF00,
+
121  Blue = 0xFF,
122 
-
124  Yellow = 0xFFEB04,
-
126  Lightblue = 0xFFFF,
-
128  Purble = 0xFF00FF,
+
124  Yellow = 0xFFEB04,
+
126  Lightblue = 0xFFFF,
+
128  Purble = 0xFF00FF,
129 
-
131  White = 0xFFFFFF,
-
133  Off = 0x00,
+
131  White = 0xFFFFFF,
+
133  Off = 0x00,
134 };
135 
-
141 enum Sensor {
-
143  aX = 50,
-
145  aY = 52,
-
147  aZ = 54,
-
149  gZ = 56,
+
141 enum Sensor {
+
143  aX = 50,
+
145  aY = 52,
+
147  aZ = 54,
+
149  gZ = 56,
150 
-
152  aXmove = 28,
-
154  aZmove = 30,
-
156  aYmove = 32,
+
152  aXmove = 28,
+
154  aZmove = 30,
+
156  aYmove = 32,
157 
-
159  gXmove = 40,
-
161  gZmove = 42,
-
163  gYmove = 44,
+
159  gXmove = 40,
+
161  gZmove = 42,
+
163  gYmove = 44,
164 
-
166  tempMove = 46,
+
166  tempMove = 46,
167 
-
169  mXmove = 47,
-
171  mZmove = 49,
-
173  mYmove = 50,
+
169  mXmove = 47,
+
171  mZmove = 49,
+
173  mYmove = 50,
174 };
175 
-
177 enum Angle {
-
178  Pitch = 0x01,
-
179  Roll = 0x02,
+
177 enum Angle {
+
178  Pitch = 0x01,
+
179  Roll = 0x02,
180 };
181 
-
182 enum Status {
+
182 enum Status {
183  // Note that the location is shiftet 9 when it's connected via USB
184  // Byte location | bit location
-
185  Plugged = (38 << 8) | 0x02,
-
186  Unplugged = (38 << 8) | 0x03,
+
185  Plugged = (38 << 8) | 0x02,
+
186  Unplugged = (38 << 8) | 0x03,
187 
-
188  Charging = (39 << 8) | 0xEE,
-
189  NotCharging = (39 << 8) | 0xF1,
-
190  Shutdown = (39 << 8) | 0x01,
-
191  Dying = (39 << 8) | 0x02,
-
192  Low = (39 << 8) | 0x03,
-
193  High = (39 << 8) | 0x04,
-
194  Full = (39 << 8) | 0x05,
+
188  Charging = (39 << 8) | 0xEE,
+
189  NotCharging = (39 << 8) | 0xF1,
+
190  Shutdown = (39 << 8) | 0x01,
+
191  Dying = (39 << 8) | 0x02,
+
192  Low = (39 << 8) | 0x03,
+
193  High = (39 << 8) | 0x04,
+
194  Full = (39 << 8) | 0x05,
195 
-
196  MoveCharging = (21 << 8) | 0xEE,
-
197  MoveNotCharging = (21 << 8) | 0xF1,
-
198  MoveShutdown = (21 << 8) | 0x01,
-
199  MoveDying = (21 << 8) | 0x02,
-
200  MoveLow = (21 << 8) | 0x03,
-
201  MoveHigh = (21 << 8) | 0x04,
-
202  MoveFull = (21 << 8) | 0x05,
+
196  MoveCharging = (21 << 8) | 0xEE,
+
197  MoveNotCharging = (21 << 8) | 0xF1,
+
198  MoveShutdown = (21 << 8) | 0x01,
+
199  MoveDying = (21 << 8) | 0x02,
+
200  MoveLow = (21 << 8) | 0x03,
+
201  MoveHigh = (21 << 8) | 0x04,
+
202  MoveFull = (21 << 8) | 0x05,
203 
-
204  CableRumble = (40 << 8) | 0x10, //Opperating by USB and rumble is turned on
-
205  Cable = (40 << 8) | 0x12, //Opperating by USB and rumble is turned off
-
206  BluetoothRumble = (40 << 8) | 0x14, //Opperating by bluetooth and rumble is turned on
-
207  Bluetooth = (40 << 8) | 0x16, //Opperating by bluetooth and rumble is turned off
+
204  CableRumble = (40 << 8) | 0x10, //Opperating by USB and rumble is turned on
+
205  Cable = (40 << 8) | 0x12, //Opperating by USB and rumble is turned off
+
206  BluetoothRumble = (40 << 8) | 0x14, //Opperating by bluetooth and rumble is turned on
+
207  Bluetooth = (40 << 8) | 0x16, //Opperating by bluetooth and rumble is turned off
208 };
209 
-
210 enum Rumble {
-
211  RumbleHigh = 0x10,
-
212  RumbleLow = 0x20,
+
210 enum Rumble {
+
211  RumbleHigh = 0x10,
+
212  RumbleLow = 0x20,
213 };
214 
215 #endif
+ + + +
Definition: PS3Enums.h:117
+ +
Definition: PS3Enums.h:179
+ +
Definition: PS3Enums.h:192
+
Sensor
Definition: PS3Enums.h:141
+
const uint8_t PS3_REPORT_BUFFER[]
Definition: PS3Enums.h:24
+
Definition: PS3Enums.h:193
+ + + +
Definition: PS3Enums.h:194
+
const uint8_t LEDS[]
Definition: PS3Enums.h:43
+
const uint8_t ANALOGBUTTONS[]
Definition: PS3Enums.h:93
+ + + + + + + + + +
Definition: PS3Enums.h:147
+
Status
Definition: PS3Enums.h:182
+
Colors
Definition: PS3Enums.h:115
+ + +
Rumble
Definition: PS3Enums.h:210
+ + + + + + + +
Definition: PS3Enums.h:143
+
Angle
Definition: PS3Enums.h:177
+ + +
Definition: PS3Enums.h:149
+ + + + +
Definition: PS3Enums.h:133
+ + + +
Definition: PS3Enums.h:121
+ +
const uint32_t BUTTONS[]
Definition: PS3Enums.h:62
+
Definition: PS3Enums.h:145
diff --git a/_p_s3_u_s_b_8cpp.html b/_p_s3_u_s_b_8cpp.html index cf256d33..f5d084d1 100644 --- a/_p_s3_u_s_b_8cpp.html +++ b/_p_s3_u_s_b_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3USB.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for PS3USB.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for PS3USB.cpp: diff --git a/_p_s3_u_s_b_8cpp__incl.map b/_p_s3_u_s_b_8cpp__incl.map index b49382cc..aef04c8b 100644 --- a/_p_s3_u_s_b_8cpp__incl.map +++ b/_p_s3_u_s_b_8cpp__incl.map @@ -1,14 +1,6 @@ - - - - - - - - - - - - + + + + diff --git a/_p_s3_u_s_b_8cpp__incl.md5 b/_p_s3_u_s_b_8cpp__incl.md5 index 4b64ca0f..afd63d3f 100644 --- a/_p_s3_u_s_b_8cpp__incl.md5 +++ b/_p_s3_u_s_b_8cpp__incl.md5 @@ -1 +1 @@ -940a938e101921693d8ab2fbeb381a38 \ No newline at end of file +68d8fca935dc486bd7b23a04cf3b7f24 \ No newline at end of file diff --git a/_p_s3_u_s_b_8cpp__incl.png b/_p_s3_u_s_b_8cpp__incl.png index b28791a179e5eb065d556cc722fa9cdc48fd69fc..2668dd31a653962d85a428299c49a862c8e59739 100644 GIT binary patch literal 11389 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 literal 70058 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 - + USB Host Shield 2.0: PS3USB.cpp Source File @@ -31,7 +31,7 @@ - + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

21 //#define PRINTREPORT // Uncomment to print the report send by the PS3 Controllers
22 
-
23 PS3USB::PS3USB(USB *p, uint8_t btadr5, uint8_t btadr4, uint8_t btadr3, uint8_t btadr2, uint8_t btadr1, uint8_t btadr0) :
+
23 PS3USB::PS3USB(USB *p, uint8_t btadr5, uint8_t btadr4, uint8_t btadr3, uint8_t btadr2, uint8_t btadr1, uint8_t btadr0) :
24 pUsb(p), // pointer to USB class instance - mandatory
25 bAddress(0), // device address - mandatory
26 bPollEnable(false) // don't start polling before dongle is connected
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
43  my_bdaddr[0] = btadr0;
44 }
45 
-
46 uint8_t PS3USB::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
46 uint8_t PS3USB::Init(uint8_t parent, uint8_t port, bool lowspeed) {
47  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
48  uint8_t rcode;
49  UsbDevice *p = NULL;
@@ -152,7 +152,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
61 #ifdef DEBUG_USB_HOST
62  Notify(PSTR("\r\nAddress in use"), 0x80);
63 #endif
- +
65  }
66 
67  // Get pointer to pseudo device with address 0 assigned
@@ -162,14 +162,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
71 #ifdef DEBUG_USB_HOST
72  Notify(PSTR("\r\nAddress not found"), 0x80);
73 #endif
- +
75  }
76 
77  if (!p->epinfo) {
78 #ifdef DEBUG_USB_HOST
79  Notify(PSTR("\r\nepinfo is null"), 0x80);
80 #endif
- +
82  }
83 
84  // Save old pointer to EP_RECORD of address 0
@@ -181,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
90  p->lowspeed = lowspeed;
91 
92  // Get device descriptor
-
93  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
+
93  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
94  // Restore p->epinfo
95  p->epinfo = oldep_ptr;
96 
@@ -198,7 +198,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
107  bAddress = addrPool.AllocAddress(parent, false, port);
108 
109  if (!bAddress)
- +
111 
112  // Extract Max Packet Size from device descriptor
113  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0;
@@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
135  //get pointer to assigned address record
136  p = addrPool.GetUsbDevicePtr(bAddress);
137  if (!p)
- +
139 
140  p->lowspeed = lowspeed;
141 
@@ -334,7 +334,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
243 #ifdef DEBUG_USB_HOST
244  NotifyFailUnknownDevice(VID, PID);
245 #endif
- +
247 Fail:
248 
249 #ifdef DEBUG_USB_HOST
@@ -346,7 +346,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
255 }
256 
257 /* Performs a cleanup after failed Init() attempt */
-
258 uint8_t PS3USB::Release() {
+
258 uint8_t PS3USB::Release() {
259  PS3Connected = false;
260  PS3MoveConnected = false;
261  PS3NavigationConnected = false;
@@ -356,7 +356,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
265  return 0;
266 }
267 
-
268 uint8_t PS3USB::Poll() {
+
268 uint8_t PS3USB::Poll() {
269  if (!bPollEnable)
270  return 0;
271 
@@ -406,36 +406,36 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
315 #endif
316 }
317 
- +
319  return (ButtonState & pgm_read_dword(&BUTTONS[(uint8_t)b]));
320 }
321 
- +
323  uint32_t button = pgm_read_dword(&BUTTONS[(uint8_t)b]);
324  bool click = (ButtonClickState & button);
325  ButtonClickState &= ~button; // clear "click" event
326  return click;
327 }
328 
- +
330  if (readBuf == NULL)
331  return 0;
332  return (uint8_t)(readBuf[(pgm_read_byte(&ANALOGBUTTONS[(uint8_t)a])) - 9]);
333 }
334 
- +
336  if (readBuf == NULL)
337  return 0;
338  return (uint8_t)(readBuf[((uint8_t)a + 6)]);
339 }
340 
- +
342  if (readBuf == NULL)
343  return 0;
344  return ((readBuf[((uint16_t)a) - 9] << 8) | readBuf[((uint16_t)a + 1) - 9]);
345 }
346 
- +
348  if (PS3Connected) {
349  double accXval;
350  double accYval;
@@ -461,7 +461,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
370  return 0;
371 }
372 
- +
374  if (readBuf == NULL)
375  return false;
376  if (readBuf[((uint16_t)c >> 8) - 9] == ((uint8_t)c & 0xff))
@@ -469,7 +469,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
378  return false;
379 }
380 
- +
383  char statusOutput[100];
384 
@@ -510,14 +510,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
419  pUsb->ctrlReq(bAddress, epInfo[PS3_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x01, 0x02, 0x00, nbytes, nbytes, data, NULL);
420 }
421 
- +
423  for (uint8_t i = 0; i < PS3_REPORT_BUFFER_SIZE; i++)
424  writeBuf[i] = pgm_read_byte(&PS3_REPORT_BUFFER[i]); // Reset buffer
425 
426  PS3_Command(writeBuf, PS3_REPORT_BUFFER_SIZE);
427 }
428 
- +
430  writeBuf[1] = 0x00;
431  writeBuf[2] = 0x00; //low mode off
432  writeBuf[3] = 0x00;
@@ -526,7 +526,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
435  PS3_Command(writeBuf, PS3_REPORT_BUFFER_SIZE);
436 }
437 
- +
439  if ((mode & 0x30) > 0x00) {
440  uint8_t power[2] = {0xff, 0x00}; // Defaults to RumbleLow
441  if (mode == RumbleHigh) {
@@ -537,7 +537,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
446  }
447 }
448 
-
449 void PS3USB::setRumbleOn(uint8_t rightDuration, uint8_t rightPower, uint8_t leftDuration, uint8_t leftPower) {
+
449 void PS3USB::setRumbleOn(uint8_t rightDuration, uint8_t rightPower, uint8_t leftDuration, uint8_t leftPower) {
450  writeBuf[1] = rightDuration;
451  writeBuf[2] = rightPower;
452  writeBuf[3] = leftDuration;
@@ -545,27 +545,27 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
454  PS3_Command(writeBuf, PS3_REPORT_BUFFER_SIZE);
455 }
456 
-
457 void PS3USB::setLedRaw(uint8_t value) {
+
457 void PS3USB::setLedRaw(uint8_t value) {
458  writeBuf[9] = value << 1;
459  PS3_Command(writeBuf, PS3_REPORT_BUFFER_SIZE);
460 }
461 
- +
463  writeBuf[9] &= ~((uint8_t)((pgm_read_byte(&LEDS[(uint8_t)a]) & 0x0f) << 1));
464  PS3_Command(writeBuf, PS3_REPORT_BUFFER_SIZE);
465 }
466 
- +
468  writeBuf[9] |= (uint8_t)((pgm_read_byte(&LEDS[(uint8_t)a]) & 0x0f) << 1);
469  PS3_Command(writeBuf, PS3_REPORT_BUFFER_SIZE);
470 }
471 
- +
473  writeBuf[9] ^= (uint8_t)((pgm_read_byte(&LEDS[(uint8_t)a]) & 0x0f) << 1);
474  PS3_Command(writeBuf, PS3_REPORT_BUFFER_SIZE);
475 }
476 
-
477 void PS3USB::setBdaddr(uint8_t* BDADDR) {
+
477 void PS3USB::setBdaddr(uint8_t* BDADDR) {
478  /* Set the internal bluetooth address */
479  uint8_t buf[8];
480  buf[0] = 0x01;
@@ -593,7 +593,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
502  pUsb->outTransfer(bAddress, epInfo[ PS3_OUTPUT_PIPE ].epAddr, nbytes, data);
503 }
504 
-
505 void PS3USB::moveSetBulb(uint8_t r, uint8_t g, uint8_t b) { //Use this to set the Color using RGB values
+
505 void PS3USB::moveSetBulb(uint8_t r, uint8_t g, uint8_t b) { //Use this to set the Color using RGB values
506  // set the Bulb's values into the write buffer
507  writeBuf[2] = r;
508  writeBuf[3] = g;
@@ -602,11 +602,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
511  Move_Command(writeBuf, MOVE_REPORT_BUFFER_SIZE);
512 }
513 
-
514 void PS3USB::moveSetBulb(Colors color) { //Use this to set the Color using the predefined colors in "enums.h"
+
514 void PS3USB::moveSetBulb(Colors color) { //Use this to set the Color using the predefined colors in "enums.h"
515  moveSetBulb((uint8_t)(color >> 16), (uint8_t)(color >> 8), (uint8_t)(color));
516 }
517 
-
518 void PS3USB::moveSetRumble(uint8_t rumble) {
+
518 void PS3USB::moveSetRumble(uint8_t rumble) {
519 #ifdef DEBUG_USB_HOST
520  if (rumble < 64 && rumble != 0) // The rumble value has to at least 64, or approximately 25% (64/255*100)
521  Notify(PSTR("\r\nThe rumble value has to at least 64, or approximately 25%"), 0x80);
@@ -617,7 +617,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
526  Move_Command(writeBuf, MOVE_REPORT_BUFFER_SIZE);
527 }
528 
-
529 void PS3USB::setMoveBdaddr(uint8_t* BDADDR) {
+
529 void PS3USB::setMoveBdaddr(uint8_t* BDADDR) {
530  /* Set the internal bluetooth address */
531  uint8_t buf[11];
532  buf[0] = 0x05;
@@ -643,12 +643,128 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
552  setLedOn(LED1);
553  }
554 }
+
uint8_t bmRcvToggle
Definition: address.h:41
+ +
uint16_t getSensor(Sensor a)
Definition: PS3USB.cpp:341
+ + +
Definition: PS3Enums.h:117
+
EpInfo * epinfo
Definition: address.h:76
+ +
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+
uint8_t bmNakPower
Definition: address.h:42
+
void setLedRaw(uint8_t value)
Definition: PS3USB.cpp:457
+
bool PS3NavigationConnected
Definition: PS3USB.h:246
+
#define PS3_INPUT_PIPE
Definition: PS3USB.h:33
+
Definition: PS3Enums.h:192
+ +
Sensor
Definition: PS3Enums.h:141
+
#define PS3MOVE_PID
Definition: BTD.h:27
+
const uint8_t PS3_REPORT_BUFFER[]
Definition: PS3Enums.h:24
+
virtual uint8_t Release()
Definition: PS3USB.cpp:258
+ +
#define PS3_OUTPUT_PIPE
Definition: PS3USB.h:32
+
#define NotifyFail(...)
Definition: message.h:55
+
bool PS3MoveConnected
Definition: PS3USB.h:244
+
Definition: PS3Enums.h:193
+ + + +
Definition: PS3Enums.h:194
+
const uint8_t LEDS[]
Definition: PS3Enums.h:43
+
const uint8_t ANALOGBUTTONS[]
Definition: PS3Enums.h:93
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+
uint8_t getAnalogButton(Button a)
Definition: PS3USB.cpp:329
+
#define PS3_VID
Definition: BTD.h:24
+
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
void setRumbleOff()
Definition: PS3USB.cpp:429
+ +
#define EP_MAXPKTSIZE
Definition: PS3USB.h:25
+
bool PS3Connected
Definition: PS3USB.h:238
+
virtual void FreeAddress(uint8_t addr)=0
+
String getStatusString()
Definition: PS3USB.cpp:381
+
uint8_t epAttribs
Definition: address.h:37
+
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)
Definition: Usb.cpp:126
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
bool getStatus(Status c)
Definition: PS3USB.cpp:373
+
bool getButtonClick(Button b)
Definition: PS3USB.cpp:322
+
#define Notify(...)
Definition: message.h:44
+
#define PS3_CONTROL_PIPE
Definition: PS3USB.h:31
+ +
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
void setRumbleOn(Rumble mode)
Definition: PS3USB.cpp:438
+ +
uint8_t epAddr
Definition: address.h:33
+
void setBdaddr(uint8_t *BDADDR)
Definition: PS3USB.cpp:477
+
Definition: PS3Enums.h:147
+
#define NotifyFailUnknownDevice(...)
Definition: message.h:54
+
Status
Definition: PS3Enums.h:182
+
Colors
Definition: PS3Enums.h:115
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+
void moveSetBulb(uint8_t r, uint8_t g, uint8_t b)
Definition: PS3USB.cpp:505
+ +
void setLedToggle(LED a)
Definition: PS3USB.cpp:472
+
Rumble
Definition: PS3Enums.h:210
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: PS3USB.cpp:46
+
#define EP_INTERRUPT
Definition: PS3USB.h:28
+
Definition: address.h:32
+
#define MOVE_REPORT_BUFFER_SIZE
Definition: PS3Enums.h:40
+
void setAllOff()
Definition: PS3USB.cpp:422
+
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:290
+
#define HID_REQUEST_SET_REPORT
Definition: BTD.h:39
+
void setMoveBdaddr(uint8_t *BDADDR)
Definition: PS3USB.cpp:529
+ +
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
uint8_t bmSndToggle
Definition: address.h:40
+
Definition: PS3Enums.h:143
+
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+
Angle
Definition: PS3Enums.h:177
+
USB * pUsb
Definition: PS3USB.h:250
+
#define USB_NAK_NOWAIT
Definition: address.h:29
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+
#define PS3_PID
Definition: BTD.h:25
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
#define PS3NAVIGATION_PID
Definition: BTD.h:26
+
void moveSetRumble(uint8_t rumble)
Definition: PS3USB.cpp:518
+
virtual uint8_t Poll()
Definition: PS3USB.cpp:268
+
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
#define PS3_MAX_ENDPOINTS
Definition: PS3USB.h:45
+
EpInfo epInfo[PS3_MAX_ENDPOINTS]
Definition: PS3USB.h:254
+ +
#define bmRCVTOG0
Definition: max3421e.h:185
+
#define bmREQ_HID_OUT
Definition: BTD.h:38
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
Button
+
#define bmSNDTOG0
Definition: max3421e.h:187
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
uint8_t bAddress
Definition: PS3USB.h:252
+
#define PS3_REPORT_BUFFER_SIZE
Definition: PS3Enums.h:37
+ +
Definition: UsbCore.h:152
+
uint8_t getAnalogHat(AnalogHat a)
Definition: PS3USB.cpp:335
+
double getAngle(Angle a)
Definition: PS3USB.cpp:347
+
void setLedOn(LED a)
Definition: PS3USB.cpp:467
+ +
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
bool getButtonPress(Button b)
Definition: PS3USB.cpp:318
+
AnalogHat
+
const uint32_t BUTTONS[]
Definition: PS3Enums.h:62
+
PS3USB(USB *pUsb, uint8_t btadr5=0, uint8_t btadr4=0, uint8_t btadr3=0, uint8_t btadr2=0, uint8_t btadr1=0, uint8_t btadr0=0)
Definition: PS3USB.cpp:23
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
Definition: PS3Enums.h:145
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+
void setLedOff(LED a)
Definition: PS3USB.cpp:462
+ diff --git a/_p_s3_u_s_b_8h.html b/_p_s3_u_s_b_8h.html index ea174c52..d6820a7b 100644 --- a/_p_s3_u_s_b_8h.html +++ b/_p_s3_u_s_b_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3USB.h File Reference @@ -31,7 +31,7 @@ - + @@ -92,22 +92,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
PS3USB.h File Reference
-
#include "Arduino.h"
-#include "Usb.h"
+
#include "Usb.h"
#include "PS3Enums.h"
Include dependency graph for PS3USB.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -155,7 +154,7 @@ Macros
-

Definition at line 31 of file PS3USB.h.

+

Definition at line 25 of file PS3USB.h.

@@ -169,7 +168,7 @@ Macros
-

Definition at line 34 of file PS3USB.h.

+

Definition at line 28 of file PS3USB.h.

@@ -183,7 +182,7 @@ Macros
-

Definition at line 37 of file PS3USB.h.

+

Definition at line 31 of file PS3USB.h.

@@ -197,7 +196,7 @@ Macros
-

Definition at line 38 of file PS3USB.h.

+

Definition at line 32 of file PS3USB.h.

@@ -211,7 +210,7 @@ Macros
-

Definition at line 39 of file PS3USB.h.

+

Definition at line 33 of file PS3USB.h.

@@ -225,7 +224,7 @@ Macros
-

Definition at line 42 of file PS3USB.h.

+

Definition at line 36 of file PS3USB.h.

@@ -239,7 +238,7 @@ Macros
-

Definition at line 43 of file PS3USB.h.

+

Definition at line 37 of file PS3USB.h.

@@ -253,7 +252,7 @@ Macros
-

Definition at line 44 of file PS3USB.h.

+

Definition at line 38 of file PS3USB.h.

@@ -267,7 +266,7 @@ Macros
-

Definition at line 45 of file PS3USB.h.

+

Definition at line 39 of file PS3USB.h.

@@ -281,7 +280,7 @@ Macros
-

Definition at line 48 of file PS3USB.h.

+

Definition at line 42 of file PS3USB.h.

@@ -295,7 +294,7 @@ Macros
-

Definition at line 49 of file PS3USB.h.

+

Definition at line 43 of file PS3USB.h.

@@ -309,7 +308,7 @@ Macros
-

Definition at line 51 of file PS3USB.h.

+

Definition at line 45 of file PS3USB.h.

@@ -318,7 +317,7 @@ Macros diff --git a/_p_s3_u_s_b_8h__dep__incl.map b/_p_s3_u_s_b_8h__dep__incl.map index 6925069b..57e03439 100644 --- a/_p_s3_u_s_b_8h__dep__incl.map +++ b/_p_s3_u_s_b_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/_p_s3_u_s_b_8h__dep__incl.md5 b/_p_s3_u_s_b_8h__dep__incl.md5 index 4c6ddf5c..b91d38d1 100644 --- a/_p_s3_u_s_b_8h__dep__incl.md5 +++ b/_p_s3_u_s_b_8h__dep__incl.md5 @@ -1 +1 @@ -bbc0b7779319ea63e597b457c4e651c8 \ No newline at end of file +10cd044b5bf58467538f65c844ab1455 \ No newline at end of file diff --git a/_p_s3_u_s_b_8h__dep__incl.png b/_p_s3_u_s_b_8h__dep__incl.png index d2c59a47602296721acfea9633c19ba9cec83d49..735b35641fba96084154eec9052bf23c2ec4b707 100644 GIT binary patch literal 3967 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 literal 2030 zcmaJ?dpy(o8~-T#7{`|c@ug~XseLm0S^Sqwtc|T948`g2JyoNjg z0DCcK?L9#12JWj+Y4G&wS`~m~*JWo%dtm3sDtli25CG&JW9)4_vEKh%`G;4?a>L6nvM>FflA=jtGm-*K6~~I)avT$Dl5~i^uWOFZEdB2kEny1 znn#o}ajRS|m&IZM4Tu8IKt)GTW+szKqfK)&V0!m!+S;@LXxbo&_4cktb~n+2Bdo5jrf8jrUjO2+ zz%?>5s;Tg%TWMq;seRMyv~CWR8T>7b{z;+H$5=J%YG7bsQWDzK)YRBGG&I!M&=6BU z%5G{he#Y>_Kk)?ZaX2ShCl9Kq2!5MJwUfUmC~${|hrN9mYIjbZI@QzN4Tqda*-rBG z{G*rnC!LR%Gh}SwOrM29xzwqtsqyjgp`oF{ zLAM|uz557#eLN>xm}0x}vGexfb0rlM+S=OccZCAMSZH%w8~X83esM7l{2?zdh;`A< z&Mq+_p++DO5F;ZS{P6k@U-k4jS9$=b8((k^4!ibGHHT>ey3nU9r02Q|PO-7EQBhH# zB)+xPcFV^9}k;Q(bn#tT{c&E^LcHw&cCRnBquX-dUZ4WX5;vlMD!-lj1Y~| z;^4Nwt$k)Pe-eAQbonHZNTdUH&Qz=#9R6ZD5=cd09w5GNZ54;CCHze3iSeH)B>X58 zTUzAi6_LeAej-1#fQWp?>@Y^y+80|t@#_@86$?Lkr|>78ZIBd(jZ|?x3Kc#MY7li6m4uRVQUjuy$jL6El~-M-61|MJL%uhzW*w;p?5y*$$_=V%w9@S_X&#VNm8yaEiLczQ*@f&s~zZ`Sj_qIWxC*i z%+HSo5uvP!tu6A#yNkCz%F#z0&LQbbLMed!O~eP>+?QeBTJbT~K*LLyjQ@u7QhI^n zk-k`;OI2KXOKlMG|A*DGBLnnArRgS39?7A|q~Z?Fe9n=Ukr763s%2@J9<{RCd?qaq znLY%il(ZKX7UHx!HXPeJ0{}q3pLbgqiWCz2sa!CHm(ugf>2znKM^2T)5{cwOJznZX zf6?(u4^e?-kb|S6)QfO7zawRbM?IyitW2d+Q90)|r&@1B5Q$wT{IM~EhrL7#UoyEp zCIKj2VW(GDRe^VBXJ;%n$CmaR0x8z+*#Ny-<6ojFbUKVYEB z3HI{#9wx{ow@f|uG#VLI7H$z{#bVIN$N83%111c;|4p)Ov)WfSyHt%@<-h?BV9sFe J>udwk{sZug;EVtO diff --git a/_p_s3_u_s_b_8h__incl.map b/_p_s3_u_s_b_8h__incl.map index 768b942f..7f68251d 100644 --- a/_p_s3_u_s_b_8h__incl.map +++ b/_p_s3_u_s_b_8h__incl.map @@ -1,13 +1,5 @@ - - - - - - - - - - - + + + diff --git a/_p_s3_u_s_b_8h__incl.md5 b/_p_s3_u_s_b_8h__incl.md5 index 7020d6c7..7be15006 100644 --- a/_p_s3_u_s_b_8h__incl.md5 +++ b/_p_s3_u_s_b_8h__incl.md5 @@ -1 +1 @@ -997da459ce6865ea46e97e76129b7a25 \ No newline at end of file +d7ca50c1f7f20fdedd5d4e89b29bcaf5 \ No newline at end of file diff --git a/_p_s3_u_s_b_8h__incl.png b/_p_s3_u_s_b_8h__incl.png index 67161d7fc4fe4c95ab8d29f47f282662e65fcd95..cd8257d56aa7c8531bfe179dd2e961e0d089a43d 100644 GIT binary patch literal 8831 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 diff --git a/_p_s3_u_s_b_8h_source.html b/_p_s3_u_s_b_8h_source.html index 91d2c87c..e0552223 100644 --- a/_p_s3_u_s_b_8h_source.html +++ b/_p_s3_u_s_b_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3USB.h Source File @@ -31,7 +31,7 @@ - + @@ -109,126 +109,173 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
19 #define _ps3usb_h_
20 
-
21 #if defined(ARDUINO) && ARDUINO >= 100
-
22 #include "Arduino.h"
-
23 #else
-
24 #include "WProgram.h"
-
25 #endif
+
21 #include "Usb.h"
+
22 #include "PS3Enums.h"
+
23 
+
24 /* PS3 data taken from descriptors */
+
25 #define EP_MAXPKTSIZE 64 // max size for data via USB
26 
-
27 #include "Usb.h"
-
28 #include "PS3Enums.h"
-
29 
-
30 /* PS3 data taken from descriptors */
-
31 #define EP_MAXPKTSIZE 64 // max size for data via USB
-
32 
-
33 /* Endpoint types */
-
34 #define EP_INTERRUPT 0x03
-
35 
-
36 /* Names we give to the 3 ps3 pipes - this is only used for setting the bluetooth address into the ps3 controllers */
-
37 #define PS3_CONTROL_PIPE 0
-
38 #define PS3_OUTPUT_PIPE 1
-
39 #define PS3_INPUT_PIPE 2
+
27 /* Endpoint types */
+
28 #define EP_INTERRUPT 0x03
+
29 
+
30 /* Names we give to the 3 ps3 pipes - this is only used for setting the bluetooth address into the ps3 controllers */
+
31 #define PS3_CONTROL_PIPE 0
+
32 #define PS3_OUTPUT_PIPE 1
+
33 #define PS3_INPUT_PIPE 2
+
34 
+
35 //PID and VID of the different devices
+
36 #define PS3_VID 0x054C // Sony Corporation
+
37 #define PS3_PID 0x0268 // PS3 Controller DualShock 3
+
38 #define PS3NAVIGATION_PID 0x042F // Navigation controller
+
39 #define PS3MOVE_PID 0x03D5 // Motion controller
40 
-
41 //PID and VID of the different devices
-
42 #define PS3_VID 0x054C // Sony Corporation
-
43 #define PS3_PID 0x0268 // PS3 Controller DualShock 3
-
44 #define PS3NAVIGATION_PID 0x042F // Navigation controller
-
45 #define PS3MOVE_PID 0x03D5 // Motion controller
+
41 // used in control endpoint header for HID Commands
+
42 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
+
43 #define HID_REQUEST_SET_REPORT 0x09
+
44 
+
45 #define PS3_MAX_ENDPOINTS 3
46 
-
47 // used in control endpoint header for HID Commands
-
48 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
-
49 #define HID_REQUEST_SET_REPORT 0x09
-
50 
-
51 #define PS3_MAX_ENDPOINTS 3
-
52 
-
61 class PS3USB : public USBDeviceConfig {
-
62 public:
-
70  PS3USB(USB *pUsb, uint8_t btadr5 = 0, uint8_t btadr4 = 0, uint8_t btadr3 = 0, uint8_t btadr2 = 0, uint8_t btadr1 = 0, uint8_t btadr0 = 0);
-
71 
-
80  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
85  virtual uint8_t Release();
-
90  virtual uint8_t Poll();
-
91 
-
96  virtual uint8_t GetAddress() {
-
97  return bAddress;
-
98  };
-
99 
-
104  virtual bool isReady() {
-
105  return bPollEnable;
-
106  };
-
107 
-
114  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
-
115  return (vid == PS3_VID && (pid == PS3_PID || pid == PS3NAVIGATION_PID || pid == PS3MOVE_PID));
-
116  };
-
123  void setBdaddr(uint8_t* BDADDR);
-
128  void setMoveBdaddr(uint8_t* BDADDR);
-
129 
-
139  bool getButtonPress(Button b);
-
140  bool getButtonClick(Button b);
-
151  uint8_t getAnalogButton(Button a);
-
157  uint8_t getAnalogHat(AnalogHat a);
-
164  uint16_t getSensor(Sensor a);
-
170  double getAngle(Angle a);
-
176  bool getStatus(Status c);
-
181  String getStatusString();
-
182 
-
184  void setAllOff();
-
186  void setRumbleOff();
-
191  void setRumbleOn(Rumble mode);
-
199  void setRumbleOn(uint8_t rightDuration, uint8_t rightPower, uint8_t leftDuration, uint8_t leftPower);
-
200 
-
205  void setLedRaw(uint8_t value);
-
210  void setLedOff(LED a);
-
215  void setLedOn(LED a);
-
220  void setLedToggle(LED a);
-
221 
-
226  void moveSetBulb(uint8_t r, uint8_t g, uint8_t b);
-
231  void moveSetBulb(Colors color);
-
236  void moveSetRumble(uint8_t rumble);
-
237 
-
242  void attachOnInit(void (*funcOnInit)(void)) {
-
243  pFuncOnInit = funcOnInit;
-
244  };
-
248  bool PS3Connected;
- - -
253 
-
254 protected:
- -
258  uint8_t bAddress;
- -
261 
-
262 private:
-
268  void onInit();
-
269  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
-
270 
-
271  bool bPollEnable;
+
55 class PS3USB : public USBDeviceConfig {
+
56 public:
+
64  PS3USB(USB *pUsb, uint8_t btadr5 = 0, uint8_t btadr4 = 0, uint8_t btadr3 = 0, uint8_t btadr2 = 0, uint8_t btadr1 = 0, uint8_t btadr0 = 0);
+
65 
+
74  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
79  virtual uint8_t Release();
+
84  virtual uint8_t Poll();
+
85 
+
90  virtual uint8_t GetAddress() {
+
91  return bAddress;
+
92  };
+
93 
+
98  virtual bool isReady() {
+
99  return bPollEnable;
+
100  };
+
101 
+
108  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
+
109  return (vid == PS3_VID && (pid == PS3_PID || pid == PS3NAVIGATION_PID || pid == PS3MOVE_PID));
+
110  };
+
117  void setBdaddr(uint8_t* BDADDR);
+
122  void setMoveBdaddr(uint8_t* BDADDR);
+
123 
+
133  bool getButtonPress(Button b);
+
134  bool getButtonClick(Button b);
+
145  uint8_t getAnalogButton(Button a);
+
151  uint8_t getAnalogHat(AnalogHat a);
+
158  uint16_t getSensor(Sensor a);
+
164  double getAngle(Angle a);
+
170  bool getStatus(Status c);
+
175  String getStatusString();
+
176 
+
178  void setAllOff();
+
180  void setRumbleOff();
+
185  void setRumbleOn(Rumble mode);
+
193  void setRumbleOn(uint8_t rightDuration, uint8_t rightPower, uint8_t leftDuration, uint8_t leftPower);
+
194 
+
199  void setLedRaw(uint8_t value);
+
204  void setLedOff(LED a);
+
209  void setLedOn(LED a);
+
214  void setLedToggle(LED a);
+
215 
+
220  void moveSetBulb(uint8_t r, uint8_t g, uint8_t b);
+
225  void moveSetBulb(Colors color);
+
230  void moveSetRumble(uint8_t rumble);
+
231 
+
236  void attachOnInit(void (*funcOnInit)(void)) {
+
237  pFuncOnInit = funcOnInit;
+
238  };
+
242  bool PS3Connected;
+ + +
247 
+
248 protected:
+ +
252  uint8_t bAddress;
+ +
255 
+
256 private:
+
262  void onInit();
+
263  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
+
264 
+
265  bool bPollEnable;
+
266 
+
267  uint32_t timer; // used to continuously set PS3 Move controller Bulb and rumble values
+
268 
+
269  uint32_t ButtonState;
+
270  uint32_t OldButtonState;
+
271  uint32_t ButtonClickState;
272 
-
273  uint32_t timer; // used to continuously set PS3 Move controller Bulb and rumble values
-
274 
-
275  uint32_t ButtonState;
-
276  uint32_t OldButtonState;
-
277  uint32_t ButtonClickState;
-
278 
-
279  uint8_t my_bdaddr[6]; // Change to your dongles Bluetooth address in the constructor
-
280  uint8_t readBuf[EP_MAXPKTSIZE]; // General purpose buffer for input data
-
281  uint8_t writeBuf[EP_MAXPKTSIZE]; // General purpose buffer for output data
-
282 
-
283  void readReport(); // read incoming data
-
284  void printReport(); // print incoming date - Uncomment for debugging
-
285 
-
286  /* Private commands */
-
287  void PS3_Command(uint8_t* data, uint16_t nbytes);
-
288  void enable_sixaxis(); // Command used to enable the Dualshock 3 and Navigation controller to send data via USB
-
289  void Move_Command(uint8_t* data, uint16_t nbytes);
-
290 };
-
291 #endif
+
273  uint8_t my_bdaddr[6]; // Change to your dongles Bluetooth address in the constructor
+
274  uint8_t readBuf[EP_MAXPKTSIZE]; // General purpose buffer for input data
+
275  uint8_t writeBuf[EP_MAXPKTSIZE]; // General purpose buffer for output data
+
276 
+
277  void readReport(); // read incoming data
+
278  void printReport(); // print incoming date - Uncomment for debugging
+
279 
+
280  /* Private commands */
+
281  void PS3_Command(uint8_t* data, uint16_t nbytes);
+
282  void enable_sixaxis(); // Command used to enable the Dualshock 3 and Navigation controller to send data via USB
+
283  void Move_Command(uint8_t* data, uint16_t nbytes);
+
284 };
+
285 #endif
+
uint16_t getSensor(Sensor a)
Definition: PS3USB.cpp:341
+
Definition: PS3USB.h:55
+
void setLedRaw(uint8_t value)
Definition: PS3USB.cpp:457
+
bool PS3NavigationConnected
Definition: PS3USB.h:246
+
Sensor
Definition: PS3Enums.h:141
+
virtual uint8_t Release()
Definition: PS3USB.cpp:258
+
bool PS3MoveConnected
Definition: PS3USB.h:244
+
uint8_t getAnalogButton(Button a)
Definition: PS3USB.cpp:329
+ + +
void setRumbleOff()
Definition: PS3USB.cpp:429
+ +
#define EP_MAXPKTSIZE
Definition: PS3USB.h:25
+
bool PS3Connected
Definition: PS3USB.h:238
+
String getStatusString()
Definition: PS3USB.cpp:381
+
bool getStatus(Status c)
Definition: PS3USB.cpp:373
+
bool getButtonClick(Button b)
Definition: PS3USB.cpp:322
+ +
virtual uint8_t GetAddress()
Definition: PS3USB.h:90
+
void setRumbleOn(Rumble mode)
Definition: PS3USB.cpp:438
+
void attachOnInit(void(*funcOnInit)(void))
Definition: PS3USB.h:236
+
void setBdaddr(uint8_t *BDADDR)
Definition: PS3USB.cpp:477
+
Status
Definition: PS3Enums.h:182
+
Colors
Definition: PS3Enums.h:115
+
void moveSetBulb(uint8_t r, uint8_t g, uint8_t b)
Definition: PS3USB.cpp:505
+
void setLedToggle(LED a)
Definition: PS3USB.cpp:472
+
Rumble
Definition: PS3Enums.h:210
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: PS3USB.cpp:46
+
Definition: address.h:32
+
void setAllOff()
Definition: PS3USB.cpp:422
+
void setMoveBdaddr(uint8_t *BDADDR)
Definition: PS3USB.cpp:529
+
#define PS3_PID
Definition: PS3USB.h:37
+
Angle
Definition: PS3Enums.h:177
+
USB * pUsb
Definition: PS3USB.h:250
+
void moveSetRumble(uint8_t rumble)
Definition: PS3USB.cpp:518
+
virtual uint8_t Poll()
Definition: PS3USB.cpp:268
+
#define PS3MOVE_PID
Definition: PS3USB.h:39
+
#define PS3_MAX_ENDPOINTS
Definition: PS3USB.h:45
+
EpInfo epInfo[PS3_MAX_ENDPOINTS]
Definition: PS3USB.h:254
+
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: PS3USB.h:108
+
Button
+
#define PS3NAVIGATION_PID
Definition: PS3USB.h:38
+
#define PS3_VID
Definition: PS3USB.h:36
+
uint8_t bAddress
Definition: PS3USB.h:252
+
Definition: UsbCore.h:152
+
uint8_t getAnalogHat(AnalogHat a)
Definition: PS3USB.cpp:335
+
double getAngle(Angle a)
Definition: PS3USB.cpp:347
+
void setLedOn(LED a)
Definition: PS3USB.cpp:467
+
bool getButtonPress(Button b)
Definition: PS3USB.cpp:318
+
AnalogHat
+
PS3USB(USB *pUsb, uint8_t btadr5=0, uint8_t btadr4=0, uint8_t btadr3=0, uint8_t btadr2=0, uint8_t btadr1=0, uint8_t btadr0=0)
Definition: PS3USB.cpp:23
+
virtual bool isReady()
Definition: PS3USB.h:98
+
void setLedOff(LED a)
Definition: PS3USB.cpp:462
diff --git a/_r_e_a_d_m_e_8md.html b/_r_e_a_d_m_e_8md.html index 218f02d3..021b6e1b 100644 --- a/_r_e_a_d_m_e_8md.html +++ b/_r_e_a_d_m_e_8md.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: README.md File Reference @@ -31,7 +31,7 @@ - + @@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/_r_e_a_d_m_e_8md_source.html b/_r_e_a_d_m_e_8md_source.html index d7e9df1e..e35d9c57 100644 --- a/_r_e_a_d_m_e_8md_source.html +++ b/_r_e_a_d_m_e_8md_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: README.md Source File @@ -31,7 +31,7 @@ - + @@ -142,147 +142,164 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
55 
56 ### Enable debugging
57 
-
58 By default serial debugging is disabled. To turn it on uncomment ```DEBUG_USB_HOST``` in [message.h](message.h).
+
58 By default serial debugging is disabled. To turn it on simply change ```ENABLE_UHS_DEBUGGING``` to 1 in [settings.h](settings.h) like so:
59 
-
60 ### Arduino ADK
-
61 To use this library with the official [Arduino ADK](http://arduino.cc/en/Main/ArduinoBoardADK) uncomment the following line in [avrpins.h](avrpins.h):
-
62 
-
63 ```
-
64 #define BOARD_MEGA_ADK
-
65 ```
-
66 
-
67 ### [Bluetooth libraries](BTD.cpp)
-
68 
-
69 The [BTD library](BTD.cpp) is a general purpose library for an ordinary Bluetooth dongle.
-
70 This library make it easy to add support for different Bluetooth services like a PS3 or a Wii controller or SPP which is a virtual serial port via Bluetooth.
-
71 Some different examples can be found in the [example directory](examples/Bluetooth).
-
72 
-
73 The BTD library will also make it possible to use multiple services at once, the following example sketch is an example of this:
-
74 <https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/Bluetooth/PS3SPP/PS3SPP.ino>
+
60 ```
+
61 #define ENABLE_UHS_DEBUGGING 1
+
62 ```
+
63 
+
64 ### Boards
+
65 
+
66 Currently the following boards are supported by the library:
+
67 
+
68 * All official Arduino AVR boards (Uno, Duemilanove, Mega, Mega 2560, Mega ADK, Leonardo etc.)
+
69 * Teensy (Teensy++ 1.0, Teensy 2.0, Teensy++ 2.0, and Teensy 3.0)
+
70 * Balanduino
+
71 * Sanguino
+
72 * Black Widdow
+
73 
+
74 The following boards need to be activated manually in [settings.h](settings.h):
75 
-
76 ### [SPP library](SPP.cpp)
-
77 
-
78 SPP stands for "Serial Port Profile" and is a Bluetooth protocol that implements a virtual comport which allows you to send data back and forth from your computer/phone to your Arduino via Bluetooth.
-
79 It has been tested successfully on Windows, Mac OS X, Linux, and Android.
-
80 
-
81 More information can be found at these blog posts:
-
82 
-
83 * <http://www.circuitsathome.com/mcu/bluetooth-rfcommspp-service-support-for-usb-host-2-0-library-released>
-
84 * <http://blog.tkjelectronics.dk/2012/07/rfcommspp-library-for-arduino/>
-
85 
-
86 To implement the SPP protocol I used a Bluetooth sniffing tool called [PacketLogger](http://www.tkjelectronics.com/uploads/PacketLogger.zip) developed by Apple.
-
87 It enables me to see the Bluetooth communication between my Mac and any device.
-
88 
-
89 ### PS3 Library
+
76 * Arduino Mega ADK
+
77  * If you are using Arduino 1.5.5 or newer there is no need to activate the Arduino Mega ADK manually
+
78 * Black Widdow
+
79 
+
80 Simply set the corresponding value to 1 instead of 0.
+
81 
+
82 ### [Bluetooth libraries](BTD.cpp)
+
83 
+
84 The [BTD library](BTD.cpp) is a general purpose library for an ordinary Bluetooth dongle.
+
85 This library make it easy to add support for different Bluetooth services like a PS3 or a Wii controller or SPP which is a virtual serial port via Bluetooth.
+
86 Some different examples can be found in the [example directory](examples/Bluetooth).
+
87 
+
88 The BTD library will also make it possible to use multiple services at once, the following example sketch is an example of this:
+
89 <https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/Bluetooth/PS3SPP/PS3SPP.ino>
90 
-
91 These libraries consist of the [PS3BT](PS3BT.cpp) and [PS3USB](PS3USB.cpp). These libraries allows you to use a Dualshock 3, Navigation or a Motion controller with the USB Host Shield both via Bluetooth and USB.
+
91 ### [SPP library](SPP.cpp)
92 
-
93 In order to use your Playstation controller via Bluetooth you have to set the Bluetooth address of the dongle internally to your PS3 Controller. This can be achieved by plugging the controller in via USB and letting the library set it automatically.
-
94 
-
95 __Note:__ To obtain the address you have to plug in the Bluetooth dongle before connecting the controller, or alternatively you could set it in code like so: <https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/Bluetooth/PS3BT/PS3BT.ino#L12>.
-
96 
-
97 For more information about the PS3 protocol see the official wiki: <https://github.com/felis/USB_Host_Shield_2.0/wiki/PS3-Information>.
-
98 
-
99 Also take a look at the blog posts:
+
93 SPP stands for "Serial Port Profile" and is a Bluetooth protocol that implements a virtual comport which allows you to send data back and forth from your computer/phone to your Arduino via Bluetooth.
+
94 It has been tested successfully on Windows, Mac OS X, Linux, and Android.
+
95 
+
96 More information can be found at these blog posts:
+
97 
+
98 * <http://www.circuitsathome.com/mcu/bluetooth-rfcommspp-service-support-for-usb-host-2-0-library-released>
+
99 * <http://blog.tkjelectronics.dk/2012/07/rfcommspp-library-for-arduino/>
100 
-
101 * <http://blog.tkjelectronics.dk/2012/01/ps3-controller-bt-library-for-arduino/>
-
102 * <http://www.circuitsathome.com/mcu/sony-ps3-controller-support-added-to-usb-host-library>
-
103 * <http://www.circuitsathome.com/mcu/arduino/interfacing-ps3-controllers-via-usb>
-
104 
-
105 A special thanks go to the following people:
-
106 
-
107 1. _Richard Ibbotson_ who made this excellent guide: <http://www.circuitsathome.com/mcu/ps3-and-wiimote-game-controllers-on-the-arduino-host-shield-part>
-
108 2. _Tomoyuki Tanaka_ for releasing his code for the Arduino USB Host shield connected to the wiimote: <http://www.circuitsathome.com/mcu/rc-car-controlled-by-wii-remote-on-arduino>
+
101 To implement the SPP protocol I used a Bluetooth sniffing tool called [PacketLogger](http://www.tkjelectronics.com/uploads/PacketLogger.zip) developed by Apple.
+
102 It enables me to see the Bluetooth communication between my Mac and any device.
+
103 
+
104 ### PS3 Library
+
105 
+
106 These libraries consist of the [PS3BT](PS3BT.cpp) and [PS3USB](PS3USB.cpp). These libraries allows you to use a Dualshock 3, Navigation or a Motion controller with the USB Host Shield both via Bluetooth and USB.
+
107 
+
108 In order to use your Playstation controller via Bluetooth you have to set the Bluetooth address of the dongle internally to your PS3 Controller. This can be achieved by plugging the controller in via USB and letting the library set it automatically.
109 
-
110 Also a big thanks all the people behind these sites about the Motion controller:
+
110 __Note:__ To obtain the address you have to plug in the Bluetooth dongle before connecting the controller, or alternatively you could set it in code like so: <https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/Bluetooth/PS3BT/PS3BT.ino#L12>.
111 
-
112 * <http://thp.io/2010/psmove/>
-
113 * <http://www.copenhagengamecollective.org/unimove/>
-
114 * <https://github.com/thp/psmoveapi>
-
115 * <http://code.google.com/p/moveonpc/>
-
116 
-
117 ### Xbox Libraries
-
118 
-
119 The library supports both the original Xbox controller via USB and the Xbox 360 controller both via USB and wirelessly.
-
120 
-
121 #### Xbox library
-
122 
-
123 The [XBOXOLD](XBOXOLD.cpp) class implements support for the original Xbox controller via USB.
+
112 For more information about the PS3 protocol see the official wiki: <https://github.com/felis/USB_Host_Shield_2.0/wiki/PS3-Information>.
+
113 
+
114 Also take a look at the blog posts:
+
115 
+
116 * <http://blog.tkjelectronics.dk/2012/01/ps3-controller-bt-library-for-arduino/>
+
117 * <http://www.circuitsathome.com/mcu/sony-ps3-controller-support-added-to-usb-host-library>
+
118 * <http://www.circuitsathome.com/mcu/arduino/interfacing-ps3-controllers-via-usb>
+
119 
+
120 A special thanks go to the following people:
+
121 
+
122 1. _Richard Ibbotson_ who made this excellent guide: <http://www.circuitsathome.com/mcu/ps3-and-wiimote-game-controllers-on-the-arduino-host-shield-part>
+
123 2. _Tomoyuki Tanaka_ for releasing his code for the Arduino USB Host shield connected to the wiimote: <http://www.circuitsathome.com/mcu/rc-car-controlled-by-wii-remote-on-arduino>
124 
-
125 All the information are from the following sites:
+
125 Also a big thanks all the people behind these sites about the Motion controller:
126 
-
127 * <https://github.com/torvalds/linux/blob/master/Documentation/input/xpad.txt>
-
128 * <https://github.com/torvalds/linux/blob/master/drivers/input/joystick/xpad.c>
-
129 * <http://euc.jp/periphs/xbox-controller.ja.html>
-
130 * <https://github.com/Grumbel/xboxdrv/blob/master/PROTOCOL#L15>
+
127 * <http://thp.io/2010/psmove/>
+
128 * <http://www.copenhagengamecollective.org/unimove/>
+
129 * <https://github.com/thp/psmoveapi>
+
130 * <http://code.google.com/p/moveonpc/>
131 
-
132 #### Xbox 360 Library
+
132 ### Xbox Libraries
133 
-
134 The library support one Xbox 360 via USB or up to four Xbox 360 controllers wirelessly by using a [Xbox 360 wireless receiver](http://blog.tkjelectronics.dk/wp-content/uploads/xbox360-wireless-receiver.jpg).
+
134 The library supports both the original Xbox controller via USB and the Xbox 360 controller both via USB and wirelessly.
135 
-
136 To use it via USB use the [XBOXUSB](XBOXUSB.cpp) library or to use it wirelessly use the [XBOXRECV](XBOXRECV.cpp) library.
+
136 #### Xbox library
137 
-
138 __Note that a Wireless controller can NOT be used via USB!__
+
138 The [XBOXOLD](XBOXOLD.cpp) class implements support for the original Xbox controller via USB.
139 
-
140 Examples code can be found in the [examples directory](examples/Xbox).
+
140 All the information are from the following sites:
141 
-
142 Also see the following blog posts:
-
143 
-
144 * <http://www.circuitsathome.com/mcu/xbox360-controller-support-added-to-usb-host-shield-2-0-library>
-
145 * <http://blog.tkjelectronics.dk/2012/07/xbox-360-controller-support-added-to-the-usb-host-library/>
-
146 * <http://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/>
-
147 
-
148 All the information regarding the Xbox 360 controller protocol are form these sites:
-
149 
-
150 * <http://tattiebogle.net/index.php/ProjectRoot/Xbox360Controller/UsbInfo>
-
151 * <http://tattiebogle.net/index.php/ProjectRoot/Xbox360Controller/WirelessUsbInfo>
-
152 * <https://github.com/Grumbel/xboxdrv/blob/master/PROTOCOL>
-
153 
-
154 ### [Wii library](Wii.cpp)
-
155 
-
156 The [Wii](Wii.cpp) library support the Wiimote, but also the Nunchuch and Motion Plus extensions via Bluetooth. The Wii U Pro Controller is also supported via Bluetooth.
-
157 
-
158 First you have to pair with the controller, this is done automatically by the library if you create the instance like so:
-
159 
-
160 ```
-
161 WII Wii(&Btd,PAIR);
-
162 ```
-
163 
-
164 And then press 1 & 2 at once on the Wiimote or press sync if you are using a Wii U Pro Controller.
-
165 
-
166 After that you can simply create the instance like so:
-
167 
-
168 ```
-
169 WII Wii(&Btd);
-
170 ```
-
171 
-
172 Then just press any button any button on the Wiimote and it will connect to the dongle.
-
173 
-
174 Take a look at the example for more information: <https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/Bluetooth/Wii/Wii.ino>.
-
175 
-
176 Also take a look at the blog post:
-
177 
-
178 * <http://blog.tkjelectronics.dk/2012/08/wiimote-added-to-usb-host-library/>
-
179 
-
180 All the information about the Wii controllers are from these sites:
-
181 
-
182 * <http://wiibrew.org/wiki/Wiimote>
-
183 * <http://wiibrew.org/wiki/Wiimote/Extension_Controllers>
-
184 * <http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Nunchuck>
-
185 * <http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Wii_Motion_Plus>
-
186 * The old library created by _Tomoyuki Tanaka_: <https://github.com/moyuchin/WiiRemote_on_Arduino> also helped a lot.
-
187 
-
188 # FAQ
-
189 
-
190 > When I plug my device into the USB connector nothing happens?
-
191 
-
192 Try to connect a external power supply to the Arduino - this solves the problem in most cases.
+
142 * <https://github.com/torvalds/linux/blob/master/Documentation/input/xpad.txt>
+
143 * <https://github.com/torvalds/linux/blob/master/drivers/input/joystick/xpad.c>
+
144 * <http://euc.jp/periphs/xbox-controller.ja.html>
+
145 * <https://github.com/Grumbel/xboxdrv/blob/master/PROTOCOL#L15>
+
146 
+
147 #### Xbox 360 Library
+
148 
+
149 The library support one Xbox 360 via USB or up to four Xbox 360 controllers wirelessly by using a [Xbox 360 wireless receiver](http://blog.tkjelectronics.dk/wp-content/uploads/xbox360-wireless-receiver.jpg).
+
150 
+
151 To use it via USB use the [XBOXUSB](XBOXUSB.cpp) library or to use it wirelessly use the [XBOXRECV](XBOXRECV.cpp) library.
+
152 
+
153 __Note that a Wireless controller can NOT be used via USB!__
+
154 
+
155 Examples code can be found in the [examples directory](examples/Xbox).
+
156 
+
157 Also see the following blog posts:
+
158 
+
159 * <http://www.circuitsathome.com/mcu/xbox360-controller-support-added-to-usb-host-shield-2-0-library>
+
160 * <http://blog.tkjelectronics.dk/2012/07/xbox-360-controller-support-added-to-the-usb-host-library/>
+
161 * <http://blog.tkjelectronics.dk/2012/12/xbox-360-receiver-added-to-the-usb-host-library/>
+
162 
+
163 All the information regarding the Xbox 360 controller protocol are form these sites:
+
164 
+
165 * <http://tattiebogle.net/index.php/ProjectRoot/Xbox360Controller/UsbInfo>
+
166 * <http://tattiebogle.net/index.php/ProjectRoot/Xbox360Controller/WirelessUsbInfo>
+
167 * <https://github.com/Grumbel/xboxdrv/blob/master/PROTOCOL>
+
168 
+
169 ### [Wii library](Wii.cpp)
+
170 
+
171 The [Wii](Wii.cpp) library support the Wiimote, but also the Nunchuch and Motion Plus extensions via Bluetooth. The Wii U Pro Controller is also supported via Bluetooth.
+
172 
+
173 First you have to pair with the controller, this is done automatically by the library if you create the instance like so:
+
174 
+
175 ```
+
176 WII Wii(&Btd,PAIR);
+
177 ```
+
178 
+
179 And then press 1 & 2 at once on the Wiimote or press sync if you are using a Wii U Pro Controller.
+
180 
+
181 After that you can simply create the instance like so:
+
182 
+
183 ```
+
184 WII Wii(&Btd);
+
185 ```
+
186 
+
187 Then just press any button any button on the Wiimote and it will connect to the dongle.
+
188 
+
189 Take a look at the example for more information: <https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/Bluetooth/Wii/Wii.ino>.
+
190 
+
191 Also take a look at the blog post:
+
192 
+
193 * <http://blog.tkjelectronics.dk/2012/08/wiimote-added-to-usb-host-library/>
+
194 
+
195 All the information about the Wii controllers are from these sites:
+
196 
+
197 * <http://wiibrew.org/wiki/Wiimote>
+
198 * <http://wiibrew.org/wiki/Wiimote/Extension_Controllers>
+
199 * <http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Nunchuck>
+
200 * <http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Wii_Motion_Plus>
+
201 * The old library created by _Tomoyuki Tanaka_: <https://github.com/moyuchin/WiiRemote_on_Arduino> also helped a lot.
+
202 
+
203 # FAQ
+
204 
+
205 > When I plug my device into the USB connector nothing happens?
+
206 
+
207 Try to connect a external power supply to the Arduino - this solves the problem in most cases.
+ +
Definition: UsbCore.h:152
diff --git a/_s_p_p_8cpp.html b/_s_p_p_8cpp.html index 199725fe..ff5b9019 100644 --- a/_s_p_p_8cpp.html +++ b/_s_p_p_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: SPP.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -97,7 +97,7 @@ Include dependency graph for SPP.cpp:
- +

Go to the source code of this file.

@@ -145,7 +145,7 @@ Variables diff --git a/_s_p_p_8cpp__incl.map b/_s_p_p_8cpp__incl.map index a0d09516..09b6faa4 100644 --- a/_s_p_p_8cpp__incl.map +++ b/_s_p_p_8cpp__incl.map @@ -1,15 +1,5 @@ - - - - - - - - - - - - - + + + diff --git a/_s_p_p_8cpp__incl.md5 b/_s_p_p_8cpp__incl.md5 index 82360b93..a9f94c2d 100644 --- a/_s_p_p_8cpp__incl.md5 +++ b/_s_p_p_8cpp__incl.md5 @@ -1 +1 @@ -8d742c290ffd813c9276b4445855a4c7 \ No newline at end of file +7fcbcf3b461f8f3c5d0972f005f8a4e5 \ No newline at end of file diff --git a/_s_p_p_8cpp__incl.png b/_s_p_p_8cpp__incl.png index 1e9ace4fd6dfa56a8512989462d3bd2cd63fc42f..e8f9ded852023e7e1d37e3f0f7a799c4853c09ce 100644 GIT binary patch literal 4995 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 literal 85503 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 - + USB Host Shield 2.0: SPP.cpp Source File @@ -31,7 +31,7 @@ - + @@ -114,7 +114,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
23 /*
24  * CRC (reversed crc) lookup table as calculated by the table generator in ETSI TS 101 369 V6.3.0.
25  */
-
26 const uint8_t rfcomm_crc_table[256] PROGMEM = {/* reversed, 8-bit, poly=0x07 */
+
26 const uint8_t rfcomm_crc_table[256] PROGMEM = {/* reversed, 8-bit, poly=0x07 */
27  0x00, 0x91, 0xE3, 0x72, 0x07, 0x96, 0xE4, 0x75, 0x0E, 0x9F, 0xED, 0x7C, 0x09, 0x98, 0xEA, 0x7B,
28  0x1C, 0x8D, 0xFF, 0x6E, 0x1B, 0x8A, 0xF8, 0x69, 0x12, 0x83, 0xF1, 0x60, 0x15, 0x84, 0xF6, 0x67,
29  0x38, 0xA9, 0xDB, 0x4A, 0x3F, 0xAE, 0xDC, 0x4D, 0x36, 0xA7, 0xD5, 0x44, 0x31, 0xA0, 0xD2, 0x43,
@@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
42  0xB4, 0x25, 0x57, 0xC6, 0xB3, 0x22, 0x50, 0xC1, 0xBA, 0x2B, 0x59, 0xC8, 0xBD, 0x2C, 0x5E, 0xCF
43 };
44 
-
45 SPP::SPP(BTD *p, const char* name, const char* pin) :
+
45 SPP::SPP(BTD *p, const char* name, const char* pin) :
46 pBtd(p) // Pointer to BTD class instance - mandatory
47 {
48  if (pBtd)
@@ -151,761 +151,847 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
60  Reset();
61 }
62 
-
63 void SPP::Reset() {
+
63 void SPP::Reset() {
64  connected = false;
65  RFCOMMConnected = false;
66  SDPConnected = false;
-
67  l2cap_sdp_state = L2CAP_SDP_WAIT;
-
68  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT;
-
69  l2cap_event_flag = 0;
-
70  sppIndex = 0;
-
71 }
-
72 
- -
74  connected = false;
-
75  // First the two L2CAP channels has to be disconencted and then the HCI connection
-
76  if (RFCOMMConnected)
-
77  pBtd->l2cap_disconnection_request(hci_handle, 0x0A, rfcomm_scid, rfcomm_dcid);
-
78  if (RFCOMMConnected && SDPConnected)
-
79  delay(1); // Add delay between commands
-
80  if (SDPConnected)
-
81  pBtd->l2cap_disconnection_request(hci_handle, 0x0B, sdp_scid, sdp_dcid);
-
82  l2cap_sdp_state = L2CAP_DISCONNECT_RESPONSE;
-
83 }
-
84 
-
85 void SPP::ACLData(uint8_t* l2capinbuf) {
-
86  if (!connected) {
-
87  if (l2capinbuf[8] == L2CAP_CMD_CONNECTION_REQUEST) {
-
88  if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == SDP_PSM && !pBtd->sdpConnectionClaimed) {
-
89  pBtd->sdpConnectionClaimed = true;
-
90  hci_handle = pBtd->hci_handle; // Store the HCI Handle for the connection
-
91  l2cap_sdp_state = L2CAP_SDP_WAIT; // Reset state
-
92  } else if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == RFCOMM_PSM && !pBtd->rfcommConnectionClaimed) {
-
93  pBtd->rfcommConnectionClaimed = true;
-
94  hci_handle = pBtd->hci_handle; // Store the HCI Handle for the connection
-
95  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT; // Reset state
-
96  }
-
97  }
-
98  }
-
99  if (((l2capinbuf[0] | (l2capinbuf[1] << 8)) == (hci_handle | 0x2000))) { // acl_handle_ok
-
100  if ((l2capinbuf[6] | (l2capinbuf[7] << 8)) == 0x0001) { //l2cap_control - Channel ID for ACL-U
-
101  if (l2capinbuf[8] == L2CAP_CMD_COMMAND_REJECT) {
-
102 #ifdef DEBUG_USB_HOST
-
103  Notify(PSTR("\r\nL2CAP Command Rejected - Reason: "), 0x80);
-
104  D_PrintHex<uint8_t > (l2capinbuf[13], 0x80);
-
105  Notify(PSTR(" "), 0x80);
-
106  D_PrintHex<uint8_t > (l2capinbuf[12], 0x80);
-
107  Notify(PSTR(" Data: "), 0x80);
-
108  D_PrintHex<uint8_t > (l2capinbuf[17], 0x80);
-
109  Notify(PSTR(" "), 0x80);
-
110  D_PrintHex<uint8_t > (l2capinbuf[16], 0x80);
-
111  Notify(PSTR(" "), 0x80);
-
112  D_PrintHex<uint8_t > (l2capinbuf[15], 0x80);
-
113  Notify(PSTR(" "), 0x80);
-
114  D_PrintHex<uint8_t > (l2capinbuf[14], 0x80);
-
115 #endif
-
116  } else if (l2capinbuf[8] == L2CAP_CMD_CONNECTION_REQUEST) {
-
117 #ifdef EXTRADEBUG
-
118  Notify(PSTR("\r\nL2CAP Connection Request - PSM: "), 0x80);
-
119  D_PrintHex<uint8_t > (l2capinbuf[13], 0x80);
-
120  Notify(PSTR(" "), 0x80);
-
121  D_PrintHex<uint8_t > (l2capinbuf[12], 0x80);
-
122  Notify(PSTR(" SCID: "), 0x80);
-
123  D_PrintHex<uint8_t > (l2capinbuf[15], 0x80);
-
124  Notify(PSTR(" "), 0x80);
-
125  D_PrintHex<uint8_t > (l2capinbuf[14], 0x80);
-
126  Notify(PSTR(" Identifier: "), 0x80);
-
127  D_PrintHex<uint8_t > (l2capinbuf[9], 0x80);
-
128 #endif
-
129  if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == SDP_PSM) { // It doesn't matter if it receives another reqeust, since it waits for the channel to disconnect in the L2CAP_SDP_DONE state, and the l2cap_event_flag will be cleared if so
-
130  identifier = l2capinbuf[9];
-
131  sdp_scid[0] = l2capinbuf[14];
-
132  sdp_scid[1] = l2capinbuf[15];
-
133  l2cap_event_flag |= L2CAP_FLAG_CONNECTION_SDP_REQUEST;
-
134  } else if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == RFCOMM_PSM) { // ----- || -----
-
135  identifier = l2capinbuf[9];
-
136  rfcomm_scid[0] = l2capinbuf[14];
-
137  rfcomm_scid[1] = l2capinbuf[15];
-
138  l2cap_event_flag |= L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST;
-
139  }
-
140  } else if (l2capinbuf[8] == L2CAP_CMD_CONFIG_RESPONSE) {
-
141  if ((l2capinbuf[16] | (l2capinbuf[17] << 8)) == 0x0000) { // Success
-
142  if (l2capinbuf[12] == sdp_dcid[0] && l2capinbuf[13] == sdp_dcid[1]) {
-
143  //Notify(PSTR("\r\nSDP Configuration Complete"), 0x80);
-
144  l2cap_event_flag |= L2CAP_FLAG_CONFIG_SDP_SUCCESS;
-
145  } else if (l2capinbuf[12] == rfcomm_dcid[0] && l2capinbuf[13] == rfcomm_dcid[1]) {
-
146  //Notify(PSTR("\r\nRFCOMM Configuration Complete"), 0x80);
-
147  l2cap_event_flag |= L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS;
-
148  }
-
149  }
-
150  } else if (l2capinbuf[8] == L2CAP_CMD_CONFIG_REQUEST) {
-
151  if (l2capinbuf[12] == sdp_dcid[0] && l2capinbuf[13] == sdp_dcid[1]) {
-
152  //Notify(PSTR("\r\nSDP Configuration Request"), 0x80);
-
153  identifier = l2capinbuf[9];
-
154  l2cap_event_flag |= L2CAP_FLAG_CONFIG_SDP_REQUEST;
-
155  } else if (l2capinbuf[12] == rfcomm_dcid[0] && l2capinbuf[13] == rfcomm_dcid[1]) {
-
156  //Notify(PSTR("\r\nRFCOMM Configuration Request"), 0x80);
-
157  identifier = l2capinbuf[9];
-
158  l2cap_event_flag |= L2CAP_FLAG_CONFIG_RFCOMM_REQUEST;
-
159  }
-
160  } else if (l2capinbuf[8] == L2CAP_CMD_DISCONNECT_REQUEST) {
-
161  if (l2capinbuf[12] == sdp_dcid[0] && l2capinbuf[13] == sdp_dcid[1]) {
-
162  //Notify(PSTR("\r\nDisconnect Request: SDP Channel"), 0x80);
-
163  identifier = l2capinbuf[9];
-
164  l2cap_event_flag |= L2CAP_FLAG_DISCONNECT_SDP_REQUEST;
-
165  } else if (l2capinbuf[12] == rfcomm_dcid[0] && l2capinbuf[13] == rfcomm_dcid[1]) {
-
166  //Notify(PSTR("\r\nDisconnect Request: RFCOMM Channel"), 0x80);
-
167  identifier = l2capinbuf[9];
-
168  l2cap_event_flag |= L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST;
-
169  }
-
170  } else if (l2capinbuf[8] == L2CAP_CMD_DISCONNECT_RESPONSE) {
-
171  if (l2capinbuf[12] == sdp_scid[0] && l2capinbuf[13] == sdp_scid[1]) {
-
172  //Notify(PSTR("\r\nDisconnect Response: SDP Channel"), 0x80);
-
173  identifier = l2capinbuf[9];
-
174  l2cap_event_flag |= L2CAP_FLAG_DISCONNECT_RESPONSE;
-
175  } else if (l2capinbuf[12] == rfcomm_scid[0] && l2capinbuf[13] == rfcomm_scid[1]) {
-
176  //Notify(PSTR("\r\nDisconnect Response: RFCOMM Channel"), 0x80);
-
177  identifier = l2capinbuf[9];
-
178  l2cap_event_flag |= L2CAP_FLAG_DISCONNECT_RESPONSE;
-
179  }
-
180  } else if (l2capinbuf[8] == L2CAP_CMD_INFORMATION_REQUEST) {
-
181 #ifdef DEBUG_USB_HOST
-
182  Notify(PSTR("\r\nInformation request"), 0x80);
-
183 #endif
-
184  identifier = l2capinbuf[9];
-
185  pBtd->l2cap_information_response(hci_handle, identifier, l2capinbuf[12], l2capinbuf[13]);
-
186  }
-
187 #ifdef EXTRADEBUG
-
188  else {
-
189  Notify(PSTR("\r\nL2CAP Unknown Signaling Command: "), 0x80);
-
190  D_PrintHex<uint8_t > (l2capinbuf[8], 0x80);
-
191  }
-
192 #endif
-
193  } else if (l2capinbuf[6] == sdp_dcid[0] && l2capinbuf[7] == sdp_dcid[1]) { // SDP
-
194  if (l2capinbuf[8] == SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST_PDU) {
-
195  if (((l2capinbuf[16] << 8 | l2capinbuf[17]) == SERIALPORT_UUID) || ((l2capinbuf[16] << 8 | l2capinbuf[17]) == 0x0000 && (l2capinbuf[18] << 8 | l2capinbuf[19]) == SERIALPORT_UUID)) { // Check if it's sending the full UUID, see: https://www.bluetooth.org/Technical/AssignedNumbers/service_discovery.htm, we will just check the first four bytes
-
196  if (firstMessage) {
-
197  serialPortResponse1(l2capinbuf[9], l2capinbuf[10]);
-
198  firstMessage = false;
-
199  } else {
-
200  serialPortResponse2(l2capinbuf[9], l2capinbuf[10]); // Serialport continuation state
-
201  firstMessage = true;
-
202  }
-
203  } else if (((l2capinbuf[16] << 8 | l2capinbuf[17]) == L2CAP_UUID) || ((l2capinbuf[16] << 8 | l2capinbuf[17]) == 0x0000 && (l2capinbuf[18] << 8 | l2capinbuf[19]) == L2CAP_UUID)) {
-
204  if (firstMessage) {
-
205  l2capResponse1(l2capinbuf[9], l2capinbuf[10]);
-
206  firstMessage = false;
-
207  } else {
-
208  l2capResponse2(l2capinbuf[9], l2capinbuf[10]); // L2CAP continuation state
-
209  firstMessage = true;
-
210  }
-
211  } else
-
212  serviceNotSupported(l2capinbuf[9], l2capinbuf[10]); // The service is not supported
-
213 #ifdef EXTRADEBUG
-
214  Notify(PSTR("\r\nUUID: "), 0x80);
-
215  uint16_t uuid;
-
216  if((l2capinbuf[16] << 8 | l2capinbuf[17]) == 0x0000) // Check if it's sending the UUID as a 128-bit UUID
-
217  uuid = (l2capinbuf[18] << 8 | l2capinbuf[19]);
-
218  else // Short UUID
-
219  uuid = (l2capinbuf[16] << 8 | l2capinbuf[17]);
-
220  D_PrintHex<uint16_t> (uuid, 0x80);
-
221 
-
222  Notify(PSTR("\r\nLength: "), 0x80);
-
223  uint16_t length = l2capinbuf[11] << 8 | l2capinbuf[12];
-
224  D_PrintHex<uint16_t> (length, 0x80);
-
225  Notify(PSTR("\r\nData: "), 0x80);
-
226  for (uint8_t i = 0; i < length; i++) {
-
227  D_PrintHex<uint8_t> (l2capinbuf[13+i], 0x80);
-
228  Notify(PSTR(" "), 0x80);
-
229  }
-
230 #endif
-
231  }
-
232 #ifdef EXTRADEBUG
-
233  else {
-
234  Notify(PSTR("\r\nUnknown PDU: "), 0x80);
-
235  D_PrintHex<uint8_t > (l2capinbuf[8], 0x80);
-
236  }
-
237 #endif
-
238  } else if (l2capinbuf[6] == rfcomm_dcid[0] && l2capinbuf[7] == rfcomm_dcid[1]) { // RFCOMM
-
239  rfcommChannel = l2capinbuf[8] & 0xF8;
-
240  rfcommDirection = l2capinbuf[8] & 0x04;
-
241  rfcommCommandResponse = l2capinbuf[8] & 0x02;
-
242  rfcommChannelType = l2capinbuf[9] & 0xEF;
-
243  rfcommPfBit = l2capinbuf[9] & 0x10;
-
244 
-
245  if (rfcommChannel >> 3 != 0x00)
-
246  rfcommChannelConnection = rfcommChannel;
-
247 
-
248 #ifdef EXTRADEBUG
-
249  Notify(PSTR("\r\nRFCOMM Channel: "), 0x80);
-
250  D_PrintHex<uint8_t > (rfcommChannel >> 3, 0x80);
-
251  Notify(PSTR(" Direction: "), 0x80);
-
252  D_PrintHex<uint8_t > (rfcommDirection >> 2, 0x80);
-
253  Notify(PSTR(" CommandResponse: "), 0x80);
-
254  D_PrintHex<uint8_t > (rfcommCommandResponse >> 1, 0x80);
-
255  Notify(PSTR(" ChannelType: "), 0x80);
-
256  D_PrintHex<uint8_t > (rfcommChannelType, 0x80);
-
257  Notify(PSTR(" PF_BIT: "), 0x80);
-
258  D_PrintHex<uint8_t > (rfcommPfBit, 0x80);
-
259 #endif
-
260  if (rfcommChannelType == RFCOMM_DISC) {
-
261 #ifdef DEBUG_USB_HOST
-
262  Notify(PSTR("\r\nReceived Disconnect RFCOMM Command on channel: "), 0x80);
-
263  D_PrintHex<uint8_t > (rfcommChannel >> 3, 0x80);
-
264 #endif
-
265  connected = false;
-
266  sendRfcomm(rfcommChannel, rfcommDirection, rfcommCommandResponse, RFCOMM_UA, rfcommPfBit, rfcommbuf, 0x00); // UA Command
-
267  }
-
268  if (connected) {
-
269  /* Read the incoming message */
-
270  if (rfcommChannelType == RFCOMM_UIH && rfcommChannel == rfcommChannelConnection) {
-
271  uint8_t length = l2capinbuf[10] >> 1; // Get length
-
272  uint8_t offset = l2capinbuf[4] - length - 4; // See if there is credit
-
273  if (rfcommAvailable + length <= sizeof (rfcommDataBuffer)) { // Don't add data to buffer if it would be full
-
274  for (uint8_t i = 0; i < length; i++)
-
275  rfcommDataBuffer[rfcommAvailable + i] = l2capinbuf[11 + i + offset];
-
276  rfcommAvailable += length;
-
277  }
-
278 #ifdef EXTRADEBUG
-
279  Notify(PSTR("\r\nRFCOMM Data Available: "), 0x80);
-
280  Notify(rfcommAvailable, 0x80);
-
281  if (offset) {
-
282  Notify(PSTR(" - Credit: 0x"), 0x80);
-
283  D_PrintHex<uint8_t > (l2capinbuf[11], 0x80);
-
284  }
-
285 #endif
-
286 #ifdef PRINTREPORT // Uncomment "#define PRINTREPORT" to print the report send to the Arduino via Bluetooth
-
287  for (uint8_t i = 0; i < length; i++)
-
288  Notifyc(l2capinbuf[i + 11 + offset], 0x80);
-
289 #endif
-
290  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_RPN_CMD) { // UIH Remote Port Negotiation Command
-
291 #ifdef DEBUG_USB_HOST
-
292  Notify(PSTR("\r\nReceived UIH Remote Port Negotiation Command"), 0x80);
-
293 #endif
-
294  rfcommbuf[0] = BT_RFCOMM_RPN_RSP; // Command
-
295  rfcommbuf[1] = l2capinbuf[12]; // Length and shiftet like so: length << 1 | 1
-
296  rfcommbuf[2] = l2capinbuf[13]; // Channel: channel << 1 | 1
-
297  rfcommbuf[3] = l2capinbuf[14]; // Pre difined for Bluetooth, see 5.5.3 of TS 07.10 Adaption for RFCOMM
-
298  rfcommbuf[4] = l2capinbuf[15]; // Priority
-
299  rfcommbuf[5] = l2capinbuf[16]; // Timer
-
300  rfcommbuf[6] = l2capinbuf[17]; // Max Fram Size LSB
-
301  rfcommbuf[7] = l2capinbuf[18]; // Max Fram Size MSB
-
302  rfcommbuf[8] = l2capinbuf[19]; // MaxRatransm.
-
303  rfcommbuf[9] = l2capinbuf[20]; // Number of Frames
-
304  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x0A); // UIH Remote Port Negotiation Response
-
305  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_MSC_CMD) { // UIH Modem Status Command
-
306 #ifdef DEBUG_USB_HOST
-
307  Notify(PSTR("\r\nSend UIH Modem Status Response"), 0x80);
-
308 #endif
-
309  rfcommbuf[0] = BT_RFCOMM_MSC_RSP; // UIH Modem Status Response
-
310  rfcommbuf[1] = 2 << 1 | 1; // Length and shiftet like so: length << 1 | 1
-
311  rfcommbuf[2] = l2capinbuf[13]; // Channel: (1 << 0) | (1 << 1) | (0 << 2) | (channel << 3)
-
312  rfcommbuf[3] = l2capinbuf[14];
-
313  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x04);
-
314  }
-
315  } else {
-
316  if (rfcommChannelType == RFCOMM_SABM) { // SABM Command - this is sent twice: once for channel 0 and then for the channel to establish
-
317 #ifdef DEBUG_USB_HOST
-
318  Notify(PSTR("\r\nReceived SABM Command"), 0x80);
-
319 #endif
-
320  sendRfcomm(rfcommChannel, rfcommDirection, rfcommCommandResponse, RFCOMM_UA, rfcommPfBit, rfcommbuf, 0x00); // UA Command
-
321  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_PN_CMD) { // UIH Parameter Negotiation Command
-
322 #ifdef DEBUG_USB_HOST
-
323  Notify(PSTR("\r\nReceived UIH Parameter Negotiation Command"), 0x80);
-
324 #endif
-
325  rfcommbuf[0] = BT_RFCOMM_PN_RSP; // UIH Parameter Negotiation Response
-
326  rfcommbuf[1] = l2capinbuf[12]; // Length and shiftet like so: length << 1 | 1
-
327  rfcommbuf[2] = l2capinbuf[13]; // Channel: channel << 1 | 1
-
328  rfcommbuf[3] = 0xE0; // Pre difined for Bluetooth, see 5.5.3 of TS 07.10 Adaption for RFCOMM
-
329  rfcommbuf[4] = 0x00; // Priority
-
330  rfcommbuf[5] = 0x00; // Timer
-
331  rfcommbuf[6] = BULK_MAXPKTSIZE - 14; // Max Fram Size LSB - set to the size of received data (50)
-
332  rfcommbuf[7] = 0x00; // Max Fram Size MSB
-
333  rfcommbuf[8] = 0x00; // MaxRatransm.
-
334  rfcommbuf[9] = 0x00; // Number of Frames
-
335  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x0A);
-
336  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_MSC_CMD) { // UIH Modem Status Command
-
337 #ifdef DEBUG_USB_HOST
-
338  Notify(PSTR("\r\nSend UIH Modem Status Response"), 0x80);
-
339 #endif
-
340  rfcommbuf[0] = BT_RFCOMM_MSC_RSP; // UIH Modem Status Response
-
341  rfcommbuf[1] = 2 << 1 | 1; // Length and shiftet like so: length << 1 | 1
-
342  rfcommbuf[2] = l2capinbuf[13]; // Channel: (1 << 0) | (1 << 1) | (0 << 2) | (channel << 3)
-
343  rfcommbuf[3] = l2capinbuf[14];
-
344  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x04);
-
345 
-
346  delay(1);
-
347 #ifdef DEBUG_USB_HOST
-
348  Notify(PSTR("\r\nSend UIH Modem Status Command"), 0x80);
-
349 #endif
-
350  rfcommbuf[0] = BT_RFCOMM_MSC_CMD; // UIH Modem Status Command
-
351  rfcommbuf[1] = 2 << 1 | 1; // Length and shiftet like so: length << 1 | 1
-
352  rfcommbuf[2] = l2capinbuf[13]; // Channel: (1 << 0) | (1 << 1) | (0 << 2) | (channel << 3)
-
353  rfcommbuf[3] = 0x8D; // Can receive frames (YES), Ready to Communicate (YES), Ready to Receive (YES), Incomig Call (NO), Data is Value (YES)
-
354 
-
355  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x04);
-
356  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_MSC_RSP) { // UIH Modem Status Response
-
357  if (!creditSent) {
-
358 #ifdef DEBUG_USB_HOST
-
359  Notify(PSTR("\r\nSend UIH Command with credit"), 0x80);
-
360 #endif
-
361  sendRfcommCredit(rfcommChannelConnection, rfcommDirection, 0, RFCOMM_UIH, 0x10, sizeof (rfcommDataBuffer)); // Send credit
-
362  creditSent = true;
-
363  timer = millis();
-
364  waitForLastCommand = true;
-
365  }
-
366  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[10] == 0x01) { // UIH Command with credit
-
367 #ifdef DEBUG_USB_HOST
-
368  Notify(PSTR("\r\nReceived UIH Command with credit"), 0x80);
-
369 #endif
-
370  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_RPN_CMD) { // UIH Remote Port Negotiation Command
-
371 #ifdef DEBUG_USB_HOST
-
372  Notify(PSTR("\r\nReceived UIH Remote Port Negotiation Command"), 0x80);
-
373 #endif
-
374  rfcommbuf[0] = BT_RFCOMM_RPN_RSP; // Command
-
375  rfcommbuf[1] = l2capinbuf[12]; // Length and shiftet like so: length << 1 | 1
-
376  rfcommbuf[2] = l2capinbuf[13]; // Channel: channel << 1 | 1
-
377  rfcommbuf[3] = l2capinbuf[14]; // Pre difined for Bluetooth, see 5.5.3 of TS 07.10 Adaption for RFCOMM
-
378  rfcommbuf[4] = l2capinbuf[15]; // Priority
-
379  rfcommbuf[5] = l2capinbuf[16]; // Timer
-
380  rfcommbuf[6] = l2capinbuf[17]; // Max Fram Size LSB
-
381  rfcommbuf[7] = l2capinbuf[18]; // Max Fram Size MSB
-
382  rfcommbuf[8] = l2capinbuf[19]; // MaxRatransm.
-
383  rfcommbuf[9] = l2capinbuf[20]; // Number of Frames
-
384  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x0A); // UIH Remote Port Negotiation Response
-
385 #ifdef DEBUG_USB_HOST
-
386  Notify(PSTR("\r\nRFCOMM Connection is now established\r\n"), 0x80);
-
387 #endif
-
388  waitForLastCommand = false;
-
389  creditSent = false;
-
390  connected = true; // The RFCOMM channel is now established
-
391  sppIndex = 0;
-
392  }
-
393 #ifdef DEBUG_USB_HOST
-
394  else if (rfcommChannelType != RFCOMM_DISC) {
-
395  Notify(PSTR("\r\nUnsupported RFCOMM Data - ChannelType: "), 0x80);
-
396  D_PrintHex<uint8_t > (rfcommChannelType, 0x80);
-
397  Notify(PSTR(" Command: "), 0x80);
-
398  D_PrintHex<uint8_t > (l2capinbuf[11], 0x80);
-
399  }
-
400 #endif
-
401  }
-
402  }
-
403 #ifdef EXTRADEBUG
-
404  else {
-
405  Notify(PSTR("\r\nUnsupported L2CAP Data - Channel ID: "), 0x80);
-
406  D_PrintHex<uint8_t > (l2capinbuf[7], 0x80);
-
407  Notify(PSTR(" "), 0x80);
-
408  D_PrintHex<uint8_t > (l2capinbuf[6], 0x80);
-
409  }
-
410 #endif
-
411  SDP_task();
-
412  RFCOMM_task();
-
413  }
-
414 }
-
415 
-
416 void SPP::Run() {
-
417  if (waitForLastCommand && (millis() - timer) > 100) { // We will only wait 100ms and see if the UIH Remote Port Negotiation Command is send, as some deviced don't send it
-
418 #ifdef DEBUG_USB_HOST
-
419  Notify(PSTR("\r\nRFCOMM Connection is now established - Automatic\r\n"), 0x80);
-
420 #endif
-
421  creditSent = false;
-
422  waitForLastCommand = false;
-
423  connected = true; // The RFCOMM channel is now established
-
424  sppIndex = 0;
-
425  }
-
426  send(); // Send all bytes currently in the buffer
-
427 }
-
428 
-
429 void SPP::SDP_task() {
-
430  switch (l2cap_sdp_state) {
-
431  case L2CAP_SDP_WAIT:
- -
433  l2cap_event_flag &= ~L2CAP_FLAG_CONNECTION_SDP_REQUEST; // Clear flag
-
434 #ifdef DEBUG_USB_HOST
-
435  Notify(PSTR("\r\nSDP Incoming Connection Request"), 0x80);
-
436 #endif
-
437  pBtd->l2cap_connection_response(hci_handle, identifier, sdp_dcid, sdp_scid, PENDING);
-
438  delay(1);
-
439  pBtd->l2cap_connection_response(hci_handle, identifier, sdp_dcid, sdp_scid, SUCCESSFUL);
-
440  identifier++;
-
441  delay(1);
-
442  pBtd->l2cap_config_request(hci_handle, identifier, sdp_scid);
-
443  l2cap_sdp_state = L2CAP_SDP_REQUEST;
-
444  }
-
445  break;
-
446  case L2CAP_SDP_REQUEST:
- -
448  l2cap_event_flag &= ~L2CAP_FLAG_CONFIG_SDP_REQUEST; // Clear flag
-
449 #ifdef DEBUG_USB_HOST
-
450  Notify(PSTR("\r\nSDP Configuration Request"), 0x80);
-
451 #endif
-
452  pBtd->l2cap_config_response(hci_handle, identifier, sdp_scid);
-
453  l2cap_sdp_state = L2CAP_SDP_SUCCESS;
-
454  }
-
455  break;
-
456  case L2CAP_SDP_SUCCESS:
- -
458  l2cap_event_flag &= ~L2CAP_FLAG_CONFIG_SDP_SUCCESS; // Clear flag
-
459 #ifdef DEBUG_USB_HOST
-
460  Notify(PSTR("\r\nSDP Successfully Configured"), 0x80);
-
461 #endif
-
462  firstMessage = true; // Reset bool
-
463  SDPConnected = true;
-
464  l2cap_sdp_state = L2CAP_SDP_DONE;
-
465  }
-
466  break;
-
467  case L2CAP_SDP_DONE:
- -
469  l2cap_event_flag &= ~L2CAP_FLAG_DISCONNECT_SDP_REQUEST; // Clear flag
-
470  SDPConnected = false;
-
471 #ifdef DEBUG_USB_HOST
-
472  Notify(PSTR("\r\nDisconnected SDP Channel"), 0x80);
-
473 #endif
-
474  pBtd->l2cap_disconnection_response(hci_handle, identifier, sdp_dcid, sdp_scid);
-
475  l2cap_sdp_state = L2CAP_SDP_WAIT;
- -
477  l2cap_rfcomm_state = L2CAP_SDP_WAIT;
-
478  break;
-
479  case L2CAP_DISCONNECT_RESPONSE: // This is for both disconnection response from the RFCOMM and SDP channel if they were connected
- -
481 #ifdef DEBUG_USB_HOST
-
482  Notify(PSTR("\r\nDisconnected L2CAP Connection"), 0x80);
-
483 #endif
-
484  RFCOMMConnected = false;
-
485  SDPConnected = false;
-
486  pBtd->hci_disconnect(hci_handle);
-
487  hci_handle = -1; // Reset handle
-
488  l2cap_event_flag = 0; // Reset flags
-
489  l2cap_sdp_state = L2CAP_SDP_WAIT;
-
490  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT;
-
491  }
-
492  break;
-
493  }
-
494 }
-
495 
-
496 void SPP::RFCOMM_task() {
-
497  switch (l2cap_rfcomm_state) {
-
498  case L2CAP_RFCOMM_WAIT:
- -
500  l2cap_event_flag &= ~L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST; // Clear flag
-
501 #ifdef DEBUG_USB_HOST
-
502  Notify(PSTR("\r\nRFCOMM Incoming Connection Request"), 0x80);
-
503 #endif
-
504  pBtd->l2cap_connection_response(hci_handle, identifier, rfcomm_dcid, rfcomm_scid, PENDING);
-
505  delay(1);
-
506  pBtd->l2cap_connection_response(hci_handle, identifier, rfcomm_dcid, rfcomm_scid, SUCCESSFUL);
-
507  identifier++;
-
508  delay(1);
-
509  pBtd->l2cap_config_request(hci_handle, identifier, rfcomm_scid);
-
510  l2cap_rfcomm_state = L2CAP_RFCOMM_REQUEST;
-
511  }
-
512  break;
- - -
515  l2cap_event_flag &= ~L2CAP_FLAG_CONFIG_RFCOMM_REQUEST; // Clear flag
-
516 #ifdef DEBUG_USB_HOST
-
517  Notify(PSTR("\r\nRFCOMM Configuration Request"), 0x80);
-
518 #endif
-
519  pBtd->l2cap_config_response(hci_handle, identifier, rfcomm_scid);
-
520  l2cap_rfcomm_state = L2CAP_RFCOMM_SUCCESS;
-
521  }
-
522  break;
- - -
525  l2cap_event_flag &= ~L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS; // Clear flag
-
526 #ifdef DEBUG_USB_HOST
-
527  Notify(PSTR("\r\nRFCOMM Successfully Configured"), 0x80);
-
528 #endif
-
529  rfcommAvailable = 0; // Reset number of bytes available
-
530  bytesRead = 0; // Reset number of bytes received
-
531  RFCOMMConnected = true;
-
532  l2cap_rfcomm_state = L2CAP_RFCOMM_DONE;
-
533  }
-
534  break;
-
535  case L2CAP_RFCOMM_DONE:
- -
537  l2cap_event_flag &= ~L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST; // Clear flag
-
538  RFCOMMConnected = false;
-
539  connected = false;
-
540 #ifdef DEBUG_USB_HOST
-
541  Notify(PSTR("\r\nDisconnected RFCOMM Channel"), 0x80);
-
542 #endif
-
543  pBtd->l2cap_disconnection_response(hci_handle, identifier, rfcomm_dcid, rfcomm_scid);
-
544  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT;
- -
546  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT;
-
547  break;
-
548  }
-
549 }
-
550 /************************************************************/
-
551 /* SDP Commands */
-
552 
-
553 /************************************************************/
-
554 void SPP::SDP_Command(uint8_t* data, uint8_t nbytes) { // See page 223 in the Bluetooth specs
-
555  pBtd->L2CAP_Command(hci_handle, data, nbytes, sdp_scid[0], sdp_scid[1]);
-
556 }
-
557 
-
558 void SPP::serviceNotSupported(uint8_t transactionIDHigh, uint8_t transactionIDLow) { // See page 235 in the Bluetooth specs
- -
560  l2capoutbuf[1] = transactionIDHigh;
-
561  l2capoutbuf[2] = transactionIDLow;
-
562  l2capoutbuf[3] = 0x00; // Parameter Length
-
563  l2capoutbuf[4] = 0x05; // Parameter Length
-
564  l2capoutbuf[5] = 0x00; // AttributeListsByteCount
-
565  l2capoutbuf[6] = 0x02; // AttributeListsByteCount
-
566 
-
567  /* Attribute ID/Value Sequence: */
-
568  l2capoutbuf[7] = 0x35;
-
569  l2capoutbuf[8] = 0x00;
-
570  l2capoutbuf[9] = 0x00;
-
571 
-
572  SDP_Command(l2capoutbuf, 10);
-
573 }
-
574 
-
575 void SPP::serialPortResponse1(uint8_t transactionIDHigh, uint8_t transactionIDLow) {
- -
577  l2capoutbuf[1] = transactionIDHigh;
-
578  l2capoutbuf[2] = transactionIDLow;
-
579  l2capoutbuf[3] = 0x00; // Parameter Length
-
580  l2capoutbuf[4] = 0x2B; // Parameter Length
-
581  l2capoutbuf[5] = 0x00; // AttributeListsByteCount
-
582  l2capoutbuf[6] = 0x26; // AttributeListsByteCount
-
583 
-
584  /* Attribute ID/Value Sequence: */
-
585  l2capoutbuf[7] = 0x36;
-
586  l2capoutbuf[8] = 0x00;
-
587  l2capoutbuf[9] = 0x3C;
-
588  l2capoutbuf[10] = 0x36;
-
589  l2capoutbuf[11] = 0x00;
-
590 
-
591  l2capoutbuf[12] = 0x39;
-
592  l2capoutbuf[13] = 0x09;
-
593  l2capoutbuf[14] = 0x00;
-
594  l2capoutbuf[15] = 0x00;
-
595  l2capoutbuf[16] = 0x0A;
-
596  l2capoutbuf[17] = 0x00;
-
597  l2capoutbuf[18] = 0x01;
-
598  l2capoutbuf[19] = 0x00;
-
599  l2capoutbuf[20] = 0x06;
-
600  l2capoutbuf[21] = 0x09;
-
601  l2capoutbuf[22] = 0x00;
-
602  l2capoutbuf[23] = 0x01;
-
603  l2capoutbuf[24] = 0x35;
-
604  l2capoutbuf[25] = 0x03;
-
605  l2capoutbuf[26] = 0x19;
-
606  l2capoutbuf[27] = 0x11;
-
607 
-
608  l2capoutbuf[28] = 0x01;
-
609  l2capoutbuf[29] = 0x09;
-
610  l2capoutbuf[30] = 0x00;
-
611  l2capoutbuf[31] = 0x04;
-
612  l2capoutbuf[32] = 0x35;
-
613  l2capoutbuf[33] = 0x0C;
-
614  l2capoutbuf[34] = 0x35;
-
615  l2capoutbuf[35] = 0x03;
-
616  l2capoutbuf[36] = 0x19;
-
617  l2capoutbuf[37] = 0x01;
-
618  l2capoutbuf[38] = 0x00;
-
619  l2capoutbuf[39] = 0x35;
-
620  l2capoutbuf[40] = 0x05;
-
621  l2capoutbuf[41] = 0x19;
-
622  l2capoutbuf[42] = 0x00;
-
623  l2capoutbuf[43] = 0x03;
-
624 
-
625  l2capoutbuf[44] = 0x08;
-
626  l2capoutbuf[45] = 0x02; // Two extra bytes
-
627  l2capoutbuf[46] = 0x00; // 25 (0x19) more bytes to come
-
628  l2capoutbuf[47] = 0x19;
-
629 
-
630  SDP_Command(l2capoutbuf, 48);
-
631 }
-
632 
-
633 void SPP::serialPortResponse2(uint8_t transactionIDHigh, uint8_t transactionIDLow) {
- -
635  l2capoutbuf[1] = transactionIDHigh;
-
636  l2capoutbuf[2] = transactionIDLow;
-
637  l2capoutbuf[3] = 0x00; // Parameter Length
-
638  l2capoutbuf[4] = 0x1C; // Parameter Length
-
639  l2capoutbuf[5] = 0x00; // AttributeListsByteCount
-
640  l2capoutbuf[6] = 0x19; // AttributeListsByteCount
-
641 
-
642  /* Attribute ID/Value Sequence: */
-
643  l2capoutbuf[7] = 0x01;
-
644  l2capoutbuf[8] = 0x09;
-
645  l2capoutbuf[9] = 0x00;
-
646  l2capoutbuf[10] = 0x06;
-
647  l2capoutbuf[11] = 0x35;
-
648 
-
649  l2capoutbuf[12] = 0x09;
-
650  l2capoutbuf[13] = 0x09;
-
651  l2capoutbuf[14] = 0x65;
-
652  l2capoutbuf[15] = 0x6E;
-
653  l2capoutbuf[16] = 0x09;
-
654  l2capoutbuf[17] = 0x00;
-
655  l2capoutbuf[18] = 0x6A;
-
656  l2capoutbuf[19] = 0x09;
-
657  l2capoutbuf[20] = 0x01;
-
658  l2capoutbuf[21] = 0x00;
-
659  l2capoutbuf[22] = 0x09;
-
660  l2capoutbuf[23] = 0x01;
-
661  l2capoutbuf[24] = 0x00;
-
662  l2capoutbuf[25] = 0x25;
-
663 
-
664  l2capoutbuf[26] = 0x05; // Name length
-
665  l2capoutbuf[27] = 'T';
-
666  l2capoutbuf[28] = 'K';
-
667  l2capoutbuf[29] = 'J';
-
668  l2capoutbuf[30] = 'S';
-
669  l2capoutbuf[31] = 'P';
-
670  l2capoutbuf[32] = 0x00; // No more data
-
671 
-
672  SDP_Command(l2capoutbuf, 33);
-
673 }
-
674 
-
675 void SPP::l2capResponse1(uint8_t transactionIDHigh, uint8_t transactionIDLow) {
-
676  serialPortResponse1(transactionIDHigh, transactionIDLow); // These has to send all the supported functions, since it only supports virtual serialport it just sends the message again
-
677 }
-
678 
-
679 void SPP::l2capResponse2(uint8_t transactionIDHigh, uint8_t transactionIDLow) {
-
680  serialPortResponse2(transactionIDHigh, transactionIDLow); // Same data as serialPortResponse2
-
681 }
-
682 /************************************************************/
-
683 /* RFCOMM Commands */
-
684 
-
685 /************************************************************/
-
686 void SPP::RFCOMM_Command(uint8_t* data, uint8_t nbytes) {
-
687  pBtd->L2CAP_Command(hci_handle, data, nbytes, rfcomm_scid[0], rfcomm_scid[1]);
-
688 }
-
689 
-
690 void SPP::sendRfcomm(uint8_t channel, uint8_t direction, uint8_t CR, uint8_t channelType, uint8_t pfBit, uint8_t* data, uint8_t length) {
-
691  l2capoutbuf[0] = channel | direction | CR | extendAddress; // RFCOMM Address
-
692  l2capoutbuf[1] = channelType | pfBit; // RFCOMM Control
-
693  l2capoutbuf[2] = length << 1 | 0x01; // Length and format (always 0x01 bytes format)
-
694  uint8_t i = 0;
-
695  for (; i < length; i++)
-
696  l2capoutbuf[i + 3] = data[i];
-
697  l2capoutbuf[i + 3] = calcFcs(l2capoutbuf);
-
698 #ifdef EXTRADEBUG
-
699  Notify(PSTR(" - RFCOMM Data: "), 0x80);
-
700  for (i = 0; i < length + 4; i++) {
-
701  D_PrintHex<uint8_t > (l2capoutbuf[i], 0x80);
-
702  Notify(PSTR(" "), 0x80);
-
703  }
-
704 #endif
-
705  RFCOMM_Command(l2capoutbuf, length + 4);
-
706 }
-
707 
-
708 void SPP::sendRfcommCredit(uint8_t channel, uint8_t direction, uint8_t CR, uint8_t channelType, uint8_t pfBit, uint8_t credit) {
-
709  l2capoutbuf[0] = channel | direction | CR | extendAddress; // RFCOMM Address
-
710  l2capoutbuf[1] = channelType | pfBit; // RFCOMM Control
-
711  l2capoutbuf[2] = 0x01; // Length = 0
-
712  l2capoutbuf[3] = credit; // Credit
-
713  l2capoutbuf[4] = calcFcs(l2capoutbuf);
-
714 #ifdef EXTRADEBUG
-
715  Notify(PSTR(" - RFCOMM Credit Data: "), 0x80);
-
716  for (uint8_t i = 0; i < 5; i++) {
-
717  D_PrintHex<uint8_t > (l2capoutbuf[i], 0x80);
-
718  Notify(PSTR(" "), 0x80);
-
719  }
-
720 #endif
-
721  RFCOMM_Command(l2capoutbuf, 5);
-
722 }
-
723 
-
724 /* CRC on 2 bytes */
-
725 uint8_t SPP::__crc(uint8_t* data) {
-
726  return (pgm_read_byte(&rfcomm_crc_table[pgm_read_byte(&rfcomm_crc_table[0xff ^ data[0]]) ^ data[1]]));
-
727 }
-
728 
-
729 /* Calculate FCS - we never actually check if the host sends correct FCS to the Arduino */
-
730 uint8_t SPP::calcFcs(uint8_t *data) {
-
731  if ((data[1] & 0xEF) == RFCOMM_UIH)
-
732  return (0xff - __crc(data)); // FCS on 2 bytes
-
733  else
-
734  return (0xff - pgm_read_byte(&rfcomm_crc_table[__crc(data) ^ data[2]])); // FCS on 3 bytes
-
735 }
-
736 
-
737 /* Serial commands */
-
738 size_t SPP::write(uint8_t data) {
-
739  return write(&data,1);
-
740 }
-
741 
-
742 size_t SPP::write(const uint8_t* data, size_t size) {
-
743  for(uint8_t i = 0; i < size; i++) {
-
744  if(sppIndex >= sizeof(sppOutputBuffer)/sizeof(sppOutputBuffer[0]))
-
745  send(); // Send the current data in the buffer
-
746  sppOutputBuffer[sppIndex++] = data[i]; // All the bytes are put into a buffer and then send using the send() function
-
747  }
-
748  return size;
-
749 }
-
750 
-
751 void SPP::send() {
-
752  if (!connected || !sppIndex)
-
753  return;
-
754  uint8_t length; // This is the length of the string we are sending
-
755  uint8_t offset = 0; // This is used to keep track of where we are in the string
-
756 
-
757  l2capoutbuf[0] = rfcommChannelConnection | 0 | 0 | extendAddress; // RFCOMM Address
-
758  l2capoutbuf[1] = RFCOMM_UIH; // RFCOMM Control
-
759 
-
760  while (sppIndex) { // We will run this while loop until this variable is 0
-
761  if (sppIndex > (sizeof (l2capoutbuf) - 4)) // Check if the string is larger than the outgoing buffer
-
762  length = sizeof (l2capoutbuf) - 4;
-
763  else
-
764  length = sppIndex;
-
765 
-
766  l2capoutbuf[2] = length << 1 | 1; // Length
-
767  uint8_t i = 0;
-
768  for (; i < length; i++)
-
769  l2capoutbuf[i + 3] = sppOutputBuffer[i + offset];
-
770  l2capoutbuf[i + 3] = calcFcs(l2capoutbuf); // Calculate checksum
-
771 
-
772  RFCOMM_Command(l2capoutbuf, length + 4);
-
773 
-
774  sppIndex -= length;
-
775  offset += length; // Increment the offset
-
776  }
-
777 }
-
778 
-
779 int SPP::available(void) {
-
780  return rfcommAvailable;
-
781 };
-
782 
-
783 void SPP::flush(void) {
-
784  rfcommAvailable = 0;
-
785 }
-
786 
-
787 int SPP::peek(void) {
-
788  if (rfcommAvailable == 0) // Don't read if there is nothing in the buffer
-
789  return -1;
-
790  return rfcommDataBuffer[0];
-
791 }
-
792 
-
793 int SPP::read(void) {
-
794  if (rfcommAvailable == 0) // Don't read if there is nothing in the buffer
-
795  return -1;
-
796  uint8_t output = rfcommDataBuffer[0];
-
797  for (uint8_t i = 1; i < rfcommAvailable; i++)
-
798  rfcommDataBuffer[i - 1] = rfcommDataBuffer[i]; // Shift the buffer one left
-
799  rfcommAvailable--;
-
800  bytesRead++;
-
801  if (bytesRead > (sizeof (rfcommDataBuffer) - 5)) { // We will send the command just before it runs out of credit
-
802  bytesRead = 0;
-
803  sendRfcommCredit(rfcommChannelConnection, rfcommDirection, 0, RFCOMM_UIH, 0x10, sizeof (rfcommDataBuffer)); // Send more credit
-
804 #ifdef EXTRADEBUG
-
805  Notify(PSTR("\r\nSent "), 0x80);
-
806  Notify((uint8_t)sizeof (rfcommDataBuffer), 0x80);
-
807  Notify(PSTR(" more credit"), 0x80);
-
808 #endif
-
809  }
-
810  return output;
-
811 }
+
67  waitForLastCommand = false;
+
68  l2cap_sdp_state = L2CAP_SDP_WAIT;
+
69  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT;
+
70  l2cap_event_flag = 0;
+
71  sppIndex = 0;
+
72 }
+
73 
+ +
75  connected = false;
+
76  // First the two L2CAP channels has to be disconencted and then the HCI connection
+
77  if (RFCOMMConnected)
+
78  pBtd->l2cap_disconnection_request(hci_handle, 0x0A, rfcomm_scid, rfcomm_dcid);
+
79  if (RFCOMMConnected && SDPConnected)
+
80  delay(1); // Add delay between commands
+
81  if (SDPConnected)
+
82  pBtd->l2cap_disconnection_request(hci_handle, 0x0B, sdp_scid, sdp_dcid);
+
83  l2cap_sdp_state = L2CAP_DISCONNECT_RESPONSE;
+
84 }
+
85 
+
86 void SPP::ACLData(uint8_t* l2capinbuf) {
+
87  if (!connected) {
+
88  if (l2capinbuf[8] == L2CAP_CMD_CONNECTION_REQUEST) {
+
89  if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == SDP_PSM && !pBtd->sdpConnectionClaimed) {
+
90  pBtd->sdpConnectionClaimed = true;
+
91  hci_handle = pBtd->hci_handle; // Store the HCI Handle for the connection
+
92  l2cap_sdp_state = L2CAP_SDP_WAIT; // Reset state
+
93  } else if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == RFCOMM_PSM && !pBtd->rfcommConnectionClaimed) {
+
94  pBtd->rfcommConnectionClaimed = true;
+
95  hci_handle = pBtd->hci_handle; // Store the HCI Handle for the connection
+
96  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT; // Reset state
+
97  }
+
98  }
+
99  }
+
100  if (((l2capinbuf[0] | (l2capinbuf[1] << 8)) == (hci_handle | 0x2000))) { // acl_handle_ok
+
101  if ((l2capinbuf[6] | (l2capinbuf[7] << 8)) == 0x0001) { //l2cap_control - Channel ID for ACL-U
+
102  if (l2capinbuf[8] == L2CAP_CMD_COMMAND_REJECT) {
+
103 #ifdef DEBUG_USB_HOST
+
104  Notify(PSTR("\r\nL2CAP Command Rejected - Reason: "), 0x80);
+
105  D_PrintHex<uint8_t > (l2capinbuf[13], 0x80);
+
106  Notify(PSTR(" "), 0x80);
+
107  D_PrintHex<uint8_t > (l2capinbuf[12], 0x80);
+
108  Notify(PSTR(" Data: "), 0x80);
+
109  D_PrintHex<uint8_t > (l2capinbuf[17], 0x80);
+
110  Notify(PSTR(" "), 0x80);
+
111  D_PrintHex<uint8_t > (l2capinbuf[16], 0x80);
+
112  Notify(PSTR(" "), 0x80);
+
113  D_PrintHex<uint8_t > (l2capinbuf[15], 0x80);
+
114  Notify(PSTR(" "), 0x80);
+
115  D_PrintHex<uint8_t > (l2capinbuf[14], 0x80);
+
116 #endif
+
117  } else if (l2capinbuf[8] == L2CAP_CMD_CONNECTION_REQUEST) {
+
118 #ifdef EXTRADEBUG
+
119  Notify(PSTR("\r\nL2CAP Connection Request - PSM: "), 0x80);
+
120  D_PrintHex<uint8_t > (l2capinbuf[13], 0x80);
+
121  Notify(PSTR(" "), 0x80);
+
122  D_PrintHex<uint8_t > (l2capinbuf[12], 0x80);
+
123  Notify(PSTR(" SCID: "), 0x80);
+
124  D_PrintHex<uint8_t > (l2capinbuf[15], 0x80);
+
125  Notify(PSTR(" "), 0x80);
+
126  D_PrintHex<uint8_t > (l2capinbuf[14], 0x80);
+
127  Notify(PSTR(" Identifier: "), 0x80);
+
128  D_PrintHex<uint8_t > (l2capinbuf[9], 0x80);
+
129 #endif
+
130  if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == SDP_PSM) { // It doesn't matter if it receives another reqeust, since it waits for the channel to disconnect in the L2CAP_SDP_DONE state, and the l2cap_event_flag will be cleared if so
+
131  identifier = l2capinbuf[9];
+
132  sdp_scid[0] = l2capinbuf[14];
+
133  sdp_scid[1] = l2capinbuf[15];
+
134  l2cap_event_flag |= L2CAP_FLAG_CONNECTION_SDP_REQUEST;
+
135  } else if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == RFCOMM_PSM) { // ----- || -----
+
136  identifier = l2capinbuf[9];
+
137  rfcomm_scid[0] = l2capinbuf[14];
+
138  rfcomm_scid[1] = l2capinbuf[15];
+
139  l2cap_event_flag |= L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST;
+
140  }
+
141  } else if (l2capinbuf[8] == L2CAP_CMD_CONFIG_RESPONSE) {
+
142  if ((l2capinbuf[16] | (l2capinbuf[17] << 8)) == 0x0000) { // Success
+
143  if (l2capinbuf[12] == sdp_dcid[0] && l2capinbuf[13] == sdp_dcid[1]) {
+
144  //Notify(PSTR("\r\nSDP Configuration Complete"), 0x80);
+
145  l2cap_event_flag |= L2CAP_FLAG_CONFIG_SDP_SUCCESS;
+
146  } else if (l2capinbuf[12] == rfcomm_dcid[0] && l2capinbuf[13] == rfcomm_dcid[1]) {
+
147  //Notify(PSTR("\r\nRFCOMM Configuration Complete"), 0x80);
+
148  l2cap_event_flag |= L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS;
+
149  }
+
150  }
+
151  } else if (l2capinbuf[8] == L2CAP_CMD_CONFIG_REQUEST) {
+
152  if (l2capinbuf[12] == sdp_dcid[0] && l2capinbuf[13] == sdp_dcid[1]) {
+
153  //Notify(PSTR("\r\nSDP Configuration Request"), 0x80);
+
154  identifier = l2capinbuf[9];
+
155  l2cap_event_flag |= L2CAP_FLAG_CONFIG_SDP_REQUEST;
+
156  } else if (l2capinbuf[12] == rfcomm_dcid[0] && l2capinbuf[13] == rfcomm_dcid[1]) {
+
157  //Notify(PSTR("\r\nRFCOMM Configuration Request"), 0x80);
+
158  identifier = l2capinbuf[9];
+
159  l2cap_event_flag |= L2CAP_FLAG_CONFIG_RFCOMM_REQUEST;
+
160  }
+
161  } else if (l2capinbuf[8] == L2CAP_CMD_DISCONNECT_REQUEST) {
+
162  if (l2capinbuf[12] == sdp_dcid[0] && l2capinbuf[13] == sdp_dcid[1]) {
+
163  //Notify(PSTR("\r\nDisconnect Request: SDP Channel"), 0x80);
+
164  identifier = l2capinbuf[9];
+
165  l2cap_event_flag |= L2CAP_FLAG_DISCONNECT_SDP_REQUEST;
+
166  } else if (l2capinbuf[12] == rfcomm_dcid[0] && l2capinbuf[13] == rfcomm_dcid[1]) {
+
167  //Notify(PSTR("\r\nDisconnect Request: RFCOMM Channel"), 0x80);
+
168  identifier = l2capinbuf[9];
+
169  l2cap_event_flag |= L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST;
+
170  }
+
171  } else if (l2capinbuf[8] == L2CAP_CMD_DISCONNECT_RESPONSE) {
+
172  if (l2capinbuf[12] == sdp_scid[0] && l2capinbuf[13] == sdp_scid[1]) {
+
173  //Notify(PSTR("\r\nDisconnect Response: SDP Channel"), 0x80);
+
174  identifier = l2capinbuf[9];
+
175  l2cap_event_flag |= L2CAP_FLAG_DISCONNECT_RESPONSE;
+
176  } else if (l2capinbuf[12] == rfcomm_scid[0] && l2capinbuf[13] == rfcomm_scid[1]) {
+
177  //Notify(PSTR("\r\nDisconnect Response: RFCOMM Channel"), 0x80);
+
178  identifier = l2capinbuf[9];
+
179  l2cap_event_flag |= L2CAP_FLAG_DISCONNECT_RESPONSE;
+
180  }
+
181  } else if (l2capinbuf[8] == L2CAP_CMD_INFORMATION_REQUEST) {
+
182 #ifdef DEBUG_USB_HOST
+
183  Notify(PSTR("\r\nInformation request"), 0x80);
+
184 #endif
+
185  identifier = l2capinbuf[9];
+
186  pBtd->l2cap_information_response(hci_handle, identifier, l2capinbuf[12], l2capinbuf[13]);
+
187  }
+
188 #ifdef EXTRADEBUG
+
189  else {
+
190  Notify(PSTR("\r\nL2CAP Unknown Signaling Command: "), 0x80);
+
191  D_PrintHex<uint8_t > (l2capinbuf[8], 0x80);
+
192  }
+
193 #endif
+
194  } else if (l2capinbuf[6] == sdp_dcid[0] && l2capinbuf[7] == sdp_dcid[1]) { // SDP
+
195  if (l2capinbuf[8] == SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST_PDU) {
+
196  if (((l2capinbuf[16] << 8 | l2capinbuf[17]) == SERIALPORT_UUID) || ((l2capinbuf[16] << 8 | l2capinbuf[17]) == 0x0000 && (l2capinbuf[18] << 8 | l2capinbuf[19]) == SERIALPORT_UUID)) { // Check if it's sending the full UUID, see: https://www.bluetooth.org/Technical/AssignedNumbers/service_discovery.htm, we will just check the first four bytes
+
197  if (firstMessage) {
+
198  serialPortResponse1(l2capinbuf[9], l2capinbuf[10]);
+
199  firstMessage = false;
+
200  } else {
+
201  serialPortResponse2(l2capinbuf[9], l2capinbuf[10]); // Serialport continuation state
+
202  firstMessage = true;
+
203  }
+
204  } else if (((l2capinbuf[16] << 8 | l2capinbuf[17]) == L2CAP_UUID) || ((l2capinbuf[16] << 8 | l2capinbuf[17]) == 0x0000 && (l2capinbuf[18] << 8 | l2capinbuf[19]) == L2CAP_UUID)) {
+
205  if (firstMessage) {
+
206  l2capResponse1(l2capinbuf[9], l2capinbuf[10]);
+
207  firstMessage = false;
+
208  } else {
+
209  l2capResponse2(l2capinbuf[9], l2capinbuf[10]); // L2CAP continuation state
+
210  firstMessage = true;
+
211  }
+
212  } else
+
213  serviceNotSupported(l2capinbuf[9], l2capinbuf[10]); // The service is not supported
+
214 #ifdef EXTRADEBUG
+
215  Notify(PSTR("\r\nUUID: "), 0x80);
+
216  uint16_t uuid;
+
217  if((l2capinbuf[16] << 8 | l2capinbuf[17]) == 0x0000) // Check if it's sending the UUID as a 128-bit UUID
+
218  uuid = (l2capinbuf[18] << 8 | l2capinbuf[19]);
+
219  else // Short UUID
+
220  uuid = (l2capinbuf[16] << 8 | l2capinbuf[17]);
+
221  D_PrintHex<uint16_t> (uuid, 0x80);
+
222 
+
223  Notify(PSTR("\r\nLength: "), 0x80);
+
224  uint16_t length = l2capinbuf[11] << 8 | l2capinbuf[12];
+
225  D_PrintHex<uint16_t> (length, 0x80);
+
226  Notify(PSTR("\r\nData: "), 0x80);
+
227  for (uint8_t i = 0; i < length; i++) {
+
228  D_PrintHex<uint8_t> (l2capinbuf[13+i], 0x80);
+
229  Notify(PSTR(" "), 0x80);
+
230  }
+
231 #endif
+
232  }
+
233 #ifdef EXTRADEBUG
+
234  else {
+
235  Notify(PSTR("\r\nUnknown PDU: "), 0x80);
+
236  D_PrintHex<uint8_t > (l2capinbuf[8], 0x80);
+
237  }
+
238 #endif
+
239  } else if (l2capinbuf[6] == rfcomm_dcid[0] && l2capinbuf[7] == rfcomm_dcid[1]) { // RFCOMM
+
240  rfcommChannel = l2capinbuf[8] & 0xF8;
+
241  rfcommDirection = l2capinbuf[8] & 0x04;
+
242  rfcommCommandResponse = l2capinbuf[8] & 0x02;
+
243  rfcommChannelType = l2capinbuf[9] & 0xEF;
+
244  rfcommPfBit = l2capinbuf[9] & 0x10;
+
245 
+
246  if (rfcommChannel >> 3 != 0x00)
+
247  rfcommChannelConnection = rfcommChannel;
+
248 
+
249 #ifdef EXTRADEBUG
+
250  Notify(PSTR("\r\nRFCOMM Channel: "), 0x80);
+
251  D_PrintHex<uint8_t > (rfcommChannel >> 3, 0x80);
+
252  Notify(PSTR(" Direction: "), 0x80);
+
253  D_PrintHex<uint8_t > (rfcommDirection >> 2, 0x80);
+
254  Notify(PSTR(" CommandResponse: "), 0x80);
+
255  D_PrintHex<uint8_t > (rfcommCommandResponse >> 1, 0x80);
+
256  Notify(PSTR(" ChannelType: "), 0x80);
+
257  D_PrintHex<uint8_t > (rfcommChannelType, 0x80);
+
258  Notify(PSTR(" PF_BIT: "), 0x80);
+
259  D_PrintHex<uint8_t > (rfcommPfBit, 0x80);
+
260 #endif
+
261  if (rfcommChannelType == RFCOMM_DISC) {
+
262 #ifdef DEBUG_USB_HOST
+
263  Notify(PSTR("\r\nReceived Disconnect RFCOMM Command on channel: "), 0x80);
+
264  D_PrintHex<uint8_t > (rfcommChannel >> 3, 0x80);
+
265 #endif
+
266  connected = false;
+
267  sendRfcomm(rfcommChannel, rfcommDirection, rfcommCommandResponse, RFCOMM_UA, rfcommPfBit, rfcommbuf, 0x00); // UA Command
+
268  }
+
269  if (connected) {
+
270  /* Read the incoming message */
+
271  if (rfcommChannelType == RFCOMM_UIH && rfcommChannel == rfcommChannelConnection) {
+
272  uint8_t length = l2capinbuf[10] >> 1; // Get length
+
273  uint8_t offset = l2capinbuf[4] - length - 4; // See if there is credit
+
274  if (rfcommAvailable + length <= sizeof (rfcommDataBuffer)) { // Don't add data to buffer if it would be full
+
275  for (uint8_t i = 0; i < length; i++)
+
276  rfcommDataBuffer[rfcommAvailable + i] = l2capinbuf[11 + i + offset];
+
277  rfcommAvailable += length;
+
278  }
+
279 #ifdef EXTRADEBUG
+
280  Notify(PSTR("\r\nRFCOMM Data Available: "), 0x80);
+
281  Notify(rfcommAvailable, 0x80);
+
282  if (offset) {
+
283  Notify(PSTR(" - Credit: 0x"), 0x80);
+
284  D_PrintHex<uint8_t > (l2capinbuf[11], 0x80);
+
285  }
+
286 #endif
+
287 #ifdef PRINTREPORT // Uncomment "#define PRINTREPORT" to print the report send to the Arduino via Bluetooth
+
288  for (uint8_t i = 0; i < length; i++)
+
289  Notifyc(l2capinbuf[i + 11 + offset], 0x80);
+
290 #endif
+
291  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_RPN_CMD) { // UIH Remote Port Negotiation Command
+
292 #ifdef DEBUG_USB_HOST
+
293  Notify(PSTR("\r\nReceived UIH Remote Port Negotiation Command"), 0x80);
+
294 #endif
+
295  rfcommbuf[0] = BT_RFCOMM_RPN_RSP; // Command
+
296  rfcommbuf[1] = l2capinbuf[12]; // Length and shiftet like so: length << 1 | 1
+
297  rfcommbuf[2] = l2capinbuf[13]; // Channel: channel << 1 | 1
+
298  rfcommbuf[3] = l2capinbuf[14]; // Pre difined for Bluetooth, see 5.5.3 of TS 07.10 Adaption for RFCOMM
+
299  rfcommbuf[4] = l2capinbuf[15]; // Priority
+
300  rfcommbuf[5] = l2capinbuf[16]; // Timer
+
301  rfcommbuf[6] = l2capinbuf[17]; // Max Fram Size LSB
+
302  rfcommbuf[7] = l2capinbuf[18]; // Max Fram Size MSB
+
303  rfcommbuf[8] = l2capinbuf[19]; // MaxRatransm.
+
304  rfcommbuf[9] = l2capinbuf[20]; // Number of Frames
+
305  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x0A); // UIH Remote Port Negotiation Response
+
306  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_MSC_CMD) { // UIH Modem Status Command
+
307 #ifdef DEBUG_USB_HOST
+
308  Notify(PSTR("\r\nSend UIH Modem Status Response"), 0x80);
+
309 #endif
+
310  rfcommbuf[0] = BT_RFCOMM_MSC_RSP; // UIH Modem Status Response
+
311  rfcommbuf[1] = 2 << 1 | 1; // Length and shiftet like so: length << 1 | 1
+
312  rfcommbuf[2] = l2capinbuf[13]; // Channel: (1 << 0) | (1 << 1) | (0 << 2) | (channel << 3)
+
313  rfcommbuf[3] = l2capinbuf[14];
+
314  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x04);
+
315  }
+
316  } else {
+
317  if (rfcommChannelType == RFCOMM_SABM) { // SABM Command - this is sent twice: once for channel 0 and then for the channel to establish
+
318 #ifdef DEBUG_USB_HOST
+
319  Notify(PSTR("\r\nReceived SABM Command"), 0x80);
+
320 #endif
+
321  sendRfcomm(rfcommChannel, rfcommDirection, rfcommCommandResponse, RFCOMM_UA, rfcommPfBit, rfcommbuf, 0x00); // UA Command
+
322  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_PN_CMD) { // UIH Parameter Negotiation Command
+
323 #ifdef DEBUG_USB_HOST
+
324  Notify(PSTR("\r\nReceived UIH Parameter Negotiation Command"), 0x80);
+
325 #endif
+
326  rfcommbuf[0] = BT_RFCOMM_PN_RSP; // UIH Parameter Negotiation Response
+
327  rfcommbuf[1] = l2capinbuf[12]; // Length and shiftet like so: length << 1 | 1
+
328  rfcommbuf[2] = l2capinbuf[13]; // Channel: channel << 1 | 1
+
329  rfcommbuf[3] = 0xE0; // Pre difined for Bluetooth, see 5.5.3 of TS 07.10 Adaption for RFCOMM
+
330  rfcommbuf[4] = 0x00; // Priority
+
331  rfcommbuf[5] = 0x00; // Timer
+
332  rfcommbuf[6] = BULK_MAXPKTSIZE - 14; // Max Fram Size LSB - set to the size of received data (50)
+
333  rfcommbuf[7] = 0x00; // Max Fram Size MSB
+
334  rfcommbuf[8] = 0x00; // MaxRatransm.
+
335  rfcommbuf[9] = 0x00; // Number of Frames
+
336  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x0A);
+
337  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_MSC_CMD) { // UIH Modem Status Command
+
338 #ifdef DEBUG_USB_HOST
+
339  Notify(PSTR("\r\nSend UIH Modem Status Response"), 0x80);
+
340 #endif
+
341  rfcommbuf[0] = BT_RFCOMM_MSC_RSP; // UIH Modem Status Response
+
342  rfcommbuf[1] = 2 << 1 | 1; // Length and shiftet like so: length << 1 | 1
+
343  rfcommbuf[2] = l2capinbuf[13]; // Channel: (1 << 0) | (1 << 1) | (0 << 2) | (channel << 3)
+
344  rfcommbuf[3] = l2capinbuf[14];
+
345  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x04);
+
346 
+
347  delay(1);
+
348 #ifdef DEBUG_USB_HOST
+
349  Notify(PSTR("\r\nSend UIH Modem Status Command"), 0x80);
+
350 #endif
+
351  rfcommbuf[0] = BT_RFCOMM_MSC_CMD; // UIH Modem Status Command
+
352  rfcommbuf[1] = 2 << 1 | 1; // Length and shiftet like so: length << 1 | 1
+
353  rfcommbuf[2] = l2capinbuf[13]; // Channel: (1 << 0) | (1 << 1) | (0 << 2) | (channel << 3)
+
354  rfcommbuf[3] = 0x8D; // Can receive frames (YES), Ready to Communicate (YES), Ready to Receive (YES), Incomig Call (NO), Data is Value (YES)
+
355 
+
356  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x04);
+
357  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_MSC_RSP) { // UIH Modem Status Response
+
358  if (!creditSent) {
+
359 #ifdef DEBUG_USB_HOST
+
360  Notify(PSTR("\r\nSend UIH Command with credit"), 0x80);
+
361 #endif
+
362  sendRfcommCredit(rfcommChannelConnection, rfcommDirection, 0, RFCOMM_UIH, 0x10, sizeof (rfcommDataBuffer)); // Send credit
+
363  creditSent = true;
+
364  timer = millis();
+
365  waitForLastCommand = true;
+
366  }
+
367  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[10] == 0x01) { // UIH Command with credit
+
368 #ifdef DEBUG_USB_HOST
+
369  Notify(PSTR("\r\nReceived UIH Command with credit"), 0x80);
+
370 #endif
+
371  } else if (rfcommChannelType == RFCOMM_UIH && l2capinbuf[11] == BT_RFCOMM_RPN_CMD) { // UIH Remote Port Negotiation Command
+
372 #ifdef DEBUG_USB_HOST
+
373  Notify(PSTR("\r\nReceived UIH Remote Port Negotiation Command"), 0x80);
+
374 #endif
+
375  rfcommbuf[0] = BT_RFCOMM_RPN_RSP; // Command
+
376  rfcommbuf[1] = l2capinbuf[12]; // Length and shiftet like so: length << 1 | 1
+
377  rfcommbuf[2] = l2capinbuf[13]; // Channel: channel << 1 | 1
+
378  rfcommbuf[3] = l2capinbuf[14]; // Pre difined for Bluetooth, see 5.5.3 of TS 07.10 Adaption for RFCOMM
+
379  rfcommbuf[4] = l2capinbuf[15]; // Priority
+
380  rfcommbuf[5] = l2capinbuf[16]; // Timer
+
381  rfcommbuf[6] = l2capinbuf[17]; // Max Fram Size LSB
+
382  rfcommbuf[7] = l2capinbuf[18]; // Max Fram Size MSB
+
383  rfcommbuf[8] = l2capinbuf[19]; // MaxRatransm.
+
384  rfcommbuf[9] = l2capinbuf[20]; // Number of Frames
+
385  sendRfcomm(rfcommChannel, rfcommDirection, 0, RFCOMM_UIH, rfcommPfBit, rfcommbuf, 0x0A); // UIH Remote Port Negotiation Response
+
386 #ifdef DEBUG_USB_HOST
+
387  Notify(PSTR("\r\nRFCOMM Connection is now established\r\n"), 0x80);
+
388 #endif
+
389  waitForLastCommand = false;
+
390  creditSent = false;
+
391  connected = true; // The RFCOMM channel is now established
+
392  sppIndex = 0;
+
393  }
+
394 #ifdef DEBUG_USB_HOST
+
395  else if (rfcommChannelType != RFCOMM_DISC) {
+
396  Notify(PSTR("\r\nUnsupported RFCOMM Data - ChannelType: "), 0x80);
+
397  D_PrintHex<uint8_t > (rfcommChannelType, 0x80);
+
398  Notify(PSTR(" Command: "), 0x80);
+
399  D_PrintHex<uint8_t > (l2capinbuf[11], 0x80);
+
400  }
+
401 #endif
+
402  }
+
403  }
+
404 #ifdef EXTRADEBUG
+
405  else {
+
406  Notify(PSTR("\r\nUnsupported L2CAP Data - Channel ID: "), 0x80);
+
407  D_PrintHex<uint8_t > (l2capinbuf[7], 0x80);
+
408  Notify(PSTR(" "), 0x80);
+
409  D_PrintHex<uint8_t > (l2capinbuf[6], 0x80);
+
410  }
+
411 #endif
+
412  SDP_task();
+
413  RFCOMM_task();
+
414  }
+
415 }
+
416 
+
417 void SPP::Run() {
+
418  if (waitForLastCommand && (millis() - timer) > 100) { // We will only wait 100ms and see if the UIH Remote Port Negotiation Command is send, as some deviced don't send it
+
419 #ifdef DEBUG_USB_HOST
+
420  Notify(PSTR("\r\nRFCOMM Connection is now established - Automatic\r\n"), 0x80);
+
421 #endif
+
422  creditSent = false;
+
423  waitForLastCommand = false;
+
424  connected = true; // The RFCOMM channel is now established
+
425  sppIndex = 0;
+
426  }
+
427  send(); // Send all bytes currently in the buffer
+
428 }
+
429 
+
430 void SPP::SDP_task() {
+
431  switch (l2cap_sdp_state) {
+
432  case L2CAP_SDP_WAIT:
+ +
434  l2cap_event_flag &= ~L2CAP_FLAG_CONNECTION_SDP_REQUEST; // Clear flag
+
435 #ifdef DEBUG_USB_HOST
+
436  Notify(PSTR("\r\nSDP Incoming Connection Request"), 0x80);
+
437 #endif
+
438  pBtd->l2cap_connection_response(hci_handle, identifier, sdp_dcid, sdp_scid, PENDING);
+
439  delay(1);
+
440  pBtd->l2cap_connection_response(hci_handle, identifier, sdp_dcid, sdp_scid, SUCCESSFUL);
+
441  identifier++;
+
442  delay(1);
+
443  pBtd->l2cap_config_request(hci_handle, identifier, sdp_scid);
+
444  l2cap_sdp_state = L2CAP_SDP_REQUEST;
+
445  }
+
446  break;
+
447  case L2CAP_SDP_REQUEST:
+ +
449  l2cap_event_flag &= ~L2CAP_FLAG_CONFIG_SDP_REQUEST; // Clear flag
+
450 #ifdef DEBUG_USB_HOST
+
451  Notify(PSTR("\r\nSDP Configuration Request"), 0x80);
+
452 #endif
+
453  pBtd->l2cap_config_response(hci_handle, identifier, sdp_scid);
+
454  l2cap_sdp_state = L2CAP_SDP_SUCCESS;
+
455  }
+
456  break;
+
457  case L2CAP_SDP_SUCCESS:
+ +
459  l2cap_event_flag &= ~L2CAP_FLAG_CONFIG_SDP_SUCCESS; // Clear flag
+
460 #ifdef DEBUG_USB_HOST
+
461  Notify(PSTR("\r\nSDP Successfully Configured"), 0x80);
+
462 #endif
+
463  firstMessage = true; // Reset bool
+
464  SDPConnected = true;
+
465  l2cap_sdp_state = L2CAP_SDP_DONE;
+
466  }
+
467  break;
+
468  case L2CAP_SDP_DONE:
+ +
470  l2cap_event_flag &= ~L2CAP_FLAG_DISCONNECT_SDP_REQUEST; // Clear flag
+
471  SDPConnected = false;
+
472 #ifdef DEBUG_USB_HOST
+
473  Notify(PSTR("\r\nDisconnected SDP Channel"), 0x80);
+
474 #endif
+
475  pBtd->l2cap_disconnection_response(hci_handle, identifier, sdp_dcid, sdp_scid);
+
476  l2cap_sdp_state = L2CAP_SDP_WAIT;
+ +
478  l2cap_rfcomm_state = L2CAP_SDP_WAIT;
+
479  break;
+
480  case L2CAP_DISCONNECT_RESPONSE: // This is for both disconnection response from the RFCOMM and SDP channel if they were connected
+ +
482 #ifdef DEBUG_USB_HOST
+
483  Notify(PSTR("\r\nDisconnected L2CAP Connection"), 0x80);
+
484 #endif
+
485  RFCOMMConnected = false;
+
486  SDPConnected = false;
+
487  pBtd->hci_disconnect(hci_handle);
+
488  hci_handle = -1; // Reset handle
+
489  l2cap_event_flag = 0; // Reset flags
+
490  l2cap_sdp_state = L2CAP_SDP_WAIT;
+
491  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT;
+
492  }
+
493  break;
+
494  }
+
495 }
+
496 
+
497 void SPP::RFCOMM_task() {
+
498  switch (l2cap_rfcomm_state) {
+
499  case L2CAP_RFCOMM_WAIT:
+ +
501  l2cap_event_flag &= ~L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST; // Clear flag
+
502 #ifdef DEBUG_USB_HOST
+
503  Notify(PSTR("\r\nRFCOMM Incoming Connection Request"), 0x80);
+
504 #endif
+
505  pBtd->l2cap_connection_response(hci_handle, identifier, rfcomm_dcid, rfcomm_scid, PENDING);
+
506  delay(1);
+
507  pBtd->l2cap_connection_response(hci_handle, identifier, rfcomm_dcid, rfcomm_scid, SUCCESSFUL);
+
508  identifier++;
+
509  delay(1);
+
510  pBtd->l2cap_config_request(hci_handle, identifier, rfcomm_scid);
+
511  l2cap_rfcomm_state = L2CAP_RFCOMM_REQUEST;
+
512  }
+
513  break;
+ + +
516  l2cap_event_flag &= ~L2CAP_FLAG_CONFIG_RFCOMM_REQUEST; // Clear flag
+
517 #ifdef DEBUG_USB_HOST
+
518  Notify(PSTR("\r\nRFCOMM Configuration Request"), 0x80);
+
519 #endif
+
520  pBtd->l2cap_config_response(hci_handle, identifier, rfcomm_scid);
+
521  l2cap_rfcomm_state = L2CAP_RFCOMM_SUCCESS;
+
522  }
+
523  break;
+ + +
526  l2cap_event_flag &= ~L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS; // Clear flag
+
527 #ifdef DEBUG_USB_HOST
+
528  Notify(PSTR("\r\nRFCOMM Successfully Configured"), 0x80);
+
529 #endif
+
530  rfcommAvailable = 0; // Reset number of bytes available
+
531  bytesRead = 0; // Reset number of bytes received
+
532  RFCOMMConnected = true;
+
533  l2cap_rfcomm_state = L2CAP_RFCOMM_DONE;
+
534  }
+
535  break;
+
536  case L2CAP_RFCOMM_DONE:
+ +
538  l2cap_event_flag &= ~L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST; // Clear flag
+
539  RFCOMMConnected = false;
+
540  connected = false;
+
541 #ifdef DEBUG_USB_HOST
+
542  Notify(PSTR("\r\nDisconnected RFCOMM Channel"), 0x80);
+
543 #endif
+
544  pBtd->l2cap_disconnection_response(hci_handle, identifier, rfcomm_dcid, rfcomm_scid);
+
545  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT;
+ +
547  l2cap_rfcomm_state = L2CAP_RFCOMM_WAIT;
+
548  break;
+
549  }
+
550 }
+
551 /************************************************************/
+
552 /* SDP Commands */
+
553 
+
554 /************************************************************/
+
555 void SPP::SDP_Command(uint8_t* data, uint8_t nbytes) { // See page 223 in the Bluetooth specs
+
556  pBtd->L2CAP_Command(hci_handle, data, nbytes, sdp_scid[0], sdp_scid[1]);
+
557 }
+
558 
+
559 void SPP::serviceNotSupported(uint8_t transactionIDHigh, uint8_t transactionIDLow) { // See page 235 in the Bluetooth specs
+ +
561  l2capoutbuf[1] = transactionIDHigh;
+
562  l2capoutbuf[2] = transactionIDLow;
+
563  l2capoutbuf[3] = 0x00; // Parameter Length
+
564  l2capoutbuf[4] = 0x05; // Parameter Length
+
565  l2capoutbuf[5] = 0x00; // AttributeListsByteCount
+
566  l2capoutbuf[6] = 0x02; // AttributeListsByteCount
+
567 
+
568  /* Attribute ID/Value Sequence: */
+
569  l2capoutbuf[7] = 0x35;
+
570  l2capoutbuf[8] = 0x00;
+
571  l2capoutbuf[9] = 0x00;
+
572 
+
573  SDP_Command(l2capoutbuf, 10);
+
574 }
+
575 
+
576 void SPP::serialPortResponse1(uint8_t transactionIDHigh, uint8_t transactionIDLow) {
+ +
578  l2capoutbuf[1] = transactionIDHigh;
+
579  l2capoutbuf[2] = transactionIDLow;
+
580  l2capoutbuf[3] = 0x00; // Parameter Length
+
581  l2capoutbuf[4] = 0x2B; // Parameter Length
+
582  l2capoutbuf[5] = 0x00; // AttributeListsByteCount
+
583  l2capoutbuf[6] = 0x26; // AttributeListsByteCount
+
584 
+
585  /* Attribute ID/Value Sequence: */
+
586  l2capoutbuf[7] = 0x36;
+
587  l2capoutbuf[8] = 0x00;
+
588  l2capoutbuf[9] = 0x3C;
+
589  l2capoutbuf[10] = 0x36;
+
590  l2capoutbuf[11] = 0x00;
+
591 
+
592  l2capoutbuf[12] = 0x39;
+
593  l2capoutbuf[13] = 0x09;
+
594  l2capoutbuf[14] = 0x00;
+
595  l2capoutbuf[15] = 0x00;
+
596  l2capoutbuf[16] = 0x0A;
+
597  l2capoutbuf[17] = 0x00;
+
598  l2capoutbuf[18] = 0x01;
+
599  l2capoutbuf[19] = 0x00;
+
600  l2capoutbuf[20] = 0x06;
+
601  l2capoutbuf[21] = 0x09;
+
602  l2capoutbuf[22] = 0x00;
+
603  l2capoutbuf[23] = 0x01;
+
604  l2capoutbuf[24] = 0x35;
+
605  l2capoutbuf[25] = 0x03;
+
606  l2capoutbuf[26] = 0x19;
+
607  l2capoutbuf[27] = 0x11;
+
608 
+
609  l2capoutbuf[28] = 0x01;
+
610  l2capoutbuf[29] = 0x09;
+
611  l2capoutbuf[30] = 0x00;
+
612  l2capoutbuf[31] = 0x04;
+
613  l2capoutbuf[32] = 0x35;
+
614  l2capoutbuf[33] = 0x0C;
+
615  l2capoutbuf[34] = 0x35;
+
616  l2capoutbuf[35] = 0x03;
+
617  l2capoutbuf[36] = 0x19;
+
618  l2capoutbuf[37] = 0x01;
+
619  l2capoutbuf[38] = 0x00;
+
620  l2capoutbuf[39] = 0x35;
+
621  l2capoutbuf[40] = 0x05;
+
622  l2capoutbuf[41] = 0x19;
+
623  l2capoutbuf[42] = 0x00;
+
624  l2capoutbuf[43] = 0x03;
+
625 
+
626  l2capoutbuf[44] = 0x08;
+
627  l2capoutbuf[45] = 0x02; // Two extra bytes
+
628  l2capoutbuf[46] = 0x00; // 25 (0x19) more bytes to come
+
629  l2capoutbuf[47] = 0x19;
+
630 
+
631  SDP_Command(l2capoutbuf, 48);
+
632 }
+
633 
+
634 void SPP::serialPortResponse2(uint8_t transactionIDHigh, uint8_t transactionIDLow) {
+ +
636  l2capoutbuf[1] = transactionIDHigh;
+
637  l2capoutbuf[2] = transactionIDLow;
+
638  l2capoutbuf[3] = 0x00; // Parameter Length
+
639  l2capoutbuf[4] = 0x1C; // Parameter Length
+
640  l2capoutbuf[5] = 0x00; // AttributeListsByteCount
+
641  l2capoutbuf[6] = 0x19; // AttributeListsByteCount
+
642 
+
643  /* Attribute ID/Value Sequence: */
+
644  l2capoutbuf[7] = 0x01;
+
645  l2capoutbuf[8] = 0x09;
+
646  l2capoutbuf[9] = 0x00;
+
647  l2capoutbuf[10] = 0x06;
+
648  l2capoutbuf[11] = 0x35;
+
649 
+
650  l2capoutbuf[12] = 0x09;
+
651  l2capoutbuf[13] = 0x09;
+
652  l2capoutbuf[14] = 0x65;
+
653  l2capoutbuf[15] = 0x6E;
+
654  l2capoutbuf[16] = 0x09;
+
655  l2capoutbuf[17] = 0x00;
+
656  l2capoutbuf[18] = 0x6A;
+
657  l2capoutbuf[19] = 0x09;
+
658  l2capoutbuf[20] = 0x01;
+
659  l2capoutbuf[21] = 0x00;
+
660  l2capoutbuf[22] = 0x09;
+
661  l2capoutbuf[23] = 0x01;
+
662  l2capoutbuf[24] = 0x00;
+
663  l2capoutbuf[25] = 0x25;
+
664 
+
665  l2capoutbuf[26] = 0x05; // Name length
+
666  l2capoutbuf[27] = 'T';
+
667  l2capoutbuf[28] = 'K';
+
668  l2capoutbuf[29] = 'J';
+
669  l2capoutbuf[30] = 'S';
+
670  l2capoutbuf[31] = 'P';
+
671  l2capoutbuf[32] = 0x00; // No more data
+
672 
+
673  SDP_Command(l2capoutbuf, 33);
+
674 }
+
675 
+
676 void SPP::l2capResponse1(uint8_t transactionIDHigh, uint8_t transactionIDLow) {
+
677  serialPortResponse1(transactionIDHigh, transactionIDLow); // These has to send all the supported functions, since it only supports virtual serialport it just sends the message again
+
678 }
+
679 
+
680 void SPP::l2capResponse2(uint8_t transactionIDHigh, uint8_t transactionIDLow) {
+
681  serialPortResponse2(transactionIDHigh, transactionIDLow); // Same data as serialPortResponse2
+
682 }
+
683 /************************************************************/
+
684 /* RFCOMM Commands */
+
685 
+
686 /************************************************************/
+
687 void SPP::RFCOMM_Command(uint8_t* data, uint8_t nbytes) {
+
688  pBtd->L2CAP_Command(hci_handle, data, nbytes, rfcomm_scid[0], rfcomm_scid[1]);
+
689 }
+
690 
+
691 void SPP::sendRfcomm(uint8_t channel, uint8_t direction, uint8_t CR, uint8_t channelType, uint8_t pfBit, uint8_t* data, uint8_t length) {
+
692  l2capoutbuf[0] = channel | direction | CR | extendAddress; // RFCOMM Address
+
693  l2capoutbuf[1] = channelType | pfBit; // RFCOMM Control
+
694  l2capoutbuf[2] = length << 1 | 0x01; // Length and format (always 0x01 bytes format)
+
695  uint8_t i = 0;
+
696  for (; i < length; i++)
+
697  l2capoutbuf[i + 3] = data[i];
+
698  l2capoutbuf[i + 3] = calcFcs(l2capoutbuf);
+
699 #ifdef EXTRADEBUG
+
700  Notify(PSTR(" - RFCOMM Data: "), 0x80);
+
701  for (i = 0; i < length + 4; i++) {
+
702  D_PrintHex<uint8_t > (l2capoutbuf[i], 0x80);
+
703  Notify(PSTR(" "), 0x80);
+
704  }
+
705 #endif
+
706  RFCOMM_Command(l2capoutbuf, length + 4);
+
707 }
+
708 
+
709 void SPP::sendRfcommCredit(uint8_t channel, uint8_t direction, uint8_t CR, uint8_t channelType, uint8_t pfBit, uint8_t credit) {
+
710  l2capoutbuf[0] = channel | direction | CR | extendAddress; // RFCOMM Address
+
711  l2capoutbuf[1] = channelType | pfBit; // RFCOMM Control
+
712  l2capoutbuf[2] = 0x01; // Length = 0
+
713  l2capoutbuf[3] = credit; // Credit
+
714  l2capoutbuf[4] = calcFcs(l2capoutbuf);
+
715 #ifdef EXTRADEBUG
+
716  Notify(PSTR(" - RFCOMM Credit Data: "), 0x80);
+
717  for (uint8_t i = 0; i < 5; i++) {
+
718  D_PrintHex<uint8_t > (l2capoutbuf[i], 0x80);
+
719  Notify(PSTR(" "), 0x80);
+
720  }
+
721 #endif
+
722  RFCOMM_Command(l2capoutbuf, 5);
+
723 }
+
724 
+
725 /* CRC on 2 bytes */
+
726 uint8_t SPP::__crc(uint8_t* data) {
+
727  return (pgm_read_byte(&rfcomm_crc_table[pgm_read_byte(&rfcomm_crc_table[0xff ^ data[0]]) ^ data[1]]));
+
728 }
+
729 
+
730 /* Calculate FCS - we never actually check if the host sends correct FCS to the Arduino */
+
731 uint8_t SPP::calcFcs(uint8_t *data) {
+
732  if ((data[1] & 0xEF) == RFCOMM_UIH)
+
733  return (0xff - __crc(data)); // FCS on 2 bytes
+
734  else
+
735  return (0xff - pgm_read_byte(&rfcomm_crc_table[__crc(data) ^ data[2]])); // FCS on 3 bytes
+
736 }
+
737 
+
738 /* Serial commands */
+
739 size_t SPP::write(uint8_t data) {
+
740  return write(&data,1);
+
741 }
+
742 
+
743 size_t SPP::write(const uint8_t* data, size_t size) {
+
744  for(uint8_t i = 0; i < size; i++) {
+
745  if(sppIndex >= sizeof(sppOutputBuffer)/sizeof(sppOutputBuffer[0]))
+
746  send(); // Send the current data in the buffer
+
747  sppOutputBuffer[sppIndex++] = data[i]; // All the bytes are put into a buffer and then send using the send() function
+
748  }
+
749  return size;
+
750 }
+
751 
+
752 void SPP::send() {
+
753  if (!connected || !sppIndex)
+
754  return;
+
755  uint8_t length; // This is the length of the string we are sending
+
756  uint8_t offset = 0; // This is used to keep track of where we are in the string
+
757 
+
758  l2capoutbuf[0] = rfcommChannelConnection | 0 | 0 | extendAddress; // RFCOMM Address
+
759  l2capoutbuf[1] = RFCOMM_UIH; // RFCOMM Control
+
760 
+
761  while (sppIndex) { // We will run this while loop until this variable is 0
+
762  if (sppIndex > (sizeof (l2capoutbuf) - 4)) // Check if the string is larger than the outgoing buffer
+
763  length = sizeof (l2capoutbuf) - 4;
+
764  else
+
765  length = sppIndex;
+
766 
+
767  l2capoutbuf[2] = length << 1 | 1; // Length
+
768  uint8_t i = 0;
+
769  for (; i < length; i++)
+
770  l2capoutbuf[i + 3] = sppOutputBuffer[i + offset];
+
771  l2capoutbuf[i + 3] = calcFcs(l2capoutbuf); // Calculate checksum
+
772 
+
773  RFCOMM_Command(l2capoutbuf, length + 4);
+
774 
+
775  sppIndex -= length;
+
776  offset += length; // Increment the offset
+
777  }
+
778 }
+
779 
+
780 int SPP::available(void) {
+
781  return rfcommAvailable;
+
782 };
+
783 
+
784 void SPP::flush(void) {
+
785  rfcommAvailable = 0;
+
786 }
+
787 
+
788 int SPP::peek(void) {
+
789  if (rfcommAvailable == 0) // Don't read if there is nothing in the buffer
+
790  return -1;
+
791  return rfcommDataBuffer[0];
+
792 }
+
793 
+
794 int SPP::read(void) {
+
795  if (rfcommAvailable == 0) // Don't read if there is nothing in the buffer
+
796  return -1;
+
797  uint8_t output = rfcommDataBuffer[0];
+
798  for (uint8_t i = 1; i < rfcommAvailable; i++)
+
799  rfcommDataBuffer[i - 1] = rfcommDataBuffer[i]; // Shift the buffer one left
+
800  rfcommAvailable--;
+
801  bytesRead++;
+
802  if (bytesRead > (sizeof (rfcommDataBuffer) - 5)) { // We will send the command just before it runs out of credit
+
803  bytesRead = 0;
+
804  sendRfcommCredit(rfcommChannelConnection, rfcommDirection, 0, RFCOMM_UIH, 0x10, sizeof (rfcommDataBuffer)); // Send more credit
+
805 #ifdef EXTRADEBUG
+
806  Notify(PSTR("\r\nSent "), 0x80);
+
807  Notify((uint8_t)sizeof (rfcommDataBuffer), 0x80);
+
808  Notify(PSTR(" more credit"), 0x80);
+
809 #endif
+
810  }
+
811  return output;
+
812 }
+
virtual size_t write(uint8_t data)
Definition: SPP.cpp:739
+
const char * btdName
Definition: BTD.h:392
+
#define BT_RFCOMM_RPN_RSP
Definition: SPP.h:79
+
void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
Definition: BTD.cpp:1157
+
#define SUCCESSFUL
Definition: BTD.h:121
+
bool sdpConnectionClaimed
Definition: BTD.h:387
+
#define L2CAP_FLAG_CONFIG_SDP_REQUEST
Definition: SPP.h:39
+
#define RFCOMM_PSM
Definition: BTD.h:125
+
Definition: BTD.h:156
+
void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1210
+
#define RFCOMM_SABM
Definition: SPP.h:65
+
#define L2CAP_UUID
Definition: SPP.h:62
+
const uint8_t rfcomm_crc_table[256]
Definition: SPP.cpp:26
+
bool rfcommConnectionClaimed
Definition: BTD.h:389
+
#define SDP_SERVICE_SEARCH_ATTRIBUTE_RESPONSE_PDU
Definition: SPP.h:60
+
#define l2cap_connection_request_sdp_flag
Definition: SPP.h:48
+
#define L2CAP_FLAG_CONNECTION_SDP_REQUEST
Definition: SPP.h:37
+
#define l2cap_disconnect_response_flag
Definition: SPP.h:56
+
#define RFCOMM_DISC
Definition: SPP.h:69
+
#define L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS
Definition: SPP.h:42
+
#define SERIALPORT_UUID
Definition: SPP.h:61
+
#define L2CAP_SDP_DONE
Definition: SPP.h:27
+
virtual void flush(void)
Definition: SPP.cpp:784
+
#define L2CAP_DISCONNECT_RESPONSE
Definition: SPP.h:28
+
const char * btdPin
Definition: BTD.h:394
+
bool connected
Definition: SPP.h:111
+
#define L2CAP_FLAG_CONFIG_RFCOMM_REQUEST
Definition: SPP.h:40
+
#define L2CAP_CMD_INFORMATION_REQUEST
Definition: BTD.h:116
+
#define l2cap_config_request_sdp_flag
Definition: SPP.h:50
+
#define SDP_PSM
Definition: BTD.h:124
+
virtual int read(void)
Definition: SPP.cpp:794
+
void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1223
+
#define extendAddress
Definition: SPP.h:71
+
#define L2CAP_SDP_REQUEST
Definition: SPP.h:25
+
#define Notify(...)
Definition: message.h:44
+
#define l2cap_connection_request_rfcomm_flag
Definition: SPP.h:49
+
#define L2CAP_FLAG_CONFIG_SDP_SUCCESS
Definition: SPP.h:41
+
virtual void Run()
Definition: SPP.cpp:417
+
#define L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST
Definition: SPP.h:44
+
uint16_t hci_handle
Definition: BTD.h:399
+
#define Notifyc(...)
Definition: message.h:46
+
void hci_disconnect(uint16_t handle)
Definition: BTD.cpp:1068
+
virtual void Reset()
Definition: SPP.cpp:63
+
#define l2cap_config_success_rfcomm_flag
Definition: SPP.h:53
+
SPP(BTD *p, const char *name="Arduino", const char *pin="1234")
Definition: SPP.cpp:45
+
#define RFCOMM_UIH
Definition: SPP.h:67
+
virtual int available(void)
Definition: SPP.cpp:780
+
#define l2cap_disconnect_request_rfcomm_flag
Definition: SPP.h:55
+
#define L2CAP_SDP_SUCCESS
Definition: SPP.h:26
+
#define L2CAP_CMD_CONFIG_REQUEST
Definition: BTD.h:112
+
#define L2CAP_CMD_DISCONNECT_REQUEST
Definition: BTD.h:114
+
#define L2CAP_FLAG_DISCONNECT_SDP_REQUEST
Definition: SPP.h:43
+
#define L2CAP_RFCOMM_DONE
Definition: SPP.h:34
+
#define BULK_MAXPKTSIZE
Definition: BTD.h:33
+
#define BT_RFCOMM_RPN_CMD
Definition: SPP.h:78
+
int8_t registerServiceClass(BluetoothService *pService)
Definition: BTD.h:250
+
virtual void disconnect()
Definition: SPP.cpp:74
+
#define BT_RFCOMM_MSC_CMD
Definition: SPP.h:76
+
#define SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST_PDU
Definition: SPP.h:59
+
#define L2CAP_CMD_DISCONNECT_RESPONSE
Definition: BTD.h:115
+
#define RFCOMM_UA
Definition: SPP.h:66
+
void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)
Definition: BTD.cpp:1236
+
#define L2CAP_CMD_CONFIG_RESPONSE
Definition: BTD.h:113
+
#define L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST
Definition: SPP.h:38
+
#define L2CAP_RFCOMM_SUCCESS
Definition: SPP.h:33
+
#define BT_RFCOMM_PN_CMD
Definition: SPP.h:74
+
#define BT_RFCOMM_MSC_RSP
Definition: SPP.h:77
+
#define L2CAP_RFCOMM_REQUEST
Definition: SPP.h:32
+
#define L2CAP_SDP_WAIT
Definition: SPP.h:24
+
#define L2CAP_RFCOMM_WAIT
Definition: SPP.h:31
+
void send(void)
Definition: SPP.cpp:752
+
void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
Definition: BTD.cpp:1116
+
void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
Definition: BTD.cpp:1191
+
#define PENDING
Definition: BTD.h:120
+
void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
Definition: BTD.cpp:1174
+
#define l2cap_config_request_rfcomm_flag
Definition: SPP.h:51
+
#define L2CAP_CMD_CONNECTION_REQUEST
Definition: BTD.h:110
+
#define BT_RFCOMM_PN_RSP
Definition: SPP.h:75
+
#define l2cap_config_success_sdp_flag
Definition: SPP.h:52
+
#define l2cap_disconnect_request_sdp_flag
Definition: SPP.h:54
+
virtual void ACLData(uint8_t *ACLData)
Definition: SPP.cpp:86
+
virtual int peek(void)
Definition: SPP.cpp:788
+ +
#define L2CAP_FLAG_DISCONNECT_RESPONSE
Definition: SPP.h:45
+
#define L2CAP_CMD_COMMAND_REJECT
Definition: BTD.h:109
diff --git a/_s_p_p_8h.html b/_s_p_p_8h.html index 5db32c4e..179ce679 100644 --- a/_s_p_p_8h.html +++ b/_s_p_p_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: SPP.h File Reference @@ -31,7 +31,7 @@ - + @@ -98,14 +98,14 @@ Include dependency graph for SPP.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -796,7 +796,7 @@ Macros diff --git a/_s_p_p_8h__dep__incl.map b/_s_p_p_8h__dep__incl.map index ac0c8370..770e7b57 100644 --- a/_s_p_p_8h__dep__incl.map +++ b/_s_p_p_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/_s_p_p_8h__dep__incl.md5 b/_s_p_p_8h__dep__incl.md5 index f3740540..7717c9a2 100644 --- a/_s_p_p_8h__dep__incl.md5 +++ b/_s_p_p_8h__dep__incl.md5 @@ -1 +1 @@ -e2871ab5069f690182a543272f33ac58 \ No newline at end of file +1f51bc8d7e57994b0706c73aa078945c \ No newline at end of file diff --git a/_s_p_p_8h__dep__incl.png b/_s_p_p_8h__dep__incl.png index fb38bac41bf4a79e4083bb3438e68a6a22d5934d..aec30941952c6aaa0720fdd0e564d3c559c86e4b 100644 GIT binary patch literal 2697 zcmcJR`#%%8$L*c7i8Sn}v)y|JnUvlQhB@7>`9t*R|%81VW8B*|`&9d!^ zJkApl75%2Q zavL%v?_JL~j4Zuina8Xl(4)X(9mKF4?ZfJ+ZzVPE@xvrhl)bGL z#%%m*H_AZ|POYn}8!Na9dZBS2n*Xl6#b+c+N;}|8ut188VJSB@we__F{wnAo?pPlm z9r}lApmhL9x1)nyUe~sJ{UX!N{%}?2H^UPSI?8##4^QI9D;;dSycFr$(t6>~CaRrG zwEQMY2%N>+xmO;PRKPnteUQ!w9rJ<}4%!stRZ(6p7=x7u1brm*qy*lSV$x%NM^ zJN6iw6h|r$Tq%de6b z1QO|;Io;%E!}Z_jplH0;|Fkl}J<%JWi(kTg`;=SU*x1;8c+cB=l{eie-V3uq1=^vwDC76@(uXI-6kyI$XPK&ja5&Ff9K9GoTq#L zL&GVby!LSRKek;Fbx_b9EIoao*a>=`=8@m2h`Q<7xNAWIqYPPYUABER3s+IeQuS%Kg$r!) z?#4!yflm?ZeSH2jcKR=kokk2KU?cAfW4ToZE^7 z8`k~v=S)UA=dcAyqgK0q&{h*gRao29P95FwT%GoOIhr3CdSc_<=lP>w#p=c;x|Um% zpmSm+uHFQ)DnLYrH54j!)4|lpsLEo!EHSW@mS0fr`~*^NWbRf8gcg*SU&4sr<#B>p z0gR1b0V{?@m{>B-}a>-8hM+g3IK_Tzk_TG6=>rCu$8T?Q~^|# zS`AU66cv2|*!i5mX<>k3;+g;F)c5>gZTT->;%M_Ozs!Gg#i^@Xz;F?*XK6tBN@j%o z;nIlw*#+!EZ?fD(SG%CQIlT{oruZn`ZB$B0cGLRu^_c(WOC5FI*lp@L(=jor0;yVI zKNyPl@e3o6?Si;RH84*0wv7)3+ip~))h&D;oA~S-rs@6Txpu;}!7SBcP47<|7#f?+ z)*B1TMA(HpnCj8+->scmwwA{iKEL2fY0Y&H=Zh07PbE0+y1Wg2#bx@2{`@%=^>=5y z?;q}z?V1v(-81}KPce=BpE@FsBhFSx6BCk>Q=U($_3U*7j91t}2DjYp$PJ_)O!eqk zlD4CcM~+K_*T zH%9A7c-YGS7RlvJt1^bU+u;3q(}&J2UBpE_I|doeC!`qT9ygSypK~KglAhkd<$iS8 zfMZug$0`Z@`VCLQkY+-9O2KiTczrnABhLcpp7JpUuxLEnLCgkSYmQr;X&H@!!NaGa z4bsHZ@bh@85P5e~!KEuAx5l~E2xm)k6d>R^ixz8$`LK0X*XP=vpIr~mIkg15x*W3j zpeuQ^#4P<6d&18O=@ehQEY@46l3WzTg}mpxm=h2VnbcOFq1W5$RZ2kEJ)?zEeidtcj>g~K^zRCJc$d$&LF;bbm} zZ)77~c>I+LVCZ_e7w>B9-K)A2+$piVa9(*2Ce8g4Ve{UVh=cHXP!GP^xiz=|i6DK3 z$cyzuq_nVNI%f*Mo=ccYIf?e_R9r%3av!IsauP|-mAoxZGxr8-N>K;UdWIud88w#! z-Z!qaxH@S1kbXm8w)0R6%Se?sN%#nuQ%DneZXg8xW$ZU6QnhVQFV1e7omO-T1=B3^ z4e(3D=kkvG^v;R!%GyZOUyiwkike?|c7i8D{B+QUV@xdQdz>)mteLZH!g^ci>fJx$ zYG<4LB(|1Dq9@swSS(^EN9ny#S2#P0*?6OA-Xr%I%%%=zt7$V~lJ^I*v>ZEyqxH|g zuf+>~O@S`W{0yY0s84Vr277UyHB_0XD^A9+Ec8dWN}4)(4_^~66q9nlpEq2Wgsh2H zMYc;D&^#GWZ*VtaH_mekf$KS<(i@M z9emV&SQC^lY+HFk3zMDys86hSkXll5K701)Wqh;+jS2Xt@;Bo7!mH5`@XYrs@|4Oq-CzGc=6kY>+WuuQz0Lh%0?dqWU9T~6 Gi~0{sfDcjt literal 1482 zcmV;*1vUDKP)0vgTB{=F z1wRN3WYzSwh#q9YUVLc_gxlLTYM?ENAGJYJT)#F;uk7l*4=P?aw%Od(aoO43`!EsP zerW5=>9jPzC(r*J&;S2p=A4~jXO{5${SeE<;VwWZk^pXEUVw_!;dDBio0~s<`t&2K z2}^2f>Z3=G5)u-^_7ahHp(jtC)YQ~mzI+*BY2Sy*WHJ~G)z#Hudm|nJp4+!?BPc04 zOeWJly)nNABmvySyubmA_&^>%erz_I)6&wKnwo4jTYrB)0Gv2+LZi`SWo3Q%@F6Gy z0Apig+1c5rPoEZEJqSDkD=RBbr?a=Wx3I8qWMstQaGX1LPN&mVRaHHB@BjcpBLHBt z*>-n#MW`JB1Repm+ikboH#Rnkii$EbGuPJENRp%|N~u)3-EMwNXaoRgnvRc;S1OfP zuU-{YzCeMToE(;AhlYk$S69o+%M}X6t5>hq*VhSxXl-rf$Am@z;KGFqB_${f$DLp+s4u>N#F)=PK%zjW2yM} z^9bEW0pR%YFIyc)3xd8+L@Vu(Pcrn28M^t6h)F` z-0-j&T^3XV9Ot9yX^!)Hy*`@$i{pHV5}^`!{o3;R^B(`V!@*8XSrH{dCGhm=EJb~} zTBay+XlNEuA|wKPd!A>{7QUV~9OpF}-|g*rP~<`)FgdvtR4&VUUcC4lMJ^-)gM+gq z`OV!HNfLvDGbnP2FR;DMPEIZbZ95$2o0wSI-rf^Eo%jOJpTGBd!)%%y=Nlb;FM2xh z1qKGfpDF|qu}cUd3)t1n-#m=C2mHM1w0<_(W6Hq^(qucJRYyO z86#eeio%T>e*%DB{|CAhF@HlN3E)N&z>Oq;8%Y2+k^pWb0o+IexRC^KBMIO}62Ofl zfE!5wHY2zM)SK^6DB7oYc!f~LV?fT7>!1; zGVu_Ej38v<&S^9n18e@~ku#Ue1pr9DH4_Ly5PXqeiTO1k3E<|J6u5i$u3D{bXlPhl zTbr7iQmfT!wfg$?>vMB+01z5MO4I^ovzcL-iHV8I%1XUn|MBC;D_5?Jj*hmqwRLxQ z13+j5DN(;au)Djvxw&bzS}Q9nv$L};77ImDGMP-JQn4)iWzvv{)oQ(S=Z;)1uc)Y4 zUS6J^odtk`fp+tbq%*hDUH@#007%hlJ{x3I9#($aG5*s+0u0gJ^#5JYcpFFz(U zqSx#1-Mgn$D#ypi8HQVELwm6Q9>LF*2lhOVQNs|2elb4s5n3$N9l*Gq_n$aS{ zTTIbXUthmZGg^MhPvV~nNdPxt7V*P}4}W|ehbM4PU0hs@^aC0{2?+@aOG`_EHKToQ k^al|0Yd{jfP0S1Y5933eW<{81E&u=k07*qoM6N<$g17UlZ~y=R diff --git a/_s_p_p_8h__incl.map b/_s_p_p_8h__incl.map index 7364fb92..353d83f2 100644 --- a/_s_p_p_8h__incl.map +++ b/_s_p_p_8h__incl.map @@ -1,14 +1,4 @@ - - - - - - - - - - - - + + diff --git a/_s_p_p_8h__incl.md5 b/_s_p_p_8h__incl.md5 index 51fd7cd7..92c4aedb 100644 --- a/_s_p_p_8h__incl.md5 +++ b/_s_p_p_8h__incl.md5 @@ -1 +1 @@ -2a91c387635437451a0ae64cc99908a9 \ No newline at end of file +7a2283c4aaf9966c1076db5bf1388f90 \ No newline at end of file diff --git a/_s_p_p_8h__incl.png b/_s_p_p_8h__incl.png index eeeadd9ae77ae24070efba47ab15d9e974cf6461..607861da9b57b7f201140a558c620c3b6f2b105f 100644 GIT binary patch literal 3566 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 literal 84149 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 - + USB Host Shield 2.0: SPP.h Source File @@ -31,7 +31,7 @@ - + @@ -112,62 +112,62 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
21 #include "BTD.h"
22 
23 /* Bluetooth L2CAP states for SDP_task() */
-
24 #define L2CAP_SDP_WAIT 0
-
25 #define L2CAP_SDP_REQUEST 1
-
26 #define L2CAP_SDP_SUCCESS 2
-
27 #define L2CAP_SDP_DONE 3
-
28 #define L2CAP_DISCONNECT_RESPONSE 4
+
24 #define L2CAP_SDP_WAIT 0
+
25 #define L2CAP_SDP_REQUEST 1
+
26 #define L2CAP_SDP_SUCCESS 2
+
27 #define L2CAP_SDP_DONE 3
+
28 #define L2CAP_DISCONNECT_RESPONSE 4
29 
30 /* Bluetooth L2CAP states for RFCOMM_task() */
-
31 #define L2CAP_RFCOMM_WAIT 0
-
32 #define L2CAP_RFCOMM_REQUEST 1
-
33 #define L2CAP_RFCOMM_SUCCESS 2
-
34 #define L2CAP_RFCOMM_DONE 3
+
31 #define L2CAP_RFCOMM_WAIT 0
+
32 #define L2CAP_RFCOMM_REQUEST 1
+
33 #define L2CAP_RFCOMM_SUCCESS 2
+
34 #define L2CAP_RFCOMM_DONE 3
35 
36 /* L2CAP event flags */
-
37 #define L2CAP_FLAG_CONNECTION_SDP_REQUEST 0x001
-
38 #define L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST 0x002
-
39 #define L2CAP_FLAG_CONFIG_SDP_REQUEST 0x004
-
40 #define L2CAP_FLAG_CONFIG_RFCOMM_REQUEST 0x008
-
41 #define L2CAP_FLAG_CONFIG_SDP_SUCCESS 0x010
-
42 #define L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS 0x020
-
43 #define L2CAP_FLAG_DISCONNECT_SDP_REQUEST 0x040
-
44 #define L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST 0x080
-
45 #define L2CAP_FLAG_DISCONNECT_RESPONSE 0x100
+
37 #define L2CAP_FLAG_CONNECTION_SDP_REQUEST 0x001
+
38 #define L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST 0x002
+
39 #define L2CAP_FLAG_CONFIG_SDP_REQUEST 0x004
+
40 #define L2CAP_FLAG_CONFIG_RFCOMM_REQUEST 0x008
+
41 #define L2CAP_FLAG_CONFIG_SDP_SUCCESS 0x010
+
42 #define L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS 0x020
+
43 #define L2CAP_FLAG_DISCONNECT_SDP_REQUEST 0x040
+
44 #define L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST 0x080
+
45 #define L2CAP_FLAG_DISCONNECT_RESPONSE 0x100
46 
47 /* Macros for L2CAP event flag tests */
-
48 #define l2cap_connection_request_sdp_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_SDP_REQUEST)
-
49 #define l2cap_connection_request_rfcomm_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST)
-
50 #define l2cap_config_request_sdp_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_SDP_REQUEST)
-
51 #define l2cap_config_request_rfcomm_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_RFCOMM_REQUEST)
-
52 #define l2cap_config_success_sdp_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_SDP_SUCCESS)
-
53 #define l2cap_config_success_rfcomm_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS)
-
54 #define l2cap_disconnect_request_sdp_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_SDP_REQUEST)
-
55 #define l2cap_disconnect_request_rfcomm_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST)
-
56 #define l2cap_disconnect_response_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_RESPONSE)
+
48 #define l2cap_connection_request_sdp_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_SDP_REQUEST)
+
49 #define l2cap_connection_request_rfcomm_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_RFCOMM_REQUEST)
+
50 #define l2cap_config_request_sdp_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_SDP_REQUEST)
+
51 #define l2cap_config_request_rfcomm_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_RFCOMM_REQUEST)
+
52 #define l2cap_config_success_sdp_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_SDP_SUCCESS)
+
53 #define l2cap_config_success_rfcomm_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_RFCOMM_SUCCESS)
+
54 #define l2cap_disconnect_request_sdp_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_SDP_REQUEST)
+
55 #define l2cap_disconnect_request_rfcomm_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_RFCOMM_REQUEST)
+
56 #define l2cap_disconnect_response_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_RESPONSE)
57 
58 /* Used for SDP */
-
59 #define SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST_PDU 0x06 // See the RFCOMM specs
-
60 #define SDP_SERVICE_SEARCH_ATTRIBUTE_RESPONSE_PDU 0x07 // See the RFCOMM specs
-
61 #define SERIALPORT_UUID 0x1101 // See http://www.bluetooth.org/Technical/AssignedNumbers/service_discovery.htm
-
62 #define L2CAP_UUID 0x0100
+
59 #define SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST_PDU 0x06 // See the RFCOMM specs
+
60 #define SDP_SERVICE_SEARCH_ATTRIBUTE_RESPONSE_PDU 0x07 // See the RFCOMM specs
+
61 #define SERIALPORT_UUID 0x1101 // See http://www.bluetooth.org/Technical/AssignedNumbers/service_discovery.htm
+
62 #define L2CAP_UUID 0x0100
63 
64 /* Used for RFCOMM */
-
65 #define RFCOMM_SABM 0x2F
-
66 #define RFCOMM_UA 0x63
-
67 #define RFCOMM_UIH 0xEF
+
65 #define RFCOMM_SABM 0x2F
+
66 #define RFCOMM_UA 0x63
+
67 #define RFCOMM_UIH 0xEF
68 //#define RFCOMM_DM 0x0F
-
69 #define RFCOMM_DISC 0x43
+
69 #define RFCOMM_DISC 0x43
70 
-
71 #define extendAddress 0x01 // Always 1
+
71 #define extendAddress 0x01 // Always 1
72 
73 // Multiplexer message types
-
74 #define BT_RFCOMM_PN_CMD 0x83
-
75 #define BT_RFCOMM_PN_RSP 0x81
-
76 #define BT_RFCOMM_MSC_CMD 0xE3
-
77 #define BT_RFCOMM_MSC_RSP 0xE1
-
78 #define BT_RFCOMM_RPN_CMD 0x93
-
79 #define BT_RFCOMM_RPN_RSP 0x91
+
74 #define BT_RFCOMM_PN_CMD 0x83
+
75 #define BT_RFCOMM_PN_RSP 0x81
+
76 #define BT_RFCOMM_MSC_CMD 0xE3
+
77 #define BT_RFCOMM_MSC_RSP 0xE1
+
78 #define BT_RFCOMM_RPN_CMD 0x93
+
79 #define BT_RFCOMM_RPN_RSP 0x91
80 /*
81 #define BT_RFCOMM_TEST_CMD 0x23
82 #define BT_RFCOMM_TEST_RSP 0x21
@@ -180,14 +180,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
89 #define BT_RFCOMM_NSC_RSP 0x11
90  */
91 
-
93 class SPP : public BluetoothService, public Stream {
+
93 class SPP : public BluetoothService, public Stream {
94 public:
101  SPP(BTD *p, const char* name = "Arduino", const char* pin = "1234");
102 
-
107  operator bool() {
+
107  operator bool() {
108  return connected;
109  }
-
111  bool connected;
+
111  bool connected;
112 
118  virtual void ACLData(uint8_t* ACLData);
120  virtual void Run();
@@ -266,12 +266,29 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
230  uint8_t __crc(uint8_t* data);
231 };
232 #endif
+
virtual size_t write(uint8_t data)
Definition: SPP.cpp:739
+
Definition: BTD.h:156
+
virtual void flush(void)
Definition: SPP.cpp:784
+
bool connected
Definition: SPP.h:111
+
virtual int read(void)
Definition: SPP.cpp:794
+
virtual void Run()
Definition: SPP.cpp:417
+ +
virtual void Reset()
Definition: SPP.cpp:63
+
SPP(BTD *p, const char *name="Arduino", const char *pin="1234")
Definition: SPP.cpp:45
+
virtual int available(void)
Definition: SPP.cpp:780
+
#define BULK_MAXPKTSIZE
Definition: BTD.h:33
+
virtual void disconnect()
Definition: SPP.cpp:74
+
Definition: SPP.h:93
+
void send(void)
Definition: SPP.cpp:752
+ +
virtual void ACLData(uint8_t *ACLData)
Definition: SPP.cpp:86
+
virtual int peek(void)
Definition: SPP.cpp:788
diff --git a/_usb_8cpp.html b/_usb_8cpp.html index e53ba143..3729a798 100644 --- a/_usb_8cpp.html +++ b/_usb_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Usb.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -89,17 +89,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Usb.cpp File Reference
-
#include "avrpins.h"
-#include "max3421e.h"
-#include "usbhost.h"
-#include "Usb.h"
-#include "Arduino.h"
+
#include "Usb.h"
Include dependency graph for Usb.cpp:
- +

Go to the source code of this file.

@@ -108,7 +104,7 @@ Include dependency graph for Usb.cpp:
diff --git a/_usb_8cpp__incl.map b/_usb_8cpp__incl.map index b10575ac..7674471a 100644 --- a/_usb_8cpp__incl.map +++ b/_usb_8cpp__incl.map @@ -1,11 +1,3 @@ - - - - - - - - - + diff --git a/_usb_8cpp__incl.md5 b/_usb_8cpp__incl.md5 index 2d7acf72..e440b831 100644 --- a/_usb_8cpp__incl.md5 +++ b/_usb_8cpp__incl.md5 @@ -1 +1 @@ -2c4125af802552f99104380c37456b8e \ No newline at end of file +86d6ea84d3f0ddc03b2836246a892476 \ No newline at end of file diff --git a/_usb_8cpp__incl.png b/_usb_8cpp__incl.png index 60bb547476924d747ffb5f5a0dbea1e088317042..2969d6292f2713291f4811c1051ae6a1a7ffa12e 100644 GIT binary patch literal 2725 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 - + USB Host Shield 2.0: Usb.cpp Source File @@ -31,7 +31,7 @@
- + @@ -107,781 +107,930 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
16  */
17 /* USB functions */
18 
-
19 #include "avrpins.h"
-
20 #include "max3421e.h"
-
21 #include "usbhost.h"
-
22 #include "Usb.h"
+
19 #include "Usb.h"
+
20 
+
21 static uint8_t usb_error = 0;
+
22 static uint8_t usb_task_state;
23 
-
24 #if defined(ARDUINO) && ARDUINO >=100
-
25 #include "Arduino.h"
-
26 #else
-
27 #include <WProgram.h>
-
28 #endif
-
29 
-
30 static uint8_t usb_error = 0;
-
31 static uint8_t usb_task_state;
-
32 
-
33 /* constructor */
-
34 USB::USB() : bmHubPre(0) {
-
35  usb_task_state = USB_DETACHED_SUBSTATE_INITIALIZE; //set up state machine
-
36  init();
-
37 }
-
38 
-
39 /* Initialize data structures */
-
40 void USB::init() {
-
41  //devConfigIndex = 0;
-
42  bmHubPre = 0;
-
43 }
-
44 
-
45 uint8_t USB::getUsbTaskState(void) {
-
46  return ( usb_task_state);
-
47 }
-
48 
-
49 void USB::setUsbTaskState(uint8_t state) {
-
50  usb_task_state = state;
-
51 }
-
52 
-
53 EpInfo* USB::getEpInfoEntry(uint8_t addr, uint8_t ep) {
-
54  UsbDevice *p = addrPool.GetUsbDevicePtr(addr);
+
24 /* constructor */
+
25 USB::USB() : bmHubPre(0) {
+
26  usb_task_state = USB_DETACHED_SUBSTATE_INITIALIZE; //set up state machine
+
27  init();
+
28 }
+
29 
+
30 /* Initialize data structures */
+
31 void USB::init() {
+
32  //devConfigIndex = 0;
+
33  bmHubPre = 0;
+
34 }
+
35 
+
36 uint8_t USB::getUsbTaskState(void) {
+
37  return ( usb_task_state);
+
38 }
+
39 
+
40 void USB::setUsbTaskState(uint8_t state) {
+
41  usb_task_state = state;
+
42 }
+
43 
+
44 EpInfo* USB::getEpInfoEntry(uint8_t addr, uint8_t ep) {
+
45  UsbDevice *p = addrPool.GetUsbDevicePtr(addr);
+
46 
+
47  if (!p || !p->epinfo)
+
48  return NULL;
+
49 
+
50  EpInfo *pep = p->epinfo;
+
51 
+
52  for (uint8_t i = 0; i < p->epcount; i++) {
+
53  if ((pep)->epAddr == ep)
+
54  return pep;
55 
-
56  if (!p || !p->epinfo)
-
57  return NULL;
-
58 
-
59  EpInfo *pep = p->epinfo;
+
56  pep++;
+
57  }
+
58  return NULL;
+
59 }
60 
-
61  for (uint8_t i = 0; i < p->epcount; i++) {
-
62  if ((pep)->epAddr == ep)
-
63  return pep;
-
64 
-
65  pep++;
-
66  }
-
67  return NULL;
-
68 }
+
61 /* set device table entry */
+
62 
+
63 /* each device is different and has different number of endpoints. This function plugs endpoint record structure, defined in application, to devtable */
+
64 uint8_t USB::setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo* eprecord_ptr) {
+
65  if (!eprecord_ptr)
+ +
67 
+
68  UsbDevice *p = addrPool.GetUsbDevicePtr(addr);
69 
-
70 /* set device table entry */
-
71 
-
72 /* each device is different and has different number of endpoints. This function plugs endpoint record structure, defined in application, to devtable */
-
73 uint8_t USB::setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo* eprecord_ptr) {
-
74  if (!eprecord_ptr)
- +
70  if (!p)
+ +
72 
+
73  p->address = addr;
+
74  p->epinfo = eprecord_ptr;
+
75  p->epcount = epcount;
76 
-
77  UsbDevice *p = addrPool.GetUsbDevicePtr(addr);
-
78 
-
79  if (!p)
- -
81 
-
82  p->address = addr;
-
83  p->epinfo = eprecord_ptr;
-
84  p->epcount = epcount;
+
77  return 0;
+
78 }
+
79 
+
80 uint8_t USB::SetAddress(uint8_t addr, uint8_t ep, EpInfo **ppep, uint16_t &nak_limit) {
+
81  UsbDevice *p = addrPool.GetUsbDevicePtr(addr);
+
82 
+
83  if (!p)
+
85 
-
86  return 0;
-
87 }
+
86  if (!p->epinfo)
+
88 
-
89 uint8_t USB::SetAddress(uint8_t addr, uint8_t ep, EpInfo **ppep, uint16_t &nak_limit) {
-
90  UsbDevice *p = addrPool.GetUsbDevicePtr(addr);
-
91 
-
92  if (!p)
- -
94 
-
95  if (!p->epinfo)
- -
97 
-
98  *ppep = getEpInfoEntry(addr, ep);
-
99 
-
100  if (!*ppep)
- -
102 
-
103  nak_limit = (0x0001UL << (((*ppep)->bmNakPower > USB_NAK_MAX_POWER) ? USB_NAK_MAX_POWER : (*ppep)->bmNakPower));
-
104  nak_limit--;
-
105  /*
-
106  USBTRACE2("\r\nAddress: ", addr);
-
107  USBTRACE2(" EP: ", ep);
-
108  USBTRACE2(" NAK Power: ",(*ppep)->bmNakPower);
-
109  USBTRACE2(" NAK Limit: ", nak_limit);
-
110  USBTRACE("\r\n");
-
111  */
-
112  regWr(rPERADDR, addr); //set peripheral address
+
89  *ppep = getEpInfoEntry(addr, ep);
+
90 
+
91  if (!*ppep)
+ +
93 
+
94  nak_limit = (0x0001UL << (((*ppep)->bmNakPower > USB_NAK_MAX_POWER) ? USB_NAK_MAX_POWER : (*ppep)->bmNakPower));
+
95  nak_limit--;
+
96  /*
+
97  USBTRACE2("\r\nAddress: ", addr);
+
98  USBTRACE2(" EP: ", ep);
+
99  USBTRACE2(" NAK Power: ",(*ppep)->bmNakPower);
+
100  USBTRACE2(" NAK Limit: ", nak_limit);
+
101  USBTRACE("\r\n");
+
102  */
+
103  regWr(rPERADDR, addr); //set peripheral address
+
104 
+
105  uint8_t mode = regRd(rMODE);
+
106 
+
107  //Serial.print("\r\nMode: ");
+
108  //Serial.println( mode, HEX);
+
109  //Serial.print("\r\nLS: ");
+
110  //Serial.println(p->lowspeed, HEX);
+
111 
+
112 
113 
-
114  uint8_t mode = regRd(rMODE);
-
115 
-
116  //Serial.print("\r\nMode: ");
-
117  //Serial.println( mode, HEX);
-
118  //Serial.print("\r\nLS: ");
-
119  //Serial.println(p->lowspeed, HEX);
-
120 
-
121 
-
122 
-
123  // Set bmLOWSPEED and bmHUBPRE in case of low-speed device, reset them otherwise
-
124  regWr(rMODE, (p->lowspeed) ? mode | bmLOWSPEED | bmHubPre : mode & ~(bmHUBPRE | bmLOWSPEED));
-
125 
-
126  return 0;
-
127 }
-
128 
-
129 /* Control transfer. Sets address, endpoint, fills control packet with necessary data, dispatches control packet, and initiates bulk IN transfer, */
-
130 /* depending on request. Actual requests are defined as inlines */
-
131 /* return codes: */
-
132 /* 00 = success */
-
133 
-
134 /* 01-0f = non-zero HRSLT */
-
135 uint8_t USB::ctrlReq(uint8_t addr, uint8_t ep, uint8_t bmReqType, uint8_t bRequest, uint8_t wValLo, uint8_t wValHi,
-
136  uint16_t wInd, uint16_t total, uint16_t nbytes, uint8_t* dataptr, USBReadParser *p) {
-
137  bool direction = false; //request direction, IN or OUT
-
138  uint8_t rcode;
-
139  SETUP_PKT setup_pkt;
-
140 
-
141  EpInfo *pep = NULL;
-
142  uint16_t nak_limit = 0;
-
143 
-
144  rcode = SetAddress(addr, ep, &pep, nak_limit);
-
145 
-
146  if (rcode)
-
147  return rcode;
-
148 
-
149  direction = ((bmReqType & 0x80) > 0);
-
150 
-
151  /* fill in setup packet */
-
152  setup_pkt.ReqType_u.bmRequestType = bmReqType;
-
153  setup_pkt.bRequest = bRequest;
-
154  setup_pkt.wVal_u.wValueLo = wValLo;
-
155  setup_pkt.wVal_u.wValueHi = wValHi;
-
156  setup_pkt.wIndex = wInd;
-
157  setup_pkt.wLength = total;
-
158 
-
159  bytesWr(rSUDFIFO, 8, (uint8_t*) & setup_pkt); //transfer to setup packet FIFO
-
160 
-
161  rcode = dispatchPkt(tokSETUP, ep, nak_limit); //dispatch packet
+
114  // Set bmLOWSPEED and bmHUBPRE in case of low-speed device, reset them otherwise
+
115  regWr(rMODE, (p->lowspeed) ? mode | bmLOWSPEED | bmHubPre : mode & ~(bmHUBPRE | bmLOWSPEED));
+
116 
+
117  return 0;
+
118 }
+
119 
+
120 /* Control transfer. Sets address, endpoint, fills control packet with necessary data, dispatches control packet, and initiates bulk IN transfer, */
+
121 /* depending on request. Actual requests are defined as inlines */
+
122 /* return codes: */
+
123 /* 00 = success */
+
124 
+
125 /* 01-0f = non-zero HRSLT */
+
126 uint8_t USB::ctrlReq(uint8_t addr, uint8_t ep, uint8_t bmReqType, uint8_t bRequest, uint8_t wValLo, uint8_t wValHi,
+
127  uint16_t wInd, uint16_t total, uint16_t nbytes, uint8_t* dataptr, USBReadParser *p) {
+
128  bool direction = false; //request direction, IN or OUT
+
129  uint8_t rcode;
+
130  SETUP_PKT setup_pkt;
+
131 
+
132  EpInfo *pep = NULL;
+
133  uint16_t nak_limit = 0;
+
134 
+
135  rcode = SetAddress(addr, ep, &pep, nak_limit);
+
136 
+
137  if (rcode)
+
138  return rcode;
+
139 
+
140  direction = ((bmReqType & 0x80) > 0);
+
141 
+
142  /* fill in setup packet */
+
143  setup_pkt.ReqType_u.bmRequestType = bmReqType;
+
144  setup_pkt.bRequest = bRequest;
+
145  setup_pkt.wVal_u.wValueLo = wValLo;
+
146  setup_pkt.wVal_u.wValueHi = wValHi;
+
147  setup_pkt.wIndex = wInd;
+
148  setup_pkt.wLength = total;
+
149 
+
150  bytesWr(rSUDFIFO, 8, (uint8_t*) & setup_pkt); //transfer to setup packet FIFO
+
151 
+
152  rcode = dispatchPkt(tokSETUP, ep, nak_limit); //dispatch packet
+
153 
+
154  if (rcode) //return HRSLT if not zero
+
155  return ( rcode);
+
156 
+
157  if (dataptr != NULL) //data stage, if present
+
158  {
+
159  if (direction) //IN transfer
+
160  {
+
161  uint16_t left = total;
162 
-
163  if (rcode) //return HRSLT if not zero
-
164  return ( rcode);
-
165 
-
166  if (dataptr != NULL) //data stage, if present
-
167  {
-
168  if (direction) //IN transfer
-
169  {
-
170  uint16_t left = total;
-
171 
-
172  pep->bmRcvToggle = 1; //bmRCVTOG1;
-
173 
-
174  while (left) {
-
175  // Bytes read into buffer
-
176  uint16_t read = nbytes;
-
177  //uint16_t read = (left<nbytes) ? left : nbytes;
-
178 
-
179  rcode = InTransfer(pep, nak_limit, &read, dataptr);
-
180  if (rcode == hrTOGERR) {
-
181  // yes, we flip it wrong here so that next time it is actually correct!
-
182  pep->bmRcvToggle = (regRd(rHRSL) & bmSNDTOGRD) ? 0 : 1;
-
183  continue;
-
184  }
+
163  pep->bmRcvToggle = 1; //bmRCVTOG1;
+
164 
+
165  while (left) {
+
166  // Bytes read into buffer
+
167  uint16_t read = nbytes;
+
168  //uint16_t read = (left<nbytes) ? left : nbytes;
+
169 
+
170  rcode = InTransfer(pep, nak_limit, &read, dataptr);
+
171  if (rcode == hrTOGERR) {
+
172  // yes, we flip it wrong here so that next time it is actually correct!
+
173  pep->bmRcvToggle = (regRd(rHRSL) & bmSNDTOGRD) ? 0 : 1;
+
174  continue;
+
175  }
+
176 
+
177  if (rcode)
+
178  return rcode;
+
179 
+
180  // Invoke callback function if inTransfer completed successfully and callback function pointer is specified
+
181  if (!rcode && p)
+
182  ((USBReadParser*)p)->Parse(read, dataptr, total - left);
+
183 
+
184  left -= read;
185 
-
186  if (rcode)
-
187  return rcode;
-
188 
-
189  // Invoke callback function if inTransfer completed successfully and callback function pointer is specified
-
190  if (!rcode && p)
-
191  ((USBReadParser*)p)->Parse(read, dataptr, total - left);
-
192 
-
193  left -= read;
-
194 
-
195  if (read < nbytes)
-
196  break;
-
197  }
-
198  } else //OUT transfer
-
199  {
-
200  pep->bmSndToggle = 1; //bmSNDTOG1;
-
201  rcode = OutTransfer(pep, nak_limit, nbytes, dataptr);
-
202  }
-
203  if (rcode) //return error
-
204  return ( rcode);
-
205  }
-
206  // Status stage
-
207  return dispatchPkt((direction) ? tokOUTHS : tokINHS, ep, nak_limit); //GET if direction
-
208 }
+
186  if (read < nbytes)
+
187  break;
+
188  }
+
189  } else //OUT transfer
+
190  {
+
191  pep->bmSndToggle = 1; //bmSNDTOG1;
+
192  rcode = OutTransfer(pep, nak_limit, nbytes, dataptr);
+
193  }
+
194  if (rcode) //return error
+
195  return ( rcode);
+
196  }
+
197  // Status stage
+
198  return dispatchPkt((direction) ? tokOUTHS : tokINHS, ep, nak_limit); //GET if direction
+
199 }
+
200 
+
201 /* IN transfer to arbitrary endpoint. Assumes PERADDR is set. Handles multiple packets if necessary. Transfers 'nbytes' bytes. */
+
202 /* Keep sending INs and writes data to memory area pointed by 'data' */
+
203 
+
204 /* rcode 0 if no errors. rcode 01-0f is relayed from dispatchPkt(). Rcode f0 means RCVDAVIRQ error,
+
205  fe USB xfer timeout */
+
206 uint8_t USB::inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t* data) {
+
207  EpInfo *pep = NULL;
+
208  uint16_t nak_limit = 0;
209 
-
210 /* IN transfer to arbitrary endpoint. Assumes PERADDR is set. Handles multiple packets if necessary. Transfers 'nbytes' bytes. */
-
211 /* Keep sending INs and writes data to memory area pointed by 'data' */
-
212 
-
213 /* rcode 0 if no errors. rcode 01-0f is relayed from dispatchPkt(). Rcode f0 means RCVDAVIRQ error,
-
214  fe USB xfer timeout */
-
215 uint8_t USB::inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t* data) {
-
216  EpInfo *pep = NULL;
-
217  uint16_t nak_limit = 0;
+
210  uint8_t rcode = SetAddress(addr, ep, &pep, nak_limit);
+
211 
+
212  if (rcode) {
+
213  //printf("SetAddress Failed");
+
214  return rcode;
+
215  }
+
216  return InTransfer(pep, nak_limit, nbytesptr, data);
+
217 }
218 
-
219  uint8_t rcode = SetAddress(addr, ep, &pep, nak_limit);
-
220 
-
221  if (rcode) {
-
222  //printf("SetAddress Failed");
-
223  return rcode;
-
224  }
-
225  return InTransfer(pep, nak_limit, nbytesptr, data);
-
226 }
-
227 
-
228 uint8_t USB::InTransfer(EpInfo *pep, uint16_t nak_limit, uint16_t *nbytesptr, uint8_t* data) {
-
229  uint8_t rcode = 0;
-
230  uint8_t pktsize;
-
231 
-
232  uint16_t nbytes = *nbytesptr;
-
233  //printf("Requesting %i bytes ", nbytes);
-
234  uint8_t maxpktsize = pep->maxPktSize;
-
235 
-
236  *nbytesptr = 0;
-
237  regWr(rHCTL, (pep->bmRcvToggle) ? bmRCVTOG1 : bmRCVTOG0); //set toggle value
-
238 
-
239  while (1) // use a 'return' to exit this loop
-
240  {
-
241  rcode = dispatchPkt(tokIN, pep->epAddr, nak_limit); //IN packet to EP-'endpoint'. Function takes care of NAKS.
-
242  if (rcode == hrTOGERR) {
-
243  // yes, we flip it wrong here so that next time it is actually correct!
-
244  pep->bmRcvToggle = (regRd(rHRSL) & bmSNDTOGRD) ? 0 : 1;
-
245  regWr(rHCTL, (pep->bmRcvToggle) ? bmRCVTOG1 : bmRCVTOG0); //set toggle value
-
246  continue;
-
247  }
-
248  if (rcode) {
-
249  //printf(">>>>>>>> Problem! dispatchPkt %2.2x\r\n", rcode);
-
250  break; //should be 0, indicating ACK. Else return error code.
-
251  }
-
252  /* check for RCVDAVIRQ and generate error if not present */
-
253  /* the only case when absence of RCVDAVIRQ makes sense is when toggle error occurred. Need to add handling for that */
-
254  if ((regRd(rHIRQ) & bmRCVDAVIRQ) == 0) {
-
255  //printf(">>>>>>>> Problem! NO RCVDAVIRQ!\r\n");
-
256  rcode = 0xf0; //receive error
-
257  break;
-
258  }
-
259  pktsize = regRd(rRCVBC); //number of received bytes
-
260  //printf("Got %i bytes \r\n", pktsize);
-
261  // This would be OK, but...
-
262  //assert(pktsize <= nbytes);
-
263  if (pktsize > nbytes) {
-
264  // This can happen. Use of assert on Arduino locks up the Arduino.
-
265  // So I will trim the value, and hope for the best.
-
266  //printf(">>>>>>>> Problem! Wanted %i bytes but got %i.\r\n", nbytes, pktsize);
-
267  pktsize = nbytes;
-
268  }
-
269 
-
270  int16_t mem_left = (int16_t)nbytes - *((int16_t*)nbytesptr);
-
271 
-
272  if (mem_left < 0)
-
273  mem_left = 0;
-
274 
-
275  data = bytesRd(rRCVFIFO, ((pktsize > mem_left) ? mem_left : pktsize), data);
-
276 
-
277  regWr(rHIRQ, bmRCVDAVIRQ); // Clear the IRQ & free the buffer
-
278  *nbytesptr += pktsize; // add this packet's byte count to total transfer length
-
279 
-
280  /* The transfer is complete under two conditions: */
-
281  /* 1. The device sent a short packet (L.T. maxPacketSize) */
-
282  /* 2. 'nbytes' have been transferred. */
-
283  if ((pktsize < maxpktsize) || (*nbytesptr >= nbytes)) // have we transferred 'nbytes' bytes?
-
284  {
-
285  // Save toggle value
-
286  pep->bmRcvToggle = ((regRd(rHRSL) & bmRCVTOGRD)) ? 1 : 0;
-
287  //printf("\r\n");
-
288  rcode = 0;
-
289  break;
-
290  } // if
-
291  } //while( 1 )
-
292  return ( rcode);
-
293 }
-
294 
-
295 /* OUT transfer to arbitrary endpoint. Handles multiple packets if necessary. Transfers 'nbytes' bytes. */
-
296 /* Handles NAK bug per Maxim Application Note 4000 for single buffer transfer */
-
297 
-
298 /* rcode 0 if no errors. rcode 01-0f is relayed from HRSL */
-
299 uint8_t USB::outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* data) {
-
300  EpInfo *pep = NULL;
-
301  uint16_t nak_limit = 0;
-
302 
-
303  uint8_t rcode = SetAddress(addr, ep, &pep, nak_limit);
-
304 
-
305  if (rcode)
-
306  return rcode;
+
219 uint8_t USB::InTransfer(EpInfo *pep, uint16_t nak_limit, uint16_t *nbytesptr, uint8_t* data) {
+
220  uint8_t rcode = 0;
+
221  uint8_t pktsize;
+
222 
+
223  uint16_t nbytes = *nbytesptr;
+
224  //printf("Requesting %i bytes ", nbytes);
+
225  uint8_t maxpktsize = pep->maxPktSize;
+
226 
+
227  *nbytesptr = 0;
+
228  regWr(rHCTL, (pep->bmRcvToggle) ? bmRCVTOG1 : bmRCVTOG0); //set toggle value
+
229 
+
230  while (1) // use a 'return' to exit this loop
+
231  {
+
232  rcode = dispatchPkt(tokIN, pep->epAddr, nak_limit); //IN packet to EP-'endpoint'. Function takes care of NAKS.
+
233  if (rcode == hrTOGERR) {
+
234  // yes, we flip it wrong here so that next time it is actually correct!
+
235  pep->bmRcvToggle = (regRd(rHRSL) & bmSNDTOGRD) ? 0 : 1;
+
236  regWr(rHCTL, (pep->bmRcvToggle) ? bmRCVTOG1 : bmRCVTOG0); //set toggle value
+
237  continue;
+
238  }
+
239  if (rcode) {
+
240  //printf(">>>>>>>> Problem! dispatchPkt %2.2x\r\n", rcode);
+
241  break; //should be 0, indicating ACK. Else return error code.
+
242  }
+
243  /* check for RCVDAVIRQ and generate error if not present */
+
244  /* the only case when absence of RCVDAVIRQ makes sense is when toggle error occurred. Need to add handling for that */
+
245  if ((regRd(rHIRQ) & bmRCVDAVIRQ) == 0) {
+
246  //printf(">>>>>>>> Problem! NO RCVDAVIRQ!\r\n");
+
247  rcode = 0xf0; //receive error
+
248  break;
+
249  }
+
250  pktsize = regRd(rRCVBC); //number of received bytes
+
251  //printf("Got %i bytes \r\n", pktsize);
+
252  // This would be OK, but...
+
253  //assert(pktsize <= nbytes);
+
254  if (pktsize > nbytes) {
+
255  // This can happen. Use of assert on Arduino locks up the Arduino.
+
256  // So I will trim the value, and hope for the best.
+
257  //printf(">>>>>>>> Problem! Wanted %i bytes but got %i.\r\n", nbytes, pktsize);
+
258  pktsize = nbytes;
+
259  }
+
260 
+
261  int16_t mem_left = (int16_t)nbytes - *((int16_t*)nbytesptr);
+
262 
+
263  if (mem_left < 0)
+
264  mem_left = 0;
+
265 
+
266  data = bytesRd(rRCVFIFO, ((pktsize > mem_left) ? mem_left : pktsize), data);
+
267 
+
268  regWr(rHIRQ, bmRCVDAVIRQ); // Clear the IRQ & free the buffer
+
269  *nbytesptr += pktsize; // add this packet's byte count to total transfer length
+
270 
+
271  /* The transfer is complete under two conditions: */
+
272  /* 1. The device sent a short packet (L.T. maxPacketSize) */
+
273  /* 2. 'nbytes' have been transferred. */
+
274  if ((pktsize < maxpktsize) || (*nbytesptr >= nbytes)) // have we transferred 'nbytes' bytes?
+
275  {
+
276  // Save toggle value
+
277  pep->bmRcvToggle = ((regRd(rHRSL) & bmRCVTOGRD)) ? 1 : 0;
+
278  //printf("\r\n");
+
279  rcode = 0;
+
280  break;
+
281  } // if
+
282  } //while( 1 )
+
283  return ( rcode);
+
284 }
+
285 
+
286 /* OUT transfer to arbitrary endpoint. Handles multiple packets if necessary. Transfers 'nbytes' bytes. */
+
287 /* Handles NAK bug per Maxim Application Note 4000 for single buffer transfer */
+
288 
+
289 /* rcode 0 if no errors. rcode 01-0f is relayed from HRSL */
+
290 uint8_t USB::outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* data) {
+
291  EpInfo *pep = NULL;
+
292  uint16_t nak_limit = 0;
+
293 
+
294  uint8_t rcode = SetAddress(addr, ep, &pep, nak_limit);
+
295 
+
296  if (rcode)
+
297  return rcode;
+
298 
+
299  return OutTransfer(pep, nak_limit, nbytes, data);
+
300 }
+
301 
+
302 uint8_t USB::OutTransfer(EpInfo *pep, uint16_t nak_limit, uint16_t nbytes, uint8_t *data) {
+
303  uint8_t rcode = hrSUCCESS, retry_count;
+
304  uint8_t *data_p = data; //local copy of the data pointer
+
305  uint16_t bytes_tosend, nak_count;
+
306  uint16_t bytes_left = nbytes;
307 
-
308  return OutTransfer(pep, nak_limit, nbytes, data);
-
309 }
-
310 
-
311 uint8_t USB::OutTransfer(EpInfo *pep, uint16_t nak_limit, uint16_t nbytes, uint8_t *data) {
-
312  uint8_t rcode = hrSUCCESS, retry_count;
-
313  uint8_t *data_p = data; //local copy of the data pointer
-
314  uint16_t bytes_tosend, nak_count;
-
315  uint16_t bytes_left = nbytes;
+
308  uint8_t maxpktsize = pep->maxPktSize;
+
309 
+
310  if (maxpktsize < 1 || maxpktsize > 64)
+ +
312 
+
313  unsigned long timeout = millis() + USB_XFER_TIMEOUT;
+
314 
+
315  regWr(rHCTL, (pep->bmSndToggle) ? bmSNDTOG1 : bmSNDTOG0); //set toggle value
316 
-
317  uint8_t maxpktsize = pep->maxPktSize;
-
318 
-
319  if (maxpktsize < 1 || maxpktsize > 64)
- -
321 
-
322  unsigned long timeout = millis() + USB_XFER_TIMEOUT;
-
323 
-
324  regWr(rHCTL, (pep->bmSndToggle) ? bmSNDTOG1 : bmSNDTOG0); //set toggle value
-
325 
-
326  while (bytes_left) {
-
327  retry_count = 0;
-
328  nak_count = 0;
-
329  bytes_tosend = (bytes_left >= maxpktsize) ? maxpktsize : bytes_left;
-
330  bytesWr(rSNDFIFO, bytes_tosend, data_p); //filling output FIFO
-
331  regWr(rSNDBC, bytes_tosend); //set number of bytes
-
332  regWr(rHXFR, (tokOUT | pep->epAddr)); //dispatch packet
-
333  while (!(regRd(rHIRQ) & bmHXFRDNIRQ)); //wait for the completion IRQ
-
334  regWr(rHIRQ, bmHXFRDNIRQ); //clear IRQ
-
335  rcode = (regRd(rHRSL) & 0x0f);
-
336 
-
337  while (rcode && (timeout > millis())) {
-
338  switch (rcode) {
-
339  case hrNAK:
-
340  nak_count++;
-
341  if (nak_limit && (nak_count == nak_limit))
-
342  goto breakout;
-
343  //return ( rcode);
-
344  break;
-
345  case hrTIMEOUT:
-
346  retry_count++;
-
347  if (retry_count == USB_RETRY_LIMIT)
-
348  goto breakout;
-
349  //return ( rcode);
-
350  break;
-
351  case hrTOGERR:
-
352  // yes, we flip it wrong here so that next time it is actually correct!
-
353  pep->bmSndToggle = (regRd(rHRSL) & bmSNDTOGRD) ? 0 : 1;
-
354  regWr(rHCTL, (pep->bmSndToggle) ? bmSNDTOG1 : bmSNDTOG0); //set toggle value
-
355  break;
-
356  default:
-
357  goto breakout;
-
358  }//switch( rcode
-
359 
-
360  /* process NAK according to Host out NAK bug */
-
361  regWr(rSNDBC, 0);
-
362  regWr(rSNDFIFO, *data_p);
-
363  regWr(rSNDBC, bytes_tosend);
-
364  regWr(rHXFR, (tokOUT | pep->epAddr)); //dispatch packet
-
365  while (!(regRd(rHIRQ) & bmHXFRDNIRQ)); //wait for the completion IRQ
-
366  regWr(rHIRQ, bmHXFRDNIRQ); //clear IRQ
-
367  rcode = (regRd(rHRSL) & 0x0f);
-
368  }//while( rcode && ....
-
369  bytes_left -= bytes_tosend;
-
370  data_p += bytes_tosend;
-
371  }//while( bytes_left...
-
372 breakout:
-
373 
-
374  pep->bmSndToggle = (regRd(rHRSL) & bmSNDTOGRD) ? 1 : 0; //bmSNDTOG1 : bmSNDTOG0; //update toggle
-
375  return ( rcode); //should be 0 in all cases
-
376 }
-
377 /* dispatch USB packet. Assumes peripheral address is set and relevant buffer is loaded/empty */
-
378 /* If NAK, tries to re-send up to nak_limit times */
-
379 /* If nak_limit == 0, do not count NAKs, exit after timeout */
-
380 /* If bus timeout, re-sends up to USB_RETRY_LIMIT times */
-
381 
-
382 /* return codes 0x00-0x0f are HRSLT( 0x00 being success ), 0xff means timeout */
-
383 uint8_t USB::dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit) {
-
384  unsigned long timeout = millis() + USB_XFER_TIMEOUT;
-
385  uint8_t tmpdata;
-
386  uint8_t rcode = hrSUCCESS;
-
387  uint8_t retry_count = 0;
-
388  uint16_t nak_count = 0;
-
389 
-
390  while (timeout > millis()) {
-
391  regWr(rHXFR, (token | ep)); //launch the transfer
- -
393 
-
394  while (timeout > millis()) //wait for transfer completion
-
395  {
-
396  tmpdata = regRd(rHIRQ);
-
397 
-
398  if (tmpdata & bmHXFRDNIRQ) {
-
399  regWr(rHIRQ, bmHXFRDNIRQ); //clear the interrupt
-
400  rcode = 0x00;
-
401  break;
-
402  }//if( tmpdata & bmHXFRDNIRQ
-
403 
-
404  }//while ( millis() < timeout
-
405 
-
406  //if (rcode != 0x00) //exit if timeout
-
407  // return ( rcode);
-
408 
-
409  rcode = (regRd(rHRSL) & 0x0f); //analyze transfer result
-
410 
-
411  switch (rcode) {
-
412  case hrNAK:
-
413  nak_count++;
-
414  if (nak_limit && (nak_count == nak_limit))
-
415  return (rcode);
-
416  break;
-
417  case hrTIMEOUT:
-
418  retry_count++;
-
419  if (retry_count == USB_RETRY_LIMIT)
-
420  return (rcode);
-
421  break;
-
422  default:
-
423  return (rcode);
-
424  }//switch( rcode
-
425 
-
426  }//while( timeout > millis()
-
427  return ( rcode);
-
428 }
+
317  while (bytes_left) {
+
318  retry_count = 0;
+
319  nak_count = 0;
+
320  bytes_tosend = (bytes_left >= maxpktsize) ? maxpktsize : bytes_left;
+
321  bytesWr(rSNDFIFO, bytes_tosend, data_p); //filling output FIFO
+
322  regWr(rSNDBC, bytes_tosend); //set number of bytes
+
323  regWr(rHXFR, (tokOUT | pep->epAddr)); //dispatch packet
+
324  while (!(regRd(rHIRQ) & bmHXFRDNIRQ)); //wait for the completion IRQ
+
325  regWr(rHIRQ, bmHXFRDNIRQ); //clear IRQ
+
326  rcode = (regRd(rHRSL) & 0x0f);
+
327 
+
328  while (rcode && (timeout > millis())) {
+
329  switch (rcode) {
+
330  case hrNAK:
+
331  nak_count++;
+
332  if (nak_limit && (nak_count == nak_limit))
+
333  goto breakout;
+
334  //return ( rcode);
+
335  break;
+
336  case hrTIMEOUT:
+
337  retry_count++;
+
338  if (retry_count == USB_RETRY_LIMIT)
+
339  goto breakout;
+
340  //return ( rcode);
+
341  break;
+
342  case hrTOGERR:
+
343  // yes, we flip it wrong here so that next time it is actually correct!
+
344  pep->bmSndToggle = (regRd(rHRSL) & bmSNDTOGRD) ? 0 : 1;
+
345  regWr(rHCTL, (pep->bmSndToggle) ? bmSNDTOG1 : bmSNDTOG0); //set toggle value
+
346  break;
+
347  default:
+
348  goto breakout;
+
349  }//switch( rcode
+
350 
+
351  /* process NAK according to Host out NAK bug */
+
352  regWr(rSNDBC, 0);
+
353  regWr(rSNDFIFO, *data_p);
+
354  regWr(rSNDBC, bytes_tosend);
+
355  regWr(rHXFR, (tokOUT | pep->epAddr)); //dispatch packet
+
356  while (!(regRd(rHIRQ) & bmHXFRDNIRQ)); //wait for the completion IRQ
+
357  regWr(rHIRQ, bmHXFRDNIRQ); //clear IRQ
+
358  rcode = (regRd(rHRSL) & 0x0f);
+
359  }//while( rcode && ....
+
360  bytes_left -= bytes_tosend;
+
361  data_p += bytes_tosend;
+
362  }//while( bytes_left...
+
363 breakout:
+
364 
+
365  pep->bmSndToggle = (regRd(rHRSL) & bmSNDTOGRD) ? 1 : 0; //bmSNDTOG1 : bmSNDTOG0; //update toggle
+
366  return ( rcode); //should be 0 in all cases
+
367 }
+
368 /* dispatch USB packet. Assumes peripheral address is set and relevant buffer is loaded/empty */
+
369 /* If NAK, tries to re-send up to nak_limit times */
+
370 /* If nak_limit == 0, do not count NAKs, exit after timeout */
+
371 /* If bus timeout, re-sends up to USB_RETRY_LIMIT times */
+
372 
+
373 /* return codes 0x00-0x0f are HRSLT( 0x00 being success ), 0xff means timeout */
+
374 uint8_t USB::dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit) {
+
375  unsigned long timeout = millis() + USB_XFER_TIMEOUT;
+
376  uint8_t tmpdata;
+
377  uint8_t rcode = hrSUCCESS;
+
378  uint8_t retry_count = 0;
+
379  uint16_t nak_count = 0;
+
380 
+
381  while (timeout > millis()) {
+
382  regWr(rHXFR, (token | ep)); //launch the transfer
+ +
384 
+
385  while (timeout > millis()) //wait for transfer completion
+
386  {
+
387  tmpdata = regRd(rHIRQ);
+
388 
+
389  if (tmpdata & bmHXFRDNIRQ) {
+
390  regWr(rHIRQ, bmHXFRDNIRQ); //clear the interrupt
+
391  rcode = 0x00;
+
392  break;
+
393  }//if( tmpdata & bmHXFRDNIRQ
+
394 
+
395  }//while ( millis() < timeout
+
396 
+
397  //if (rcode != 0x00) //exit if timeout
+
398  // return ( rcode);
+
399 
+
400  rcode = (regRd(rHRSL) & 0x0f); //analyze transfer result
+
401 
+
402  switch (rcode) {
+
403  case hrNAK:
+
404  nak_count++;
+
405  if (nak_limit && (nak_count == nak_limit))
+
406  return (rcode);
+
407  break;
+
408  case hrTIMEOUT:
+
409  retry_count++;
+
410  if (retry_count == USB_RETRY_LIMIT)
+
411  return (rcode);
+
412  break;
+
413  default:
+
414  return (rcode);
+
415  }//switch( rcode
+
416 
+
417  }//while( timeout > millis()
+
418  return ( rcode);
+
419 }
+
420 
+
421 /* USB main task. Performs enumeration/cleanup */
+
422 void USB::Task(void) //USB state machine
+
423 {
+
424  uint8_t rcode;
+
425  uint8_t tmpdata;
+
426  static unsigned long delay = 0;
+
427  //USB_DEVICE_DESCRIPTOR buf;
+
428  bool lowspeed = false;
429 
-
430 /* USB main task. Performs enumeration/cleanup */
-
431 void USB::Task(void) //USB state machine
-
432 {
-
433  uint8_t rcode;
-
434  uint8_t tmpdata;
-
435  static unsigned long delay = 0;
-
436  //USB_DEVICE_DESCRIPTOR buf;
-
437  bool lowspeed = false;
-
438 
-
439  MAX3421E::Task();
-
440 
-
441  tmpdata = getVbusState();
-
442 
-
443  /* modify USB task state if Vbus changed */
-
444  switch (tmpdata) {
-
445  case SE1: //illegal state
-
446  usb_task_state = USB_DETACHED_SUBSTATE_ILLEGAL;
-
447  lowspeed = false;
-
448  break;
-
449  case SE0: //disconnected
-
450  if ((usb_task_state & USB_STATE_MASK) != USB_STATE_DETACHED)
-
451  usb_task_state = USB_DETACHED_SUBSTATE_INITIALIZE;
-
452  lowspeed = false;
-
453  break;
-
454  case LSHOST:
-
455 
-
456  lowspeed = true;
-
457  //intentional fallthrough
-
458  case FSHOST: //attached
-
459  if ((usb_task_state & USB_STATE_MASK) == USB_STATE_DETACHED) {
-
460  delay = millis() + USB_SETTLE_DELAY;
-
461  usb_task_state = USB_ATTACHED_SUBSTATE_SETTLE;
-
462  }
-
463  break;
-
464  }// switch( tmpdata
-
465 
-
466  for (uint8_t i = 0; i < USB_NUMDEVICES; i++)
-
467  if (devConfig[i])
-
468  rcode = devConfig[i]->Poll();
-
469 
-
470  switch (usb_task_state) {
- -
472  init();
-
473 
-
474  for (uint8_t i = 0; i < USB_NUMDEVICES; i++)
-
475  if (devConfig[i])
-
476  rcode = devConfig[i]->Release();
-
477 
-
478  usb_task_state = USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE;
-
479  break;
-
480  case USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE: //just sit here
-
481  break;
-
482  case USB_DETACHED_SUBSTATE_ILLEGAL: //just sit here
-
483  break;
-
484  case USB_ATTACHED_SUBSTATE_SETTLE: //settle time for just attached device
-
485  if (delay < millis())
-
486  usb_task_state = USB_ATTACHED_SUBSTATE_RESET_DEVICE;
-
487  break;
- -
489  regWr(rHCTL, bmBUSRST); //issue bus reset
- -
491  break;
- -
493  if ((regRd(rHCTL) & bmBUSRST) == 0) {
-
494  tmpdata = regRd(rMODE) | bmSOFKAENAB; //start SOF generation
-
495  regWr(rMODE, tmpdata);
-
496  usb_task_state = USB_ATTACHED_SUBSTATE_WAIT_SOF;
-
497  //delay = millis() + 20; //20ms wait after reset per USB spec
-
498  }
-
499  break;
-
500  case USB_ATTACHED_SUBSTATE_WAIT_SOF: //todo: change check order
-
501  if (regRd(rHIRQ) & bmFRAMEIRQ) {
-
502  //when first SOF received _and_ 20ms has passed we can continue
-
503  /*
-
504  if (delay < millis()) //20ms passed
-
505  usb_task_state = USB_STATE_CONFIGURING;
-
506  */
-
507  usb_task_state = USB_ATTACHED_SUBSTATE_WAIT_RESET;
-
508  delay = millis() + 20;
-
509  }
-
510  break;
- -
512  if (delay < millis()) usb_task_state = USB_STATE_CONFIGURING;
-
513  break;
- -
515 
-
516  //Serial.print("\r\nConf.LS: ");
-
517  //Serial.println(lowspeed, HEX);
-
518 
-
519  rcode = Configuring(0, 0, lowspeed);
-
520 
-
521  if (rcode) {
- -
523  usb_error = rcode;
-
524  usb_task_state = USB_STATE_ERROR;
-
525  }
-
526  } else
-
527  usb_task_state = USB_STATE_RUNNING;
-
528  break;
-
529  case USB_STATE_RUNNING:
-
530  break;
-
531  case USB_STATE_ERROR:
-
532  //MAX3421E::Init();
-
533  break;
-
534  } // switch( usb_task_state )
-
535 }
-
536 
-
537 uint8_t USB::DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed) {
-
538  //uint8_t buf[12];
-
539  uint8_t rcode;
-
540  UsbDevice *p0 = NULL, *p = NULL;
+
430  MAX3421E::Task();
+
431 
+
432  tmpdata = getVbusState();
+
433 
+
434  /* modify USB task state if Vbus changed */
+
435  switch (tmpdata) {
+
436  case SE1: //illegal state
+
437  usb_task_state = USB_DETACHED_SUBSTATE_ILLEGAL;
+
438  lowspeed = false;
+
439  break;
+
440  case SE0: //disconnected
+
441  if ((usb_task_state & USB_STATE_MASK) != USB_STATE_DETACHED)
+
442  usb_task_state = USB_DETACHED_SUBSTATE_INITIALIZE;
+
443  lowspeed = false;
+
444  break;
+
445  case LSHOST:
+
446 
+
447  lowspeed = true;
+
448  //intentional fallthrough
+
449  case FSHOST: //attached
+
450  if ((usb_task_state & USB_STATE_MASK) == USB_STATE_DETACHED) {
+
451  delay = millis() + USB_SETTLE_DELAY;
+
452  usb_task_state = USB_ATTACHED_SUBSTATE_SETTLE;
+
453  }
+
454  break;
+
455  }// switch( tmpdata
+
456 
+
457  for (uint8_t i = 0; i < USB_NUMDEVICES; i++)
+
458  if (devConfig[i])
+
459  rcode = devConfig[i]->Poll();
+
460 
+
461  switch (usb_task_state) {
+ +
463  init();
+
464 
+
465  for (uint8_t i = 0; i < USB_NUMDEVICES; i++)
+
466  if (devConfig[i])
+
467  rcode = devConfig[i]->Release();
+
468 
+
469  usb_task_state = USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE;
+
470  break;
+
471  case USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE: //just sit here
+
472  break;
+
473  case USB_DETACHED_SUBSTATE_ILLEGAL: //just sit here
+
474  break;
+
475  case USB_ATTACHED_SUBSTATE_SETTLE: //settle time for just attached device
+
476  if (delay < millis())
+
477  usb_task_state = USB_ATTACHED_SUBSTATE_RESET_DEVICE;
+
478  else break; // don't fall through
+ +
480  regWr(rHCTL, bmBUSRST); //issue bus reset
+ +
482  break;
+ +
484  if ((regRd(rHCTL) & bmBUSRST) == 0) {
+
485  tmpdata = regRd(rMODE) | bmSOFKAENAB; //start SOF generation
+
486  regWr(rMODE, tmpdata);
+
487  usb_task_state = USB_ATTACHED_SUBSTATE_WAIT_SOF;
+
488  //delay = millis() + 20; //20ms wait after reset per USB spec
+
489  }
+
490  break;
+
491  case USB_ATTACHED_SUBSTATE_WAIT_SOF: //todo: change check order
+
492  if (regRd(rHIRQ) & bmFRAMEIRQ) {
+
493  //when first SOF received _and_ 20ms has passed we can continue
+
494  /*
+
495  if (delay < millis()) //20ms passed
+
496  usb_task_state = USB_STATE_CONFIGURING;
+
497  */
+
498  usb_task_state = USB_ATTACHED_SUBSTATE_WAIT_RESET;
+
499  delay = millis() + 20;
+
500  }
+
501  break;
+ +
503  if (delay < millis()) usb_task_state = USB_STATE_CONFIGURING;
+
504  else break; // don't fall through
+ +
506 
+
507  //Serial.print("\r\nConf.LS: ");
+
508  //Serial.println(lowspeed, HEX);
+
509 
+
510  rcode = Configuring(0, 0, lowspeed);
+
511 
+
512  if (rcode) {
+ +
514  usb_error = rcode;
+
515  usb_task_state = USB_STATE_ERROR;
+
516  }
+
517  } else
+
518  usb_task_state = USB_STATE_RUNNING;
+
519  break;
+
520  case USB_STATE_RUNNING:
+
521  break;
+
522  case USB_STATE_ERROR:
+
523  //MAX3421E::Init();
+
524  break;
+
525  } // switch( usb_task_state )
+
526 }
+
527 
+
528 uint8_t USB::DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed) {
+
529  //uint8_t buf[12];
+
530  uint8_t rcode;
+
531  UsbDevice *p0 = NULL, *p = NULL;
+
532 
+
533  // Get pointer to pseudo device with address 0 assigned
+
534  p0 = addrPool.GetUsbDevicePtr(0);
+
535 
+
536  if (!p0)
+ +
538 
+
539  if (!p0->epinfo)
+
541 
-
542  // Get pointer to pseudo device with address 0 assigned
-
543  p0 = addrPool.GetUsbDevicePtr(0);
-
544 
-
545  if (!p0)
- -
547 
-
548  if (!p0->epinfo)
- -
550 
-
551  p0->lowspeed = (lowspeed) ? true : false;
-
552 
-
553  // Allocate new address according to device class
-
554  uint8_t bAddress = addrPool.AllocAddress(parent, false, port);
-
555 
-
556  if (!bAddress)
- -
558 
-
559  p = addrPool.GetUsbDevicePtr(bAddress);
-
560 
-
561  if (!p)
- -
563 
-
564  p->lowspeed = lowspeed;
-
565 
-
566  // Assign new address to the device
-
567  rcode = setAddr(0, 0, bAddress);
-
568 
-
569  if (rcode) {
-
570  addrPool.FreeAddress(bAddress);
-
571  bAddress = 0;
-
572  return rcode;
-
573  }
-
574  return 0;
-
575 };
-
576 
-
577 uint8_t USB::AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, bool lowspeed) {
-
578  uint8_t rcode = 0;
-
579  //printf("AttemptConfig: parent = %i, port = %i\r\n", parent, port);
-
580 
-
581  rcode = devConfig[driver]->ConfigureDevice(parent, port, lowspeed);
- -
583  if (parent == 0) {
-
584  // Send a bus reset on the root interface.
-
585  regWr(rHCTL, bmBUSRST); //issue bus reset
-
586  delay(102); // delay 102ms, compensate for clock inaccuracy.
-
587  } else {
-
588  // reset parent port
-
589  devConfig[parent]->ResetHubPort(port);
-
590  }
-
591  }
-
592  rcode = devConfig[driver]->Init(parent, port, lowspeed);
-
593  return rcode;
-
594 }
-
595 
-
596 /*
-
597  * This is broken. We need to enumerate differently.
-
598  * It causes major problems with several devices if detected in an unexpected order.
-
599  *
-
600  *
-
601  * Oleg - I wouldn't do anything before the newly connected device is considered sane.
-
602  * i.e.(delays are not indicated for brevity):
-
603  * 1. reset
-
604  * 2. GetDevDescr();
-
605  * 3a. If ACK, continue with allocating address, addressing, etc.
-
606  * 3b. Else reset again, count resets, stop at some number (5?).
-
607  * 4. When max.number of resets is reached, toggle power/fail
-
608  * 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()
-
609  * it doesn't need to be reset again
-
610  * New steps proposal:
-
611  * 1: get address pool instance. exit on fail
-
612  * 2: pUsb->getDevDescr(0, 0, constBufSize, (uint8_t*)buf). exit on fail.
-
613  * 3: bus reset, 100ms delay
-
614  * 4: set address
-
615  * 5: pUsb->setEpInfoEntry(bAddress, 1, epInfo), exit on fail
-
616  * 6: while (configurations) {
-
617  * for(each configuration) {
-
618  * for (each driver) {
-
619  * 6a: Ask device if it likes configuration. Returns 0 on OK.
-
620  * If successful, the driver configured device.
-
621  * The driver now owns the endpoints, and takes over managing them.
-
622  * The following will need codes:
-
623  * Everything went well, instance consumed, exit with success.
-
624  * Instance already in use, ignore it, try next driver.
-
625  * Not a supported device, ignore it, try next driver.
-
626  * Not a supported configuration for this device, ignore it, try next driver.
-
627  * Could not configure device, fatal, exit with fail.
-
628  * }
-
629  * }
-
630  * }
-
631  * 7: for(each driver) {
-
632  * 7a: Ask device if it knows this VID/PID. Acts exactly like 6a, but using VID/PID
-
633  * 8: if we get here, no driver likes the device plugged in, so exit failure.
-
634  *
-
635  */
-
636 uint8_t USB::Configuring(uint8_t parent, uint8_t port, bool lowspeed) {
-
637  //uint8_t bAddress = 0;
-
638  //printf("Configuring: parent = %i, port = %i\r\n", parent, port);
-
639  uint8_t devConfigIndex;
-
640  uint8_t rcode = 0;
-
641  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
-
642  UsbDevice *p = NULL;
-
643  EpInfo *oldep_ptr = NULL;
-
644  EpInfo epInfo;
-
645 
-
646  epInfo.epAddr = 0;
-
647  epInfo.maxPktSize = 8;
-
648  epInfo.epAttribs = 0;
-
649  epInfo.bmNakPower = USB_NAK_MAX_POWER;
-
650 
-
651  delay(2000);
-
652  AddressPool &addrPool = GetAddressPool();
-
653  // Get pointer to pseudo device with address 0 assigned
-
654  p = addrPool.GetUsbDevicePtr(0);
-
655  if (!p) {
-
656  //printf("Configuring error: USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL\r\n");
- -
658  }
-
659 
-
660  // Save old pointer to EP_RECORD of address 0
-
661  oldep_ptr = p->epinfo;
-
662 
-
663  // Temporary assign new pointer to epInfo to p->epinfo in order to
-
664  // avoid toggle inconsistence
-
665 
-
666  p->epinfo = &epInfo;
-
667 
-
668  p->lowspeed = lowspeed;
-
669  // Get device descriptor
-
670  rcode = getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf);
-
671 
-
672  // Restore p->epinfo
-
673  p->epinfo = oldep_ptr;
-
674 
-
675  if (rcode) {
-
676  //printf("Configuring error: Can't get USB_DEVICE_DESCRIPTOR\r\n");
-
677  return rcode;
-
678  }
-
679 
-
680  // to-do?
-
681  // Allocate new address according to device class
-
682  //bAddress = addrPool.AllocAddress(parent, false, port);
-
683 
-
684  //if (!bAddress)
-
685  // return USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL;
-
686 
-
687  uint16_t vid = (uint16_t)((USB_DEVICE_DESCRIPTOR*)buf)->idVendor;
-
688  uint16_t pid = (uint16_t)((USB_DEVICE_DESCRIPTOR*)buf)->idProduct;
-
689  uint8_t klass = ((USB_DEVICE_DESCRIPTOR*)buf)->bDeviceClass;
+
542  p0->lowspeed = (lowspeed) ? true : false;
+
543 
+
544  // Allocate new address according to device class
+
545  uint8_t bAddress = addrPool.AllocAddress(parent, false, port);
+
546 
+
547  if (!bAddress)
+ +
549 
+
550  p = addrPool.GetUsbDevicePtr(bAddress);
+
551 
+
552  if (!p)
+ +
554 
+
555  p->lowspeed = lowspeed;
+
556 
+
557  // Assign new address to the device
+
558  rcode = setAddr(0, 0, bAddress);
+
559 
+
560  if (rcode) {
+
561  addrPool.FreeAddress(bAddress);
+
562  bAddress = 0;
+
563  return rcode;
+
564  }
+
565  return 0;
+
566 };
+
567 
+
568 uint8_t USB::AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, bool lowspeed) {
+
569  //printf("AttemptConfig: parent = %i, port = %i\r\n", parent, port);
+
570 
+
571 again:
+
572  uint8_t rcode = devConfig[driver]->ConfigureDevice(parent, port, lowspeed);
+ +
574  if (parent == 0) {
+
575  // Send a bus reset on the root interface.
+
576  regWr(rHCTL, bmBUSRST); //issue bus reset
+
577  delay(102); // delay 102ms, compensate for clock inaccuracy.
+
578  } else {
+
579  // reset parent port
+
580  devConfig[parent]->ResetHubPort(port);
+
581  }
+
582  } else if (rcode == hrJERR) { // Some devices returns this when plugged in - trying to initialize the device again usually works
+
583  delay(100);
+
584  goto again;
+
585  } else if (rcode)
+
586  return rcode;
+
587 
+
588  rcode = devConfig[driver]->Init(parent, port, lowspeed);
+
589  if (rcode == hrJERR) { // Some devices returns this when plugged in - trying to initialize the device again usually works
+
590  delay(100);
+
591  goto again;
+
592  }
+
593  if (rcode) {
+
594  // Issue a bus reset, because the device may be in a limbo state
+
595  if (parent == 0) {
+
596  // Send a bus reset on the root interface.
+
597  regWr(rHCTL, bmBUSRST); //issue bus reset
+
598  delay(102); // delay 102ms, compensate for clock inaccuracy.
+
599  } else {
+
600  // reset parent port
+
601  devConfig[parent]->ResetHubPort(port);
+
602  }
+
603  }
+
604  return rcode;
+
605 }
+
606 
+
607 /*
+
608  * This is broken. We need to enumerate differently.
+
609  * It causes major problems with several devices if detected in an unexpected order.
+
610  *
+
611  *
+
612  * Oleg - I wouldn't do anything before the newly connected device is considered sane.
+
613  * i.e.(delays are not indicated for brevity):
+
614  * 1. reset
+
615  * 2. GetDevDescr();
+
616  * 3a. If ACK, continue with allocating address, addressing, etc.
+
617  * 3b. Else reset again, count resets, stop at some number (5?).
+
618  * 4. When max.number of resets is reached, toggle power/fail
+
619  * 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()
+
620  * it doesn't need to be reset again
+
621  * New steps proposal:
+
622  * 1: get address pool instance. exit on fail
+
623  * 2: pUsb->getDevDescr(0, 0, constBufSize, (uint8_t*)buf). exit on fail.
+
624  * 3: bus reset, 100ms delay
+
625  * 4: set address
+
626  * 5: pUsb->setEpInfoEntry(bAddress, 1, epInfo), exit on fail
+
627  * 6: while (configurations) {
+
628  * for(each configuration) {
+
629  * for (each driver) {
+
630  * 6a: Ask device if it likes configuration. Returns 0 on OK.
+
631  * If successful, the driver configured device.
+
632  * The driver now owns the endpoints, and takes over managing them.
+
633  * The following will need codes:
+
634  * Everything went well, instance consumed, exit with success.
+
635  * Instance already in use, ignore it, try next driver.
+
636  * Not a supported device, ignore it, try next driver.
+
637  * Not a supported configuration for this device, ignore it, try next driver.
+
638  * Could not configure device, fatal, exit with fail.
+
639  * }
+
640  * }
+
641  * }
+
642  * 7: for(each driver) {
+
643  * 7a: Ask device if it knows this VID/PID. Acts exactly like 6a, but using VID/PID
+
644  * 8: if we get here, no driver likes the device plugged in, so exit failure.
+
645  *
+
646  */
+
647 uint8_t USB::Configuring(uint8_t parent, uint8_t port, bool lowspeed) {
+
648  //uint8_t bAddress = 0;
+
649  //printf("Configuring: parent = %i, port = %i\r\n", parent, port);
+
650  uint8_t devConfigIndex;
+
651  uint8_t rcode = 0;
+
652  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
+
653  UsbDevice *p = NULL;
+
654  EpInfo *oldep_ptr = NULL;
+
655  EpInfo epInfo;
+
656 
+
657  epInfo.epAddr = 0;
+
658  epInfo.maxPktSize = 8;
+
659  epInfo.epAttribs = 0;
+
660  epInfo.bmNakPower = USB_NAK_MAX_POWER;
+
661 
+
662  //delay(2000);
+
663  AddressPool &addrPool = GetAddressPool();
+
664  // Get pointer to pseudo device with address 0 assigned
+
665  p = addrPool.GetUsbDevicePtr(0);
+
666  if (!p) {
+
667  //printf("Configuring error: USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL\r\n");
+ +
669  }
+
670 
+
671  // Save old pointer to EP_RECORD of address 0
+
672  oldep_ptr = p->epinfo;
+
673 
+
674  // Temporary assign new pointer to epInfo to p->epinfo in order to
+
675  // avoid toggle inconsistence
+
676 
+
677  p->epinfo = &epInfo;
+
678 
+
679  p->lowspeed = lowspeed;
+
680  // Get device descriptor
+
681  rcode = getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf);
+
682 
+
683  // Restore p->epinfo
+
684  p->epinfo = oldep_ptr;
+
685 
+
686  if (rcode) {
+
687  //printf("Configuring error: Can't get USB_DEVICE_DESCRIPTOR\r\n");
+
688  return rcode;
+
689  }
690 
-
691  // Attempt to configure if VID/PID or device class matches with a driver
-
692  for (devConfigIndex = 0; devConfigIndex < USB_NUMDEVICES; devConfigIndex++) {
-
693  if (!devConfig[devConfigIndex]) continue; // no driver
-
694  if (devConfig[devConfigIndex]->GetAddress()) continue; // consumed
-
695  if (devConfig[devConfigIndex]->VIDPIDOK(vid, pid) || devConfig[devConfigIndex]->DEVCLASSOK(klass)) {
-
696  rcode = AttemptConfig(devConfigIndex, parent, port, lowspeed);
- -
698  break;
-
699  }
-
700  }
+
691  // to-do?
+
692  // Allocate new address according to device class
+
693  //bAddress = addrPool.AllocAddress(parent, false, port);
+
694 
+
695  //if (!bAddress)
+
696  // return USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL;
+
697 
+
698  uint16_t vid = (uint16_t)((USB_DEVICE_DESCRIPTOR*)buf)->idVendor;
+
699  uint16_t pid = (uint16_t)((USB_DEVICE_DESCRIPTOR*)buf)->idProduct;
+
700  uint8_t klass = ((USB_DEVICE_DESCRIPTOR*)buf)->bDeviceClass;
701 
-
702  if (devConfigIndex < USB_NUMDEVICES) {
-
703  return rcode;
-
704  }
-
705 
-
706 
-
707  // blindly attempt to configure
-
708  for (devConfigIndex = 0; devConfigIndex < USB_NUMDEVICES; devConfigIndex++) {
-
709  if (!devConfig[devConfigIndex]) continue;
-
710  if (devConfig[devConfigIndex]->GetAddress()) continue; // consumed
-
711  if (devConfig[devConfigIndex]->VIDPIDOK(vid, pid) || devConfig[devConfigIndex]->DEVCLASSOK(klass)) continue; // If this is true it means it must have returned USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED above
-
712  rcode = AttemptConfig(devConfigIndex, parent, port, lowspeed);
-
713 
-
714  //printf("ERROR ENUMERATING %2.2x\r\n", rcode);
- -
716  // in case of an error dev_index should be reset to 0
-
717  // in order to start from the very beginning the
-
718  // next time the program gets here
-
719  //if (rcode != USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE)
-
720  // devConfigIndex = 0;
-
721  return rcode;
-
722  }
-
723  }
-
724  // if we get here that means that the device class is not supported by any of registered classes
-
725  rcode = DefaultAddressing(parent, port, lowspeed);
-
726 
-
727  return rcode;
-
728 }
-
729 
-
730 uint8_t USB::ReleaseDevice(uint8_t addr) {
-
731  if (!addr)
-
732  return 0;
-
733 
-
734  for (uint8_t i = 0; i < USB_NUMDEVICES; i++) {
-
735  if(!devConfig[i]) continue;
-
736  if (devConfig[i]->GetAddress() == addr)
-
737  return devConfig[i]->Release();
-
738  }
-
739  return 0;
-
740 }
-
741 
-
742 #if 1
-
743 //get device descriptor
-
744 
-
745 uint8_t USB::getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr) {
-
746  return ( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, 0x00, USB_DESCRIPTOR_DEVICE, 0x0000, nbytes, nbytes, dataptr, NULL));
-
747 }
-
748 //get configuration descriptor
-
749 
-
750 uint8_t USB::getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t* dataptr) {
-
751  return ( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, conf, USB_DESCRIPTOR_CONFIGURATION, 0x0000, nbytes, nbytes, dataptr, NULL));
-
752 }
-
753 
-
754 uint8_t USB::getConfDescr(uint8_t addr, uint8_t ep, uint8_t conf, USBReadParser *p) {
-
755  const uint8_t bufSize = 64;
-
756  uint8_t buf[bufSize];
-
757 
-
758  uint8_t ret = getConfDescr(addr, ep, 8, conf, buf);
-
759 
-
760  if (ret)
-
761  return ret;
-
762 
-
763  uint16_t total = ((USB_CONFIGURATION_DESCRIPTOR*)buf)->wTotalLength;
+
702  // Attempt to configure if VID/PID or device class matches with a driver
+
703  for (devConfigIndex = 0; devConfigIndex < USB_NUMDEVICES; devConfigIndex++) {
+
704  if (!devConfig[devConfigIndex]) continue; // no driver
+
705  if (devConfig[devConfigIndex]->GetAddress()) continue; // consumed
+
706  if (devConfig[devConfigIndex]->VIDPIDOK(vid, pid) || devConfig[devConfigIndex]->DEVCLASSOK(klass)) {
+
707  rcode = AttemptConfig(devConfigIndex, parent, port, lowspeed);
+ +
709  break;
+
710  }
+
711  }
+
712 
+
713  if (devConfigIndex < USB_NUMDEVICES) {
+
714  return rcode;
+
715  }
+
716 
+
717 
+
718  // blindly attempt to configure
+
719  for (devConfigIndex = 0; devConfigIndex < USB_NUMDEVICES; devConfigIndex++) {
+
720  if (!devConfig[devConfigIndex]) continue;
+
721  if (devConfig[devConfigIndex]->GetAddress()) continue; // consumed
+
722  if (devConfig[devConfigIndex]->VIDPIDOK(vid, pid) || devConfig[devConfigIndex]->DEVCLASSOK(klass)) continue; // If this is true it means it must have returned USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED above
+
723  rcode = AttemptConfig(devConfigIndex, parent, port, lowspeed);
+
724 
+
725  //printf("ERROR ENUMERATING %2.2x\r\n", rcode);
+ +
727  // in case of an error dev_index should be reset to 0
+
728  // in order to start from the very beginning the
+
729  // next time the program gets here
+
730  //if (rcode != USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE)
+
731  // devConfigIndex = 0;
+
732  return rcode;
+
733  }
+
734  }
+
735  // if we get here that means that the device class is not supported by any of registered classes
+
736  rcode = DefaultAddressing(parent, port, lowspeed);
+
737 
+
738  return rcode;
+
739 }
+
740 
+
741 uint8_t USB::ReleaseDevice(uint8_t addr) {
+
742  if (!addr)
+
743  return 0;
+
744 
+
745  for (uint8_t i = 0; i < USB_NUMDEVICES; i++) {
+
746  if(!devConfig[i]) continue;
+
747  if (devConfig[i]->GetAddress() == addr)
+
748  return devConfig[i]->Release();
+
749  }
+
750  return 0;
+
751 }
+
752 
+
753 #if 1
+
754 //get device descriptor
+
755 
+
756 uint8_t USB::getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr) {
+
757  return ( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, 0x00, USB_DESCRIPTOR_DEVICE, 0x0000, nbytes, nbytes, dataptr, NULL));
+
758 }
+
759 //get configuration descriptor
+
760 
+
761 uint8_t USB::getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t* dataptr) {
+
762  return ( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, conf, USB_DESCRIPTOR_CONFIGURATION, 0x0000, nbytes, nbytes, dataptr, NULL));
+
763 }
764 
-
765  //USBTRACE2("\r\ntotal conf.size:", total);
-
766 
-
767  return ( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, conf, USB_DESCRIPTOR_CONFIGURATION, 0x0000, total, bufSize, buf, p));
-
768 }
-
769 
-
770 //get string descriptor
-
771 
-
772 uint8_t USB::getStrDescr(uint8_t addr, uint8_t ep, uint16_t ns, uint8_t index, uint16_t langid, uint8_t* dataptr) {
-
773  return ( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, index, USB_DESCRIPTOR_STRING, langid, ns, ns, dataptr, NULL));
-
774 }
-
775 //set address
-
776 
-
777 uint8_t USB::setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr) {
-
778  return ( ctrlReq(oldaddr, ep, bmREQ_SET, USB_REQUEST_SET_ADDRESS, newaddr, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL));
-
779 }
-
780 //set configuration
-
781 
-
782 uint8_t USB::setConf(uint8_t addr, uint8_t ep, uint8_t conf_value) {
-
783  return ( ctrlReq(addr, ep, bmREQ_SET, USB_REQUEST_SET_CONFIGURATION, conf_value, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL));
-
784 }
-
785 
-
786 #endif // defined(USB_METHODS_INLINE)
-
787 
+
765 /* 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
+
766  total length. The length of the first request can be shorter ( 4 bytes ), however, there are devices which won't work unless this length is set to 9 */
+
767 uint8_t USB::getConfDescr(uint8_t addr, uint8_t ep, uint8_t conf, USBReadParser *p) {
+
768  const uint8_t bufSize = 64;
+
769  uint8_t buf[bufSize];
+
770 
+
771  uint8_t ret = getConfDescr(addr, ep, 9, conf, buf);
+
772 
+
773  if (ret)
+
774  return ret;
+
775 
+
776  uint16_t total = ((USB_CONFIGURATION_DESCRIPTOR*)buf)->wTotalLength;
+
777 
+
778  //USBTRACE2("\r\ntotal conf.size:", total);
+
779 
+
780  return ( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, conf, USB_DESCRIPTOR_CONFIGURATION, 0x0000, total, bufSize, buf, p));
+
781 }
+
782 
+
783 //get string descriptor
+
784 
+
785 uint8_t USB::getStrDescr(uint8_t addr, uint8_t ep, uint16_t ns, uint8_t index, uint16_t langid, uint8_t* dataptr) {
+
786  return ( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, index, USB_DESCRIPTOR_STRING, langid, ns, ns, dataptr, NULL));
+
787 }
+
788 //set address
+
789 
+
790 uint8_t USB::setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr) {
+
791  return ( ctrlReq(oldaddr, ep, bmREQ_SET, USB_REQUEST_SET_ADDRESS, newaddr, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL));
+
792 }
+
793 //set configuration
+
794 
+
795 uint8_t USB::setConf(uint8_t addr, uint8_t ep, uint8_t conf_value) {
+
796  return ( ctrlReq(addr, ep, bmREQ_SET, USB_REQUEST_SET_CONFIGURATION, conf_value, 0x00, 0x0000, 0x0000, 0x0000, NULL, NULL));
+
797 }
+
798 
+
799 #endif // defined(USB_METHODS_INLINE)
+
800 
+
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
Definition: Usb.cpp:761
+
uint8_t bmRcvToggle
Definition: address.h:41
+ +
virtual uint8_t Poll()
Definition: UsbCore.h:110
+
#define USB_ERROR_EP_NOT_FOUND_IN_TBL
Definition: UsbCore.h:71
+
#define bmHUBPRE
Definition: max3421e.h:170
+
#define USB_ATTACHED_SUBSTATE_WAIT_RESET
Definition: UsbCore.h:98
+
#define FSHOST
Definition: max3421e.h:35
+
#define rHCTL
Definition: max3421e.h:179
+
EpInfo * epinfo
Definition: address.h:76
+
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+
uint8_t bmNakPower
Definition: address.h:42
+
EpInfo * getEpInfoEntry(uint8_t addr, uint8_t ep)
Definition: Usb.cpp:44
+ +
#define bmSOFKAENAB
Definition: max3421e.h:171
+
#define USB_DESCRIPTOR_STRING
Definition: usb_ch9.h:65
+
uint16_t wLength
Definition: UsbCore.h:140
+
#define USB_SETTLE_DELAY
Definition: UsbCore.h:81
+
#define USB_ATTACHED_SUBSTATE_SETTLE
Definition: UsbCore.h:94
+
void regWr(uint8_t reg, uint8_t data)
Definition: usbhost.h:106
+
#define bmRCVTOGRD
Definition: max3421e.h:204
+
#define USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE
Definition: UsbCore.h:62
+
#define USB_RETRY_LIMIT
Definition: UsbCore.h:80
+
#define USB_REQUEST_GET_DESCRIPTOR
Definition: usb_ch9.h:37
+
#define USB_DESCRIPTOR_DEVICE
Definition: usb_ch9.h:63
+
#define bmRCVTOG1
Definition: max3421e.h:186
+
#define USB_ERROR_INVALID_MAX_PKT_SIZE
Definition: UsbCore.h:70
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+
#define USB_STATE_DETACHED
Definition: UsbCore.h:90
+
#define USB_NUMDEVICES
Definition: UsbCore.h:83
+ +
#define rRCVBC
Definition: max3421e.h:45
+
#define hrJERR
Definition: max3421e.h:225
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)
Definition: UsbCore.h:108
+
#define hrSUCCESS
Definition: max3421e.h:212
+
#define USB_STATE_ERROR
Definition: UsbCore.h:103
+
uint8_t bmRequestType
Definition: UsbCore.h:121
+
#define bmSNDTOGRD
Definition: max3421e.h:205
+
uint8_t epAttribs
Definition: address.h:37
+
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)
Definition: Usb.cpp:126
+
#define USB_DESCRIPTOR_CONFIGURATION
Definition: usb_ch9.h:64
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
#define bmHXFRDNIRQ
Definition: max3421e.h:151
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
USB(void)
Definition: Usb.cpp:25
+
#define USB_STATE_RUNNING
Definition: UsbCore.h:102
+ +
uint8_t epAddr
Definition: address.h:33
+
#define rRCVFIFO
Definition: max3421e.h:42
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)
Definition: address.h:174
+
uint16_t wIndex
Definition: UsbCore.h:139
+
#define bmBUSRST
Definition: max3421e.h:181
+
#define tokOUT
Definition: max3421e.h:195
+
#define tokIN
Definition: max3421e.h:194
+
#define LSHOST
Definition: max3421e.h:36
+
#define USB_XFER_TIMEOUT
Definition: UsbCore.h:78
+
Definition: address.h:32
+
#define rMODE
Definition: max3421e.h:165
+
void setUsbTaskState(uint8_t state)
Definition: Usb.cpp:40
+
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:290
+
#define hrNAK
Definition: max3421e.h:216
+
#define bmREQ_GET_DESCR
Definition: UsbCore.h:31
+
#define rSNDBC
Definition: max3421e.h:46
+
#define rHRSL
Definition: max3421e.h:201
+
#define USB_ATTACHED_SUBSTATE_RESET_DEVICE
Definition: UsbCore.h:95
+
#define tokINHS
Definition: max3421e.h:196
+
#define bmLOWSPEED
Definition: max3421e.h:169
+
virtual void ResetHubPort(uint8_t port)
Definition: UsbCore.h:112
+
uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t *dataptr)
Definition: Usb.cpp:785
+
#define USB_REQUEST_SET_ADDRESS
Definition: usb_ch9.h:36
+
union SETUP_PKT::@22 ReqType_u
+
#define tokSETUP
Definition: max3421e.h:193
+
uint8_t Task()
Definition: usbhost.h:335
+
#define rHXFR
Definition: max3421e.h:190
+
#define rHIRQ
Definition: max3421e.h:142
+
uint8_t bmSndToggle
Definition: address.h:40
+
#define rSNDFIFO
Definition: max3421e.h:43
+ +
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+ +
uint8_t * bytesWr(uint8_t reg, uint8_t nbytes, uint8_t *data_p)
Definition: usbhost.h:121
+
#define tokOUTHS
Definition: max3421e.h:197
+
uint8_t getUsbTaskState(void)
Definition: Usb.cpp:36
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
#define USB_STATE_MASK
Definition: UsbCore.h:88
+
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
void Task(void)
Definition: Usb.cpp:422
+
#define USB_DETACHED_SUBSTATE_ILLEGAL
Definition: UsbCore.h:93
+
#define hrTIMEOUT
Definition: max3421e.h:226
+
#define rPERADDR
Definition: max3421e.h:177
+
#define bmRCVDAVIRQ
Definition: max3421e.h:146
+
#define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE
Definition: UsbCore.h:96
+
#define bmRCVTOG0
Definition: max3421e.h:185
+
virtual boolean DEVCLASSOK(uint8_t klass)
Definition: UsbCore.h:114
+
uint8_t epcount
Definition: address.h:78
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
#define USB_STATE_CONFIGURING
Definition: UsbCore.h:101
+
uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit)
Definition: Usb.cpp:374
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: UsbCore.h:107
+
#define bmSNDTOG0
Definition: max3421e.h:187
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
#define USB_ERROR_INVALID_ARGUMENT
Definition: UsbCore.h:68
+
uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)
Definition: Usb.cpp:647
+
uint8_t address
Definition: address.h:77
+
uint8_t * bytesRd(uint8_t reg, uint8_t nbytes, uint8_t *data_p)
Definition: usbhost.h:165
+
uint8_t bRequest
Definition: UsbCore.h:129
+
#define SE0
Definition: max3421e.h:33
+
virtual void FreeAddress(uint8_t addr)
Definition: address.h:246
+
virtual uint8_t Release()
Definition: UsbCore.h:109
+
#define bmFRAMEIRQ
Definition: max3421e.h:150
+
#define hrTOGERR
Definition: max3421e.h:218
+
#define SE1
Definition: max3421e.h:34
+
#define rSUDFIFO
Definition: max3421e.h:44
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)
Definition: address.h:195
+
#define bmREQ_SET
Definition: UsbCore.h:32
+
#define USB_REQUEST_SET_CONFIGURATION
Definition: usb_ch9.h:40
+
union SETUP_PKT::@23 wVal_u
+
#define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE
Definition: UsbCore.h:92
+
uint8_t wValueHi
Definition: UsbCore.h:136
+
uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed)
Definition: Usb.cpp:528
+
#define USB_DETACHED_SUBSTATE_INITIALIZE
Definition: UsbCore.h:91
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
#define USB_ATTACHED_SUBSTATE_WAIT_SOF
Definition: UsbCore.h:97
+
uint8_t wValueLo
Definition: UsbCore.h:135
+
#define bmSNDTOG1
Definition: max3421e.h:188
+
uint8_t ReleaseDevice(uint8_t addr)
Definition: Usb.cpp:741
+
#define USB_ERROR_TRANSFER_TIMEOUT
Definition: UsbCore.h:76
+
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET
Definition: UsbCore.h:72
+
uint8_t getVbusState(void)
Definition: usbhost.h:81
+
uint8_t regRd(uint8_t reg)
Definition: usbhost.h:149
+ diff --git a/_usb_8h.html b/_usb_8h.html index fdd4c23d..b8a235b7 100644 --- a/_usb_8h.html +++ b/_usb_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Usb.h File Reference @@ -31,7 +31,7 @@ - + @@ -85,1073 +85,25 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
Usb.h File Reference
-
#include <inttypes.h>
-#include <assert.h>
-#include "avrpins.h"
-#include "max3421e.h"
-#include "usbhost.h"
-#include "usb_ch9.h"
-#include "address.h"
-#include "Arduino.h"
-#include "message.h"
-
-Include dependency graph for Usb.h:
-
-
- - -
-
+
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

- - - - - - - - - - -

-Classes

class  USBDeviceConfig
 
struct  SETUP_PKT
 
class  USBReadParser
 
class  USB
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Macros

#define USBTRACE(s)   (Notify(PSTR(s), 0x80))
 
#define USBTRACE2(s, r)   (Notify(PSTR(s), 0x80), D_PrintHex((r), 0x80), Notify(PSTR("\r\n"), 0x80))
 
#define bmREQ_GET_DESCR   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE
 
#define bmREQ_SET   USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE
 
#define bmREQ_CL_GET_INTF   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
 
#define USB_CLASS_USE_CLASS_INFO   0x00
 
#define USB_CLASS_AUDIO   0x01
 
#define USB_CLASS_COM_AND_CDC_CTRL   0x02
 
#define USB_CLASS_HID   0x03
 
#define USB_CLASS_PHYSICAL   0x05
 
#define USB_CLASS_IMAGE   0x06
 
#define USB_CLASS_PRINTER   0x07
 
#define USB_CLASS_MASS_STORAGE   0x08
 
#define USB_CLASS_HUB   0x09
 
#define USB_CLASS_CDC_DATA   0x0a
 
#define USB_CLASS_SMART_CARD   0x0b
 
#define USB_CLASS_CONTENT_SECURITY   0x0d
 
#define USB_CLASS_VIDEO   0x0e
 
#define USB_CLASS_PERSONAL_HEALTH   0x0f
 
#define USB_CLASS_DIAGNOSTIC_DEVICE   0xdc
 
#define USB_CLASS_WIRELESS_CTRL   0xe0
 
#define USB_CLASS_MISC   0xef
 
#define USB_CLASS_APP_SPECIFIC   0xfe
 
#define USB_CLASS_VENDOR_SPECIFIC   0xff
 
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED   0xD1
 
#define USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE   0xD2
 
#define USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS   0xD3
 
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL   0xD4
 
#define USB_ERROR_HUB_ADDRESS_OVERFLOW   0xD5
 
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL   0xD6
 
#define USB_ERROR_EPINFO_IS_NULL   0xD7
 
#define USB_ERROR_INVALID_ARGUMENT   0xD8
 
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE   0xD9
 
#define USB_ERROR_INVALID_MAX_PKT_SIZE   0xDA
 
#define USB_ERROR_EP_NOT_FOUND_IN_TBL   0xDB
 
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET   0xE0
 
#define USB_ERROR_FailGetDevDescr   0xE1
 
#define USB_ERROR_FailSetDevTblEntry   0xE2
 
#define USB_ERROR_FailGetConfDescr   0xE3
 
#define USB_ERROR_TRANSFER_TIMEOUT   0xFF
 
#define USB_XFER_TIMEOUT   10000
 
#define USB_RETRY_LIMIT   3
 
#define USB_SETTLE_DELAY   200
 
#define USB_NUMDEVICES   16
 
#define HUB_PORT_RESET_DELAY   20
 
#define USB_STATE_MASK   0xf0
 
#define USB_STATE_DETACHED   0x10
 
#define USB_DETACHED_SUBSTATE_INITIALIZE   0x11
 
#define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE   0x12
 
#define USB_DETACHED_SUBSTATE_ILLEGAL   0x13
 
#define USB_ATTACHED_SUBSTATE_SETTLE   0x20
 
#define USB_ATTACHED_SUBSTATE_RESET_DEVICE   0x30
 
#define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE   0x40
 
#define USB_ATTACHED_SUBSTATE_WAIT_SOF   0x50
 
#define USB_ATTACHED_SUBSTATE_WAIT_RESET   0x51
 
#define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE   0x60
 
#define USB_STATE_ADDRESSING   0x70
 
#define USB_STATE_CONFIGURING   0x80
 
#define USB_STATE_RUNNING   0x90
 
#define USB_STATE_ERROR   0xa0
 
- - - - - -

-Typedefs

typedef MAX3421e< P10, P9 > MAX3421E
 
typedef struct SETUP_PKTPSETUP_PKT
 
-

Macro Definition Documentation

- -
-
- - - - - - - - -
#define USBTRACE( s)   (Notify(PSTR(s), 0x80))
-
- -

Definition at line 62 of file Usb.h.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define USBTRACE2( s,
 
)   (Notify(PSTR(s), 0x80), D_PrintHex((r), 0x80), Notify(PSTR("\r\n"), 0x80))
-
- -

Definition at line 63 of file Usb.h.

- -
-
- -
-
- -

Definition at line 68 of file Usb.h.

- -
-
- -
-
- -

Definition at line 69 of file Usb.h.

- -
-
- -
-
- -

Definition at line 70 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_USE_CLASS_INFO   0x00
-
- -

Definition at line 77 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_AUDIO   0x01
-
- -

Definition at line 78 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_COM_AND_CDC_CTRL   0x02
-
- -

Definition at line 79 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_HID   0x03
-
- -

Definition at line 80 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_PHYSICAL   0x05
-
- -

Definition at line 81 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_IMAGE   0x06
-
- -

Definition at line 82 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_PRINTER   0x07
-
- -

Definition at line 83 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_MASS_STORAGE   0x08
-
- -

Definition at line 84 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_HUB   0x09
-
- -

Definition at line 85 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_CDC_DATA   0x0a
-
- -

Definition at line 86 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_SMART_CARD   0x0b
-
- -

Definition at line 87 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_CONTENT_SECURITY   0x0d
-
- -

Definition at line 88 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_VIDEO   0x0e
-
- -

Definition at line 89 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_PERSONAL_HEALTH   0x0f
-
- -

Definition at line 90 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_DIAGNOSTIC_DEVICE   0xdc
-
- -

Definition at line 91 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_WIRELESS_CTRL   0xe0
-
- -

Definition at line 92 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_MISC   0xef
-
- -

Definition at line 93 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_APP_SPECIFIC   0xfe
-
- -

Definition at line 94 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_CLASS_VENDOR_SPECIFIC   0xff
-
- -

Definition at line 95 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED   0xD1
-
- -

Definition at line 98 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE   0xD2
-
- -

Definition at line 99 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS   0xD3
-
- -

Definition at line 100 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL   0xD4
-
- -

Definition at line 101 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_HUB_ADDRESS_OVERFLOW   0xD5
-
- -

Definition at line 102 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL   0xD6
-
- -

Definition at line 103 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_EPINFO_IS_NULL   0xD7
-
- -

Definition at line 104 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_INVALID_ARGUMENT   0xD8
-
- -

Definition at line 105 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE   0xD9
-
- -

Definition at line 106 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_INVALID_MAX_PKT_SIZE   0xDA
-
- -

Definition at line 107 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_EP_NOT_FOUND_IN_TBL   0xDB
-
- -

Definition at line 108 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET   0xE0
-
- -

Definition at line 109 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_FailGetDevDescr   0xE1
-
- -

Definition at line 110 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_FailSetDevTblEntry   0xE2
-
- -

Definition at line 111 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_FailGetConfDescr   0xE3
-
- -

Definition at line 112 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ERROR_TRANSFER_TIMEOUT   0xFF
-
- -

Definition at line 113 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_XFER_TIMEOUT   10000
-
- -

Definition at line 115 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_RETRY_LIMIT   3
-
- -

Definition at line 117 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_SETTLE_DELAY   200
-
- -

Definition at line 118 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_NUMDEVICES   16
-
- -

Definition at line 120 of file Usb.h.

- -
-
- -
-
- - - - -
#define HUB_PORT_RESET_DELAY   20
-
- -

Definition at line 122 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_STATE_MASK   0xf0
-
- -

Definition at line 125 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_STATE_DETACHED   0x10
-
- -

Definition at line 127 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_DETACHED_SUBSTATE_INITIALIZE   0x11
-
- -

Definition at line 128 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE   0x12
-
- -

Definition at line 129 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_DETACHED_SUBSTATE_ILLEGAL   0x13
-
- -

Definition at line 130 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ATTACHED_SUBSTATE_SETTLE   0x20
-
- -

Definition at line 131 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ATTACHED_SUBSTATE_RESET_DEVICE   0x30
-
- -

Definition at line 132 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE   0x40
-
- -

Definition at line 133 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ATTACHED_SUBSTATE_WAIT_SOF   0x50
-
- -

Definition at line 134 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ATTACHED_SUBSTATE_WAIT_RESET   0x51
-
- -

Definition at line 135 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE   0x60
-
- -

Definition at line 136 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_STATE_ADDRESSING   0x70
-
- -

Definition at line 137 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_STATE_CONFIGURING   0x80
-
- -

Definition at line 138 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_STATE_RUNNING   0x90
-
- -

Definition at line 139 of file Usb.h.

- -
-
- -
-
- - - - -
#define USB_STATE_ERROR   0xa0
-
- -

Definition at line 140 of file Usb.h.

- -
-
-

Typedef Documentation

- -
-
- - - - -
typedef MAX3421e<P10, P9> MAX3421E
-
- -

Definition at line 58 of file Usb.h.

- -
-
- -
-
- - - - -
typedef struct SETUP_PKT * PSETUP_PKT
-
- -
-
diff --git a/_usb_8h__dep__incl.map b/_usb_8h__dep__incl.map index 648c7452..2b52c389 100644 --- a/_usb_8h__dep__incl.map +++ b/_usb_8h__dep__incl.map @@ -1,41 +1,43 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_usb_8h__dep__incl.md5 b/_usb_8h__dep__incl.md5 index c5752135..833515b2 100644 --- a/_usb_8h__dep__incl.md5 +++ b/_usb_8h__dep__incl.md5 @@ -1 +1 @@ -8b47ac69fdc8cd76f60660a6c29d05dd \ No newline at end of file +db0776ced886791ac6bd3116b722fcad \ No newline at end of file diff --git a/_usb_8h__dep__incl.png b/_usb_8h__dep__incl.png index a4409176d34595b967e29567b3cd71917a164cb3..c827447a18eafee4e810091139e698cd9b4d76bd 100644 GIT binary patch literal 102036 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

Fe=Yyh5QS= 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 literal 60108 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 R_bvN - + USB Host Shield 2.0: Usb.h Source File @@ -31,7 +31,7 @@

- + @@ -109,285 +109,44 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
18 #ifndef _usb_h_
19 #define _usb_h_
20 
-
21 //#define BOARD_BLACK_WIDDOW
-
22 
-
23 // Not used anymore?
-
24 //#define USB_METHODS_INLINE
+
21 // WARNING: Do not change the order of includes, or stuff will break!
+
22 #include <inttypes.h>
+
23 #include <stddef.h>
+
24 #include <stdio.h>
25 
-
26 #include <inttypes.h>
-
27 
-
28 #include <assert.h>
-
29 
-
30 #include "avrpins.h"
+
26 // None of these should ever be included by a driver, or a user's sketch.
+
27 #include "settings.h"
+
28 #include "printhex.h"
+
29 #include "message.h"
+
30 #include "hexdump.h"
31 #include "max3421e.h"
-
32 #include "usbhost.h"
-
33 #include "usb_ch9.h"
-
34 #include "address.h"
-
35 
-
36 #if defined(ARDUINO) && ARDUINO >=100
-
37 #include "Arduino.h"
-
38 #else
-
39 #include <WProgram.h>
-
40 #endif
-
41 #include "message.h"
-
42 
-
43 /* shield pins. First parameter - SS pin, second parameter - INT pin */
-
44 
-
45 #if defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
-
46 #define BOARD_TEENSY_PLUS_PLUS
-
47 #endif
-
48 
-
49 #ifdef BOARD_BLACK_WIDDOW
-
50 typedef MAX3421e<P6, P3> MAX3421E; // Black Widow
-
51 #elif defined(BOARD_TEENSY_PLUS_PLUS)
-
52 typedef MAX3421e<P9, P8> MAX3421E; // Teensy++ 2.0 & 1.0
-
53 #elif defined(BOARD_MEGA_ADK)
-
54 typedef MAX3421e<P53, P54> MAX3421E; // Arduino Mega ADK
-
55 #elif defined(BOARD_BALANDUINO)
-
56 typedef MAX3421e<P20, P19> MAX3421E; // Balanduino
-
57 #else
-
58 typedef MAX3421e<P10, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo etc.)
-
59 #endif
-
60 
-
61 //Debug macros. In 1.0 it is possible to move strings to PROGMEM by defining USBTRACE (USB_HOST_SERIAL.print(F(s)))
-
62 #define USBTRACE(s) (Notify(PSTR(s), 0x80))
-
63 #define USBTRACE2(s,r) (Notify(PSTR(s), 0x80), D_PrintHex((r), 0x80), Notify(PSTR("\r\n"), 0x80))
-
64 
-
65 
-
66 
-
67 /* Common setup data constant combinations */
-
68 #define bmREQ_GET_DESCR USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE //get descriptor request type
-
69 #define bmREQ_SET USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE //set request type for all but 'set feature' and 'set interface'
-
70 #define bmREQ_CL_GET_INTF USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE //get interface request type
-
71 
-
72 // D7 data transfer direction (0 - host-to-device, 1 - device-to-host)
-
73 // D6-5 Type (0- standard, 1 - class, 2 - vendor, 3 - reserved)
-
74 // D4-0 Recipient (0 - device, 1 - interface, 2 - endpoint, 3 - other, 4..31 - reserved)
-
75 
-
76 // USB Device Classes
-
77 #define USB_CLASS_USE_CLASS_INFO 0x00 // Use Class Info in the Interface Descriptors
-
78 #define USB_CLASS_AUDIO 0x01 // Audio
-
79 #define USB_CLASS_COM_AND_CDC_CTRL 0x02 // Communications and CDC Control
-
80 #define USB_CLASS_HID 0x03 // HID
-
81 #define USB_CLASS_PHYSICAL 0x05 // Physical
-
82 #define USB_CLASS_IMAGE 0x06 // Image
-
83 #define USB_CLASS_PRINTER 0x07 // Printer
-
84 #define USB_CLASS_MASS_STORAGE 0x08 // Mass Storage
-
85 #define USB_CLASS_HUB 0x09 // Hub
-
86 #define USB_CLASS_CDC_DATA 0x0a // CDC-Data
-
87 #define USB_CLASS_SMART_CARD 0x0b // Smart-Card
-
88 #define USB_CLASS_CONTENT_SECURITY 0x0d // Content Security
-
89 #define USB_CLASS_VIDEO 0x0e // Video
-
90 #define USB_CLASS_PERSONAL_HEALTH 0x0f // Personal Healthcare
-
91 #define USB_CLASS_DIAGNOSTIC_DEVICE 0xdc // Diagnostic Device
-
92 #define USB_CLASS_WIRELESS_CTRL 0xe0 // Wireless Controller
-
93 #define USB_CLASS_MISC 0xef // Miscellaneous
-
94 #define USB_CLASS_APP_SPECIFIC 0xfe // Application Specific
-
95 #define USB_CLASS_VENDOR_SPECIFIC 0xff // Vendor Specific
-
96 
-
97 // Additional Error Codes
-
98 #define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED 0xD1
-
99 #define USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE 0xD2
-
100 #define USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS 0xD3
-
101 #define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL 0xD4
-
102 #define USB_ERROR_HUB_ADDRESS_OVERFLOW 0xD5
-
103 #define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL 0xD6
-
104 #define USB_ERROR_EPINFO_IS_NULL 0xD7
-
105 #define USB_ERROR_INVALID_ARGUMENT 0xD8
-
106 #define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE 0xD9
-
107 #define USB_ERROR_INVALID_MAX_PKT_SIZE 0xDA
-
108 #define USB_ERROR_EP_NOT_FOUND_IN_TBL 0xDB
-
109 #define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET 0xE0
-
110 #define USB_ERROR_FailGetDevDescr 0xE1
-
111 #define USB_ERROR_FailSetDevTblEntry 0xE2
-
112 #define USB_ERROR_FailGetConfDescr 0xE3
-
113 #define USB_ERROR_TRANSFER_TIMEOUT 0xFF
-
114 
-
115 #define USB_XFER_TIMEOUT 10000 //30000 // (5000) USB transfer timeout in milliseconds, per section 9.2.6.1 of USB 2.0 spec
-
116 //#define USB_NAK_LIMIT 32000 //NAK limit for a transfer. 0 means NAKs are not counted
-
117 #define USB_RETRY_LIMIT 3 // 3 retry limit for a transfer
-
118 #define USB_SETTLE_DELAY 200 //settle delay in milliseconds
-
119 
-
120 #define USB_NUMDEVICES 16 //number of USB devices
-
121 //#define HUB_MAX_HUBS 7 // maximum number of hubs that can be attached to the host controller
-
122 #define HUB_PORT_RESET_DELAY 20 // hub port reset delay 10 ms recomended, can be up to 20 ms
-
123 
-
124 /* USB state machine states */
-
125 #define USB_STATE_MASK 0xf0
-
126 
-
127 #define USB_STATE_DETACHED 0x10
-
128 #define USB_DETACHED_SUBSTATE_INITIALIZE 0x11
-
129 #define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE 0x12
-
130 #define USB_DETACHED_SUBSTATE_ILLEGAL 0x13
-
131 #define USB_ATTACHED_SUBSTATE_SETTLE 0x20
-
132 #define USB_ATTACHED_SUBSTATE_RESET_DEVICE 0x30
-
133 #define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE 0x40
-
134 #define USB_ATTACHED_SUBSTATE_WAIT_SOF 0x50
-
135 #define USB_ATTACHED_SUBSTATE_WAIT_RESET 0x51
-
136 #define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE 0x60
-
137 #define USB_STATE_ADDRESSING 0x70
-
138 #define USB_STATE_CONFIGURING 0x80
-
139 #define USB_STATE_RUNNING 0x90
-
140 #define USB_STATE_ERROR 0xa0
-
141 
- -
143 public:
-
144  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed) { return 0; }
-
145  virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed) {return 0; }
-
146  virtual uint8_t Release() { return 0; }
-
147  virtual uint8_t Poll() { return 0; }
-
148  virtual uint8_t GetAddress() { return 0; }
-
149  virtual void ResetHubPort(uint8_t port) { return; } // Note used for hubs only!
-
150  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) { return false; }
-
151  virtual boolean DEVCLASSOK(uint8_t klass) { return false; }
-
152 };
-
153 
-
154 /* USB Setup Packet Structure */
-
155 typedef struct {
-
156 
-
157  union { // offset description
-
158  uint8_t bmRequestType; // 0 Bit-map of request type
-
159 
-
160  struct {
-
161  uint8_t recipient : 5; // Recipient of the request
-
162  uint8_t type : 2; // Type of request
-
163  uint8_t direction : 1; // Direction of data X-fer
-
164  } __attribute__((packed));
-
165  } ReqType_u;
-
166  uint8_t bRequest; // 1 Request
-
167 
-
168  union {
-
169  uint16_t wValue; // 2 Depends on bRequest
-
170 
-
171  struct {
-
172  uint8_t wValueLo;
-
173  uint8_t wValueHi;
-
174  } __attribute__((packed));
-
175  } wVal_u;
-
176  uint16_t wIndex; // 4 Depends on bRequest
-
177  uint16_t wLength; // 6 Depends on bRequest
-
178 } SETUP_PKT, *PSETUP_PKT __attribute__((packed));
-
179 
-
180 
-
181 
-
182 // Base class for incoming data parser
-
183 
- -
185 public:
-
186  virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset) = 0;
-
187 };
-
188 
-
189 class USB : public MAX3421E {
- -
191  USBDeviceConfig* devConfig[USB_NUMDEVICES];
-
192  //uint8_t devConfigIndex;
-
193  uint8_t bmHubPre;
-
194 
-
195 public:
-
196  USB(void);
-
197 
-
198  void SetHubPreMask() {
-
199  bmHubPre |= bmHUBPRE;
-
200  };
-
201 
- -
203  bmHubPre &= (~bmHUBPRE);
-
204  };
-
205 
- -
207  return(AddressPool&) addrPool;
-
208  };
-
209 
- -
211  for(uint8_t i = 0; i < USB_NUMDEVICES; i++) {
-
212  if(!devConfig[i]) {
-
213  devConfig[i] = pdev;
-
214  return 0;
-
215  }
-
216  }
- -
218  };
-
219 
- -
221  addrPool.ForEachUsbDevice(pfunc);
-
222  };
-
223  uint8_t getUsbTaskState(void);
-
224  void setUsbTaskState(uint8_t state);
-
225 
-
226  EpInfo* getEpInfoEntry(uint8_t addr, uint8_t ep);
-
227  uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo* eprecord_ptr);
-
228 
-
229  //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 nbytes, uint8_t* dataptr);
-
230 
-
231  /* Control requests */
-
232  uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr);
-
233  uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t* dataptr);
-
234 
-
235  uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint8_t conf, USBReadParser *p);
-
236 
-
237  uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t* dataptr);
-
238  uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr);
-
239  uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value);
-
240 
-
241  uint8_t ctrlData(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr, boolean direction);
-
242  uint8_t ctrlStatus(uint8_t ep, boolean direction, uint16_t nak_limit);
-
243  uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t* data);
-
244  uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* data);
-
245  uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit);
-
246 
-
247  void Task(void);
-
248 
-
249  uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed);
-
250  uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed);
-
251  uint8_t ReleaseDevice(uint8_t addr);
-
252 
-
253  uint8_t ctrlReq(uint8_t addr, uint8_t ep, uint8_t bmReqType, uint8_t bRequest, uint8_t wValLo, uint8_t wValHi,
-
254  uint16_t wInd, uint16_t total, uint16_t nbytes, uint8_t* dataptr, USBReadParser *p);
-
255 
-
256 private:
-
257  void init();
-
258  uint8_t SetAddress(uint8_t addr, uint8_t ep, EpInfo **ppep, uint16_t &nak_limit);
-
259  uint8_t OutTransfer(EpInfo *pep, uint16_t nak_limit, uint16_t nbytes, uint8_t *data);
-
260  uint8_t InTransfer(EpInfo *pep, uint16_t nak_limit, uint16_t *nbytesptr, uint8_t *data);
-
261  uint8_t AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, bool lowspeed);
-
262 };
-
263 
-
264 #if 0 //defined(USB_METHODS_INLINE)
-
265 //get device descriptor
-
266 
-
267 inline uint8_t USB::getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr) {
-
268  return( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, 0x00, USB_DESCRIPTOR_DEVICE, 0x0000, nbytes, dataptr));
-
269 }
-
270 //get configuration descriptor
-
271 
-
272 inline uint8_t USB::getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t* dataptr) {
-
273  return( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, conf, USB_DESCRIPTOR_CONFIGURATION, 0x0000, nbytes, dataptr));
-
274 }
-
275 //get string descriptor
-
276 
-
277 inline uint8_t USB::getStrDescr(uint8_t addr, uint8_t ep, uint16_t nuint8_ts, uint8_t index, uint16_t langid, uint8_t* dataptr) {
-
278  return( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, index, USB_DESCRIPTOR_STRING, langid, nuint8_ts, dataptr));
-
279 }
-
280 //set address
-
281 
-
282 inline uint8_t USB::setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr) {
-
283  return( ctrlReq(oldaddr, ep, bmREQ_SET, USB_REQUEST_SET_ADDRESS, newaddr, 0x00, 0x0000, 0x0000, NULL));
-
284 }
-
285 //set configuration
-
286 
-
287 inline uint8_t USB::setConf(uint8_t addr, uint8_t ep, uint8_t conf_value) {
-
288  return( ctrlReq(addr, ep, bmREQ_SET, USB_REQUEST_SET_CONFIGURATION, conf_value, 0x00, 0x0000, 0x0000, NULL));
-
289 }
-
290 
-
291 #endif // defined(USB_METHODS_INLINE)
-
292 
-
293 #endif //_usb_h_
+
32 #include "address.h"
+
33 #include "avrpins.h"
+
34 #include "usb_ch9.h"
+
35 #include "usbhost.h"
+
36 #include "UsbCore.h"
+
37 #include "parsetools.h"
+
38 #include "confdescparser.h"
+
39 
+
40 #endif //_usb_h_
+ + + + + + + + + + + +
diff --git a/_usb_core_8h.html b/_usb_core_8h.html new file mode 100644 index 00000000..ed66af96 --- /dev/null +++ b/_usb_core_8h.html @@ -0,0 +1,1084 @@ + + + + + + +USB Host Shield 2.0: UsbCore.h File Reference + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
UsbCore.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Classes

class  USBDeviceConfig
 
struct  SETUP_PKT
 
class  USBReadParser
 
class  USB
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define bmREQ_GET_DESCR   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE
 
#define bmREQ_SET   USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE
 
#define bmREQ_CL_GET_INTF   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
 
#define USB_CLASS_USE_CLASS_INFO   0x00
 
#define USB_CLASS_AUDIO   0x01
 
#define USB_CLASS_COM_AND_CDC_CTRL   0x02
 
#define USB_CLASS_HID   0x03
 
#define USB_CLASS_PHYSICAL   0x05
 
#define USB_CLASS_IMAGE   0x06
 
#define USB_CLASS_PRINTER   0x07
 
#define USB_CLASS_MASS_STORAGE   0x08
 
#define USB_CLASS_HUB   0x09
 
#define USB_CLASS_CDC_DATA   0x0a
 
#define USB_CLASS_SMART_CARD   0x0b
 
#define USB_CLASS_CONTENT_SECURITY   0x0d
 
#define USB_CLASS_VIDEO   0x0e
 
#define USB_CLASS_PERSONAL_HEALTH   0x0f
 
#define USB_CLASS_DIAGNOSTIC_DEVICE   0xdc
 
#define USB_CLASS_WIRELESS_CTRL   0xe0
 
#define USB_CLASS_MISC   0xef
 
#define USB_CLASS_APP_SPECIFIC   0xfe
 
#define USB_CLASS_VENDOR_SPECIFIC   0xff
 
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED   0xD1
 
#define USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE   0xD2
 
#define USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS   0xD3
 
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL   0xD4
 
#define USB_ERROR_HUB_ADDRESS_OVERFLOW   0xD5
 
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL   0xD6
 
#define USB_ERROR_EPINFO_IS_NULL   0xD7
 
#define USB_ERROR_INVALID_ARGUMENT   0xD8
 
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE   0xD9
 
#define USB_ERROR_INVALID_MAX_PKT_SIZE   0xDA
 
#define USB_ERROR_EP_NOT_FOUND_IN_TBL   0xDB
 
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET   0xE0
 
#define USB_ERROR_FailGetDevDescr   0xE1
 
#define USB_ERROR_FailSetDevTblEntry   0xE2
 
#define USB_ERROR_FailGetConfDescr   0xE3
 
#define USB_ERROR_TRANSFER_TIMEOUT   0xFF
 
#define USB_XFER_TIMEOUT   10000
 
#define USB_RETRY_LIMIT   3
 
#define USB_SETTLE_DELAY   200
 
#define USB_NUMDEVICES   16
 
#define HUB_PORT_RESET_DELAY   20
 
#define USB_STATE_MASK   0xf0
 
#define USB_STATE_DETACHED   0x10
 
#define USB_DETACHED_SUBSTATE_INITIALIZE   0x11
 
#define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE   0x12
 
#define USB_DETACHED_SUBSTATE_ILLEGAL   0x13
 
#define USB_ATTACHED_SUBSTATE_SETTLE   0x20
 
#define USB_ATTACHED_SUBSTATE_RESET_DEVICE   0x30
 
#define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE   0x40
 
#define USB_ATTACHED_SUBSTATE_WAIT_SOF   0x50
 
#define USB_ATTACHED_SUBSTATE_WAIT_RESET   0x51
 
#define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE   0x60
 
#define USB_STATE_ADDRESSING   0x70
 
#define USB_STATE_CONFIGURING   0x80
 
#define USB_STATE_RUNNING   0x90
 
#define USB_STATE_ERROR   0xa0
 
+ + + + + +

+Typedefs

typedef MAX3421e< P10, P9 > MAX3421E
 
typedef struct SETUP_PKTPSETUP_PKT
 
+

Macro Definition Documentation

+ +
+
+ +

Definition at line 31 of file UsbCore.h.

+ +
+
+ +
+
+ +

Definition at line 32 of file UsbCore.h.

+ +
+
+ +
+
+ +

Definition at line 33 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_USE_CLASS_INFO   0x00
+
+ +

Definition at line 40 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_AUDIO   0x01
+
+ +

Definition at line 41 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_COM_AND_CDC_CTRL   0x02
+
+ +

Definition at line 42 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_HID   0x03
+
+ +

Definition at line 43 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_PHYSICAL   0x05
+
+ +

Definition at line 44 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_IMAGE   0x06
+
+ +

Definition at line 45 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_PRINTER   0x07
+
+ +

Definition at line 46 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_MASS_STORAGE   0x08
+
+ +

Definition at line 47 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_HUB   0x09
+
+ +

Definition at line 48 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_CDC_DATA   0x0a
+
+ +

Definition at line 49 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_SMART_CARD   0x0b
+
+ +

Definition at line 50 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_CONTENT_SECURITY   0x0d
+
+ +

Definition at line 51 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_VIDEO   0x0e
+
+ +

Definition at line 52 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_PERSONAL_HEALTH   0x0f
+
+ +

Definition at line 53 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_DIAGNOSTIC_DEVICE   0xdc
+
+ +

Definition at line 54 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_WIRELESS_CTRL   0xe0
+
+ +

Definition at line 55 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_MISC   0xef
+
+ +

Definition at line 56 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_APP_SPECIFIC   0xfe
+
+ +

Definition at line 57 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_CLASS_VENDOR_SPECIFIC   0xff
+
+ +

Definition at line 58 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED   0xD1
+
+ +

Definition at line 61 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE   0xD2
+
+ +

Definition at line 62 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS   0xD3
+
+ +

Definition at line 63 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL   0xD4
+
+ +

Definition at line 64 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_HUB_ADDRESS_OVERFLOW   0xD5
+
+ +

Definition at line 65 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL   0xD6
+
+ +

Definition at line 66 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_EPINFO_IS_NULL   0xD7
+
+ +

Definition at line 67 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_INVALID_ARGUMENT   0xD8
+
+ +

Definition at line 68 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE   0xD9
+
+ +

Definition at line 69 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_INVALID_MAX_PKT_SIZE   0xDA
+
+ +

Definition at line 70 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_EP_NOT_FOUND_IN_TBL   0xDB
+
+ +

Definition at line 71 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET   0xE0
+
+ +

Definition at line 72 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_FailGetDevDescr   0xE1
+
+ +

Definition at line 73 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_FailSetDevTblEntry   0xE2
+
+ +

Definition at line 74 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_FailGetConfDescr   0xE3
+
+ +

Definition at line 75 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ERROR_TRANSFER_TIMEOUT   0xFF
+
+ +

Definition at line 76 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_XFER_TIMEOUT   10000
+
+ +

Definition at line 78 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_RETRY_LIMIT   3
+
+ +

Definition at line 80 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_SETTLE_DELAY   200
+
+ +

Definition at line 81 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_NUMDEVICES   16
+
+ +

Definition at line 83 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define HUB_PORT_RESET_DELAY   20
+
+ +

Definition at line 85 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_STATE_MASK   0xf0
+
+ +

Definition at line 88 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_STATE_DETACHED   0x10
+
+ +

Definition at line 90 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_DETACHED_SUBSTATE_INITIALIZE   0x11
+
+ +

Definition at line 91 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE   0x12
+
+ +

Definition at line 92 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_DETACHED_SUBSTATE_ILLEGAL   0x13
+
+ +

Definition at line 93 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ATTACHED_SUBSTATE_SETTLE   0x20
+
+ +

Definition at line 94 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ATTACHED_SUBSTATE_RESET_DEVICE   0x30
+
+ +

Definition at line 95 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE   0x40
+
+ +

Definition at line 96 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ATTACHED_SUBSTATE_WAIT_SOF   0x50
+
+ +

Definition at line 97 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ATTACHED_SUBSTATE_WAIT_RESET   0x51
+
+ +

Definition at line 98 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE   0x60
+
+ +

Definition at line 99 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_STATE_ADDRESSING   0x70
+
+ +

Definition at line 100 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_STATE_CONFIGURING   0x80
+
+ +

Definition at line 101 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_STATE_RUNNING   0x90
+
+ +

Definition at line 102 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
#define USB_STATE_ERROR   0xa0
+
+ +

Definition at line 103 of file UsbCore.h.

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef MAX3421e<P10, P9> MAX3421E
+
+ +

Definition at line 27 of file UsbCore.h.

+ +
+
+ +
+
+ + + + +
typedef struct SETUP_PKT * PSETUP_PKT
+
+ +
+
+
+ + + + diff --git a/_usb_core_8h_source.html b/_usb_core_8h_source.html new file mode 100644 index 00000000..6dcd7efe --- /dev/null +++ b/_usb_core_8h_source.html @@ -0,0 +1,417 @@ + + + + + + +USB Host Shield 2.0: UsbCore.h Source File + + + + + + + + + + +
+
+ + + + + + +
+
USB Host Shield 2.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
UsbCore.h
+
+
+Go to the documentation of this file.
1 /*
+
2  * File: UsbCore.h
+
3  * Author: xxxajk
+
4  *
+
5  * Created on September 29, 2013, 9:25 PM
+
6  */
+
7 
+
8 #if !defined(_usb_h_) || defined(USBCORE_H)
+
9 #error "Never include UsbCore.h directly; include Usb.h instead"
+
10 #else
+
11 #define USBCORE_H
+
12 
+
13 // Not used anymore? If anyone uses this, please let us know so that this may be
+
14 // moved to the proper place, settings.h.
+
15 //#define USB_METHODS_INLINE
+
16 
+
17 /* shield pins. First parameter - SS pin, second parameter - INT pin */
+
18 #ifdef BOARD_BLACK_WIDDOW
+
19 typedef MAX3421e<P6, P3> MAX3421E; // Black Widow
+
20 #elif defined(CORE_TEENSY) && (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__))
+
21 typedef MAX3421e<P9, P8> MAX3421E; // Teensy++ 1.0 and 2.0
+
22 #elif defined(BOARD_MEGA_ADK)
+
23 typedef MAX3421e<P53, P54> MAX3421E; // Arduino Mega ADK
+
24 #elif defined(ARDUINO_AVR_BALANDUINO)
+
25 typedef MAX3421e<P20, P19> MAX3421E; // Balanduino
+
26 #else
+
27 typedef MAX3421e<P10, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560, Leonardo etc.) or Teensy 2.0 and 3.0
+
28 #endif
+
29 
+
30 /* Common setup data constant combinations */
+
31 #define bmREQ_GET_DESCR USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE //get descriptor request type
+
32 #define bmREQ_SET USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE //set request type for all but 'set feature' and 'set interface'
+
33 #define bmREQ_CL_GET_INTF USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE //get interface request type
+
34 
+
35 // D7 data transfer direction (0 - host-to-device, 1 - device-to-host)
+
36 // D6-5 Type (0- standard, 1 - class, 2 - vendor, 3 - reserved)
+
37 // D4-0 Recipient (0 - device, 1 - interface, 2 - endpoint, 3 - other, 4..31 - reserved)
+
38 
+
39 // USB Device Classes
+
40 #define USB_CLASS_USE_CLASS_INFO 0x00 // Use Class Info in the Interface Descriptors
+
41 #define USB_CLASS_AUDIO 0x01 // Audio
+
42 #define USB_CLASS_COM_AND_CDC_CTRL 0x02 // Communications and CDC Control
+
43 #define USB_CLASS_HID 0x03 // HID
+
44 #define USB_CLASS_PHYSICAL 0x05 // Physical
+
45 #define USB_CLASS_IMAGE 0x06 // Image
+
46 #define USB_CLASS_PRINTER 0x07 // Printer
+
47 #define USB_CLASS_MASS_STORAGE 0x08 // Mass Storage
+
48 #define USB_CLASS_HUB 0x09 // Hub
+
49 #define USB_CLASS_CDC_DATA 0x0a // CDC-Data
+
50 #define USB_CLASS_SMART_CARD 0x0b // Smart-Card
+
51 #define USB_CLASS_CONTENT_SECURITY 0x0d // Content Security
+
52 #define USB_CLASS_VIDEO 0x0e // Video
+
53 #define USB_CLASS_PERSONAL_HEALTH 0x0f // Personal Healthcare
+
54 #define USB_CLASS_DIAGNOSTIC_DEVICE 0xdc // Diagnostic Device
+
55 #define USB_CLASS_WIRELESS_CTRL 0xe0 // Wireless Controller
+
56 #define USB_CLASS_MISC 0xef // Miscellaneous
+
57 #define USB_CLASS_APP_SPECIFIC 0xfe // Application Specific
+
58 #define USB_CLASS_VENDOR_SPECIFIC 0xff // Vendor Specific
+
59 
+
60 // Additional Error Codes
+
61 #define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED 0xD1
+
62 #define USB_DEV_CONFIG_ERROR_DEVICE_INIT_INCOMPLETE 0xD2
+
63 #define USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS 0xD3
+
64 #define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL 0xD4
+
65 #define USB_ERROR_HUB_ADDRESS_OVERFLOW 0xD5
+
66 #define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL 0xD6
+
67 #define USB_ERROR_EPINFO_IS_NULL 0xD7
+
68 #define USB_ERROR_INVALID_ARGUMENT 0xD8
+
69 #define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE 0xD9
+
70 #define USB_ERROR_INVALID_MAX_PKT_SIZE 0xDA
+
71 #define USB_ERROR_EP_NOT_FOUND_IN_TBL 0xDB
+
72 #define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET 0xE0
+
73 #define USB_ERROR_FailGetDevDescr 0xE1
+
74 #define USB_ERROR_FailSetDevTblEntry 0xE2
+
75 #define USB_ERROR_FailGetConfDescr 0xE3
+
76 #define USB_ERROR_TRANSFER_TIMEOUT 0xFF
+
77 
+
78 #define USB_XFER_TIMEOUT 10000 //30000 // (5000) USB transfer timeout in milliseconds, per section 9.2.6.1 of USB 2.0 spec
+
79 //#define USB_NAK_LIMIT 32000 //NAK limit for a transfer. 0 means NAKs are not counted
+
80 #define USB_RETRY_LIMIT 3 // 3 retry limit for a transfer
+
81 #define USB_SETTLE_DELAY 200 //settle delay in milliseconds
+
82 
+
83 #define USB_NUMDEVICES 16 //number of USB devices
+
84 //#define HUB_MAX_HUBS 7 // maximum number of hubs that can be attached to the host controller
+
85 #define HUB_PORT_RESET_DELAY 20 // hub port reset delay 10 ms recomended, can be up to 20 ms
+
86 
+
87 /* USB state machine states */
+
88 #define USB_STATE_MASK 0xf0
+
89 
+
90 #define USB_STATE_DETACHED 0x10
+
91 #define USB_DETACHED_SUBSTATE_INITIALIZE 0x11
+
92 #define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE 0x12
+
93 #define USB_DETACHED_SUBSTATE_ILLEGAL 0x13
+
94 #define USB_ATTACHED_SUBSTATE_SETTLE 0x20
+
95 #define USB_ATTACHED_SUBSTATE_RESET_DEVICE 0x30
+
96 #define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE 0x40
+
97 #define USB_ATTACHED_SUBSTATE_WAIT_SOF 0x50
+
98 #define USB_ATTACHED_SUBSTATE_WAIT_RESET 0x51
+
99 #define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE 0x60
+
100 #define USB_STATE_ADDRESSING 0x70
+
101 #define USB_STATE_CONFIGURING 0x80
+
102 #define USB_STATE_RUNNING 0x90
+
103 #define USB_STATE_ERROR 0xa0
+
104 
+ +
106 public:
+
107  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed) { return 0; }
+
108  virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed) {return 0; }
+
109  virtual uint8_t Release() { return 0; }
+
110  virtual uint8_t Poll() { return 0; }
+
111  virtual uint8_t GetAddress() { return 0; }
+
112  virtual void ResetHubPort(uint8_t port) { return; } // Note used for hubs only!
+
113  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) { return false; }
+
114  virtual boolean DEVCLASSOK(uint8_t klass) { return false; }
+
115 };
+
116 
+
117 /* USB Setup Packet Structure */
+
118 typedef struct {
+
119 
+
120  union { // offset description
+
121  uint8_t bmRequestType; // 0 Bit-map of request type
+
122 
+
123  struct {
+
124  uint8_t recipient : 5; // Recipient of the request
+
125  uint8_t type : 2; // Type of request
+
126  uint8_t direction : 1; // Direction of data X-fer
+
127  } __attribute__((packed));
+
128  } ReqType_u;
+
129  uint8_t bRequest; // 1 Request
+
130 
+
131  union {
+
132  uint16_t wValue; // 2 Depends on bRequest
+
133 
+
134  struct {
+
135  uint8_t wValueLo;
+
136  uint8_t wValueHi;
+
137  } __attribute__((packed));
+
138  } wVal_u;
+
139  uint16_t wIndex; // 4 Depends on bRequest
+
140  uint16_t wLength; // 6 Depends on bRequest
+
141 } SETUP_PKT, *PSETUP_PKT __attribute__((packed));
+
142 
+
143 
+
144 
+
145 // Base class for incoming data parser
+
146 
+ +
148 public:
+
149  virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset) = 0;
+
150 };
+
151 
+
152 class USB : public MAX3421E {
+ +
154  USBDeviceConfig* devConfig[USB_NUMDEVICES];
+
155  uint8_t bmHubPre;
+
156 
+
157 public:
+
158  USB(void);
+
159 
+
160  void SetHubPreMask() {
+
161  bmHubPre |= bmHUBPRE;
+
162  };
+
163 
+ +
165  bmHubPre &= (~bmHUBPRE);
+
166  };
+
167 
+ +
169  return(AddressPool&) addrPool;
+
170  };
+
171 
+ +
173  for(uint8_t i = 0; i < USB_NUMDEVICES; i++) {
+
174  if(!devConfig[i]) {
+
175  devConfig[i] = pdev;
+
176  return 0;
+
177  }
+
178  }
+ +
180  };
+
181 
+ +
183  addrPool.ForEachUsbDevice(pfunc);
+
184  };
+
185  uint8_t getUsbTaskState(void);
+
186  void setUsbTaskState(uint8_t state);
+
187 
+
188  EpInfo* getEpInfoEntry(uint8_t addr, uint8_t ep);
+
189  uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo* eprecord_ptr);
+
190 
+
191  /* Control requests */
+
192  uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr);
+
193  uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t* dataptr);
+
194 
+
195  uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint8_t conf, USBReadParser *p);
+
196 
+
197  uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t* dataptr);
+
198  uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr);
+
199  uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value);
+
200 
+
201  uint8_t ctrlData(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr, boolean direction);
+
202  uint8_t ctrlStatus(uint8_t ep, boolean direction, uint16_t nak_limit);
+
203  uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t* data);
+
204  uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* data);
+
205  uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit);
+
206 
+
207  void Task(void);
+
208 
+
209  uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed);
+
210  uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed);
+
211  uint8_t ReleaseDevice(uint8_t addr);
+
212 
+
213  uint8_t ctrlReq(uint8_t addr, uint8_t ep, uint8_t bmReqType, uint8_t bRequest, uint8_t wValLo, uint8_t wValHi,
+
214  uint16_t wInd, uint16_t total, uint16_t nbytes, uint8_t* dataptr, USBReadParser *p);
+
215 
+
216 private:
+
217  void init();
+
218  uint8_t SetAddress(uint8_t addr, uint8_t ep, EpInfo **ppep, uint16_t &nak_limit);
+
219  uint8_t OutTransfer(EpInfo *pep, uint16_t nak_limit, uint16_t nbytes, uint8_t *data);
+
220  uint8_t InTransfer(EpInfo *pep, uint16_t nak_limit, uint16_t *nbytesptr, uint8_t *data);
+
221  uint8_t AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, bool lowspeed);
+
222 };
+
223 
+
224 #if 0 //defined(USB_METHODS_INLINE)
+
225 //get device descriptor
+
226 
+
227 inline uint8_t USB::getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t* dataptr) {
+
228  return( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, 0x00, USB_DESCRIPTOR_DEVICE, 0x0000, nbytes, dataptr));
+
229 }
+
230 //get configuration descriptor
+
231 
+
232 inline uint8_t USB::getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t* dataptr) {
+
233  return( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, conf, USB_DESCRIPTOR_CONFIGURATION, 0x0000, nbytes, dataptr));
+
234 }
+
235 //get string descriptor
+
236 
+
237 inline uint8_t USB::getStrDescr(uint8_t addr, uint8_t ep, uint16_t nuint8_ts, uint8_t index, uint16_t langid, uint8_t* dataptr) {
+
238  return( ctrlReq(addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, index, USB_DESCRIPTOR_STRING, langid, nuint8_ts, dataptr));
+
239 }
+
240 //set address
+
241 
+
242 inline uint8_t USB::setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr) {
+
243  return( ctrlReq(oldaddr, ep, bmREQ_SET, USB_REQUEST_SET_ADDRESS, newaddr, 0x00, 0x0000, 0x0000, NULL));
+
244 }
+
245 //set configuration
+
246 
+
247 inline uint8_t USB::setConf(uint8_t addr, uint8_t ep, uint8_t conf_value) {
+
248  return( ctrlReq(addr, ep, bmREQ_SET, USB_REQUEST_SET_CONFIGURATION, conf_value, 0x00, 0x0000, 0x0000, NULL));
+
249 }
+
250 
+
251 #endif // defined(USB_METHODS_INLINE)
+
252 
+
253 #endif /* USBCORE_H */
+
254 
+
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
Definition: Usb.cpp:761
+ +
uint16_t wValue
Definition: UsbCore.h:132
+
virtual uint8_t Poll()
Definition: UsbCore.h:110
+
#define bmHUBPRE
Definition: max3421e.h:170
+
virtual uint8_t GetAddress()
Definition: UsbCore.h:111
+
EpInfo * getEpInfoEntry(uint8_t addr, uint8_t ep)
Definition: Usb.cpp:44
+
#define USB_DESCRIPTOR_STRING
Definition: usb_ch9.h:65
+
uint16_t wLength
Definition: UsbCore.h:140
+
virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset)=0
+ +
#define USB_REQUEST_GET_DESCRIPTOR
Definition: usb_ch9.h:37
+
#define USB_DESCRIPTOR_DEVICE
Definition: usb_ch9.h:63
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+
#define USB_NUMDEVICES
Definition: UsbCore.h:83
+ +
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)
Definition: UsbCore.h:108
+
uint8_t bmRequestType
Definition: UsbCore.h:121
+
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)
Definition: Usb.cpp:126
+
#define USB_DESCRIPTOR_CONFIGURATION
Definition: usb_ch9.h:64
+
void ResetHubPreMask()
Definition: UsbCore.h:164
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
uint8_t ctrlStatus(uint8_t ep, boolean direction, uint16_t nak_limit)
+
USB(void)
Definition: Usb.cpp:25
+
void(* UsbDeviceHandleFunc)(UsbDevice *pdev)
Definition: address.h:90
+
uint16_t wIndex
Definition: UsbCore.h:139
+
void SetHubPreMask()
Definition: UsbCore.h:160
+
Definition: address.h:32
+
void setUsbTaskState(uint8_t state)
Definition: Usb.cpp:40
+
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:290
+
#define bmREQ_GET_DESCR
Definition: UsbCore.h:31
+
virtual void ResetHubPort(uint8_t port)
Definition: UsbCore.h:112
+
#define USB_ERROR_UNABLE_TO_REGISTER_DEVICE_CLASS
Definition: UsbCore.h:63
+
uint8_t getStrDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t index, uint16_t langid, uint8_t *dataptr)
Definition: Usb.cpp:785
+
#define USB_REQUEST_SET_ADDRESS
Definition: usb_ch9.h:36
+
MAX3421e< P10, P9 > MAX3421E
Definition: UsbCore.h:27
+ + +
uint8_t getUsbTaskState(void)
Definition: Usb.cpp:36
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
void Task(void)
Definition: Usb.cpp:422
+ +
virtual boolean DEVCLASSOK(uint8_t klass)
Definition: UsbCore.h:114
+
void ForEachUsbDevice(UsbDeviceHandleFunc pfunc)
Definition: address.h:185
+
uint8_t ctrlData(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr, boolean direction)
+
uint8_t dispatchPkt(uint8_t token, uint8_t ep, uint16_t nak_limit)
Definition: Usb.cpp:374
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: UsbCore.h:107
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
uint8_t Configuring(uint8_t parent, uint8_t port, bool lowspeed)
Definition: Usb.cpp:647
+
Definition: UsbCore.h:152
+
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: UsbCore.h:113
+
uint8_t bRequest
Definition: UsbCore.h:129
+
virtual uint8_t Release()
Definition: UsbCore.h:109
+
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define bmREQ_SET
Definition: UsbCore.h:32
+
void ForEachUsbDevice(UsbDeviceHandleFunc pfunc)
Definition: UsbCore.h:182
+
#define USB_REQUEST_SET_CONFIGURATION
Definition: usb_ch9.h:40
+
uint8_t wValueHi
Definition: UsbCore.h:136
+
uint8_t DefaultAddressing(uint8_t parent, uint8_t port, bool lowspeed)
Definition: Usb.cpp:528
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
uint8_t wValueLo
Definition: UsbCore.h:135
+
uint8_t ReleaseDevice(uint8_t addr)
Definition: Usb.cpp:741
+
+ + + + diff --git a/_wii_8cpp.html b/_wii_8cpp.html index a1a39139..b2d8b346 100644 --- a/_wii_8cpp.html +++ b/_wii_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Wii.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -97,7 +97,7 @@ Include dependency graph for Wii.cpp:
- +

Go to the source code of this file.

@@ -216,7 +216,7 @@ Variables diff --git a/_wii_8cpp__incl.map b/_wii_8cpp__incl.map index 354b1e93..1603214f 100644 --- a/_wii_8cpp__incl.map +++ b/_wii_8cpp__incl.map @@ -1,16 +1,6 @@ - - - - - - - - - - - - - - + + + + diff --git a/_wii_8cpp__incl.md5 b/_wii_8cpp__incl.md5 index d1771f83..7b0c4e29 100644 --- a/_wii_8cpp__incl.md5 +++ b/_wii_8cpp__incl.md5 @@ -1 +1 @@ -12fdbbfcce1b39a1084ff516f4458fbd \ No newline at end of file +ea76bb891427717ec3bb9ab7b2d76881 \ No newline at end of file diff --git a/_wii_8cpp__incl.png b/_wii_8cpp__incl.png index 6f1bc0af93f8b2ab69334b1e7ebb5971574ca686..414bbbba7bc545ab7be416e55b0ff9d0a4b52ddd 100644 GIT binary patch literal 9229 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 literal 87748 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�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 - + USB Host Shield 2.0: Wii.cpp Source File @@ -31,7 +31,7 @@ - + @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
22 //#define EXTRADEBUG // Uncomment to get even more debugging data
23 //#define PRINTREPORT // Uncomment to print the report send by the Wii controllers
24 
-
25 const uint8_t LEDS[] PROGMEM = {
+
25 const uint8_t LEDS[] PROGMEM = {
26  0x10, // LED1
27  0x20, // LED2
28  0x40, // LED3
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
36  0xF0 // LED10
37 };
38 
-
39 const uint32_t BUTTONS[] PROGMEM = {
+
39 const uint32_t BUTTONS[] PROGMEM = {
40  0x00008, // UP
41  0x00002, // RIGHT
42  0x00004, // DOWN
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
55  0x00400, // B
56  0x00800 // A
57 };
-
58 const uint32_t PROCONTROLLERBUTTONS[] PROGMEM = {
+
58 const uint32_t PROCONTROLLERBUTTONS[] PROGMEM = {
59  0x00100, // UP
60  0x00080, // RIGHT
61  0x00040, // DOWN
@@ -172,7 +172,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
81  0x00400 // ZR
82 };
83 
-
84 WII::WII(BTD *p, bool pair) :
+
84 WII::WII(BTD *p, bool pair) :
85 pBtd(p) // pointer to USB class instance - mandatory
86 {
87  if (pBtd)
@@ -191,7 +191,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
100  Reset();
101 }
102 
-
103 void WII::Reset() {
+
103 void WII::Reset() {
104  wiimoteConnected = false;
105  nunchuckConnected = false;
106  motionPlusConnected = false;
@@ -205,7 +205,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
114  l2cap_state = L2CAP_WAIT;
115 }
116 
-
117 void WII::disconnect() { // Use this void to disconnect any of the controllers
+
117 void WII::disconnect() { // Use this void to disconnect any of the controllers
118  if (!motionPlusInside) { // The old Wiimote needs a delay after the first command or it will automatically reconnect
119  if (motionPlusConnected) {
120 #ifdef DEBUG_USB_HOST
@@ -222,7 +222,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
131  l2cap_state = L2CAP_INTERRUPT_DISCONNECT;
132 }
133 
-
134 void WII::ACLData(uint8_t* l2capinbuf) {
+
134 void WII::ACLData(uint8_t* l2capinbuf) {
135  if (!pBtd->l2capConnectionClaimed && pBtd->incomingWii && !wiimoteConnected && !activeConnection) {
136  if (l2capinbuf[8] == L2CAP_CMD_CONNECTION_REQUEST) {
137  if ((l2capinbuf[12] | (l2capinbuf[13] << 8)) == HID_CTRL_PSM) {
@@ -376,933 +376,1045 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
285  }
286  }
287  if (l2capinbuf[9] == 0x31 || l2capinbuf[9] == 0x33 || l2capinbuf[9] == 0x35 || l2capinbuf[9] == 0x37) { // Read the accelerometer
-
288  accX = ((l2capinbuf[12] << 2) | (l2capinbuf[10] & 0x60 >> 5)) - 500;
-
289  accY = ((l2capinbuf[13] << 2) | (l2capinbuf[11] & 0x20 >> 4)) - 500;
-
290  accZ = ((l2capinbuf[14] << 2) | (l2capinbuf[11] & 0x40 >> 5)) - 500;
-
291  wiimotePitch = (atan2(accY, accZ) + PI) * RAD_TO_DEG;
-
292  wiimoteRoll = (atan2(accX, accZ) + PI) * RAD_TO_DEG;
-
293  }
-
294  switch (l2capinbuf[9]) {
-
295  case 0x20: // Status Information - (a1) 20 BB BB LF 00 00 VV
-
296 #ifdef EXTRADEBUG
-
297  Notify(PSTR("\r\nStatus report was received"), 0x80);
-
298 #endif
-
299  wiiState = l2capinbuf[12]; // (0x01: Battery is nearly empty), (0x02: An Extension Controller is connected), (0x04: Speaker enabled), (0x08: IR enabled), (0x10: LED1, 0x20: LED2, 0x40: LED3, 0x80: LED4)
-
300  batteryLevel = l2capinbuf[15]; // Update battery level
-
301 #ifdef DEBUG_USB_HOST
-
302  if (l2capinbuf[12] & 0x01)
-
303  Notify(PSTR("\r\nWARNING: Battery is nearly empty"), 0x80);
-
304 #endif
-
305  if (checkExtension) { // If this is false it means that the user must have called getBatteryLevel()
-
306  if (l2capinbuf[12] & 0x02) { // Check if a extension is connected
-
307 #ifdef DEBUG_USB_HOST
-
308  if (!unknownExtensionConnected)
-
309  Notify(PSTR("\r\nExtension connected"), 0x80);
-
310 #endif
-
311  unknownExtensionConnected = true;
-
312 #ifdef WIICAMERA
-
313  if (!isIRCameraEnabled()) // Don't activate the Motion Plus if we are trying to initialize the IR camera
-
314 #endif
-
315  setReportMode(false, 0x35); // Also read the extension
-
316  } else {
-
317 #ifdef DEBUG_USB_HOST
-
318  Notify(PSTR("\r\nExtension disconnected"), 0x80);
-
319 #endif
-
320  if (motionPlusConnected) {
-
321 #ifdef DEBUG_USB_HOST
-
322  Notify(PSTR(" - from Motion Plus"), 0x80);
-
323 #endif
-
324  l2cap_event_flag &= ~WII_FLAG_NUNCHUCK_CONNECTED;
-
325  if (!activateNunchuck) // If it's already trying to initialize the Nunchuck don't set it to false
-
326  nunchuckConnected = false;
-
327  //else if(classicControllerConnected)
-
328  } else if (nunchuckConnected) {
-
329 #ifdef DEBUG_USB_HOST
-
330  Notify(PSTR(" - Nunchuck"), 0x80);
-
331 #endif
-
332  nunchuckConnected = false; // It must be the Nunchuck controller then
-
333  l2cap_event_flag &= ~WII_FLAG_NUNCHUCK_CONNECTED;
-
334  onInit();
+
288  accXwiimote = ((l2capinbuf[12] << 2) | (l2capinbuf[10] & 0x60 >> 5)) - 500;
+
289  accYwiimote = ((l2capinbuf[13] << 2) | (l2capinbuf[11] & 0x20 >> 4)) - 500;
+
290  accZwiimote = ((l2capinbuf[14] << 2) | (l2capinbuf[11] & 0x40 >> 5)) - 500;
+
291  }
+
292  switch (l2capinbuf[9]) {
+
293  case 0x20: // Status Information - (a1) 20 BB BB LF 00 00 VV
+
294 #ifdef EXTRADEBUG
+
295  Notify(PSTR("\r\nStatus report was received"), 0x80);
+
296 #endif
+
297  wiiState = l2capinbuf[12]; // (0x01: Battery is nearly empty), (0x02: An Extension Controller is connected), (0x04: Speaker enabled), (0x08: IR enabled), (0x10: LED1, 0x20: LED2, 0x40: LED3, 0x80: LED4)
+
298  batteryLevel = l2capinbuf[15]; // Update battery level
+
299 #ifdef DEBUG_USB_HOST
+
300  if (l2capinbuf[12] & 0x01)
+
301  Notify(PSTR("\r\nWARNING: Battery is nearly empty"), 0x80);
+
302 #endif
+
303  if (checkExtension) { // If this is false it means that the user must have called getBatteryLevel()
+
304  if (l2capinbuf[12] & 0x02) { // Check if a extension is connected
+
305 #ifdef DEBUG_USB_HOST
+
306  if (!unknownExtensionConnected)
+
307  Notify(PSTR("\r\nExtension connected"), 0x80);
+
308 #endif
+
309  unknownExtensionConnected = true;
+
310 #ifdef WIICAMERA
+
311  if (!isIRCameraEnabled()) // Don't activate the Motion Plus if we are trying to initialize the IR camera
+
312 #endif
+
313  setReportMode(false, 0x35); // Also read the extension
+
314  } else {
+
315 #ifdef DEBUG_USB_HOST
+
316  Notify(PSTR("\r\nExtension disconnected"), 0x80);
+
317 #endif
+
318  if (motionPlusConnected) {
+
319 #ifdef DEBUG_USB_HOST
+
320  Notify(PSTR(" - from Motion Plus"), 0x80);
+
321 #endif
+
322  l2cap_event_flag &= ~WII_FLAG_NUNCHUCK_CONNECTED;
+
323  if (!activateNunchuck) // If it's already trying to initialize the Nunchuck don't set it to false
+
324  nunchuckConnected = false;
+
325  //else if(classicControllerConnected)
+
326  } else if (nunchuckConnected) {
+
327 #ifdef DEBUG_USB_HOST
+
328  Notify(PSTR(" - Nunchuck"), 0x80);
+
329 #endif
+
330  nunchuckConnected = false; // It must be the Nunchuck controller then
+
331  l2cap_event_flag &= ~WII_FLAG_NUNCHUCK_CONNECTED;
+
332  onInit();
+
333  setReportMode(false, 0x31); // If there is no extension connected we will read the buttons and accelerometer
+
334  } else
335  setReportMode(false, 0x31); // If there is no extension connected we will read the buttons and accelerometer
-
336  } else
-
337  setReportMode(false, 0x31); // If there is no extension connected we will read the buttons and accelerometer
-
338  }
-
339  } else
-
340  checkExtension = true; // Check for extensions by default
-
341  break;
-
342  case 0x21: // Read Memory Data
-
343  if ((l2capinbuf[12] & 0x0F) == 0) { // No error
-
344  // See: http://wiibrew.org/wiki/Wiimote/Extension_Controllers
-
345  if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA4 && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x00 && l2capinbuf[20] == 0x00) {
-
346 #ifdef DEBUG_USB_HOST
-
347  Notify(PSTR("\r\nNunchuck connected"), 0x80);
-
348 #endif
-
349  l2cap_event_flag |= WII_FLAG_NUNCHUCK_CONNECTED;
-
350  } else if (l2capinbuf[16] == 0x00 && (l2capinbuf[17] == 0xA6 || l2capinbuf[17] == 0xA4) && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x00 && l2capinbuf[20] == 0x05) {
-
351 #ifdef DEBUG_USB_HOST
-
352  Notify(PSTR("\r\nMotion Plus connected"), 0x80);
-
353 #endif
-
354  l2cap_event_flag |= WII_FLAG_MOTION_PLUS_CONNECTED;
-
355  } else if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA4 && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x04 && l2capinbuf[20] == 0x05) {
-
356 #ifdef DEBUG_USB_HOST
-
357  Notify(PSTR("\r\nMotion Plus activated in normal mode"), 0x80);
-
358 #endif
-
359  motionPlusConnected = true;
-
360 #ifdef WIICAMERA
-
361  if (!isIRCameraEnabled()) // Don't activate the Motion Plus if we are trying to initialize the IR camera
-
362 #endif
-
363  setReportMode(false, 0x35); // Also read the extension
-
364  } else if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA4 && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x05 && l2capinbuf[20] == 0x05) {
-
365 #ifdef DEBUG_USB_HOST
-
366  Notify(PSTR("\r\nMotion Plus activated in Nunchuck pass-through mode"), 0x80);
-
367 #endif
-
368  activateNunchuck = false;
-
369  motionPlusConnected = true;
-
370  nunchuckConnected = true;
-
371 #ifdef WIICAMERA
-
372  if (!isIRCameraEnabled()) // Don't activate the Motion Plus if we are trying to initialize the IR camera
-
373 #endif
-
374  setReportMode(false, 0x35); // Also read the extension
-
375  } else if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA6 && l2capinbuf[18] == 0x20 && (l2capinbuf[19] == 0x00 || l2capinbuf[19] == 0x04 || l2capinbuf[19] == 0x05 || l2capinbuf[19] == 0x07) && l2capinbuf[20] == 0x05) {
-
376 #ifdef DEBUG_USB_HOST
-
377  Notify(PSTR("\r\nInactive Wii Motion Plus"), 0x80);
-
378  Notify(PSTR("\r\nPlease unplug the Motion Plus, disconnect the Wiimote and then replug the Motion Plus Extension"), 0x80);
-
379 #endif
-
380  stateCounter = 300; // Skip the rest in "L2CAP_CHECK_MOTION_PLUS_STATE"
-
381  } else if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA4 && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x01 && l2capinbuf[20] == 0x20) {
-
382 #ifdef DEBUG_USB_HOST
-
383  Notify(PSTR("\r\nWii U Pro Controller connected"), 0x80);
-
384 #endif
- -
386  }
-
387 #ifdef DEBUG_USB_HOST
-
388  else {
-
389  Notify(PSTR("\r\nUnknown Device: "), 0x80);
-
390  D_PrintHex<uint8_t > (l2capinbuf[13], 0x80);
-
391  D_PrintHex<uint8_t > (l2capinbuf[14], 0x80);
-
392  Notify(PSTR("\r\nData: "), 0x80);
-
393  for (uint8_t i = 0; i < ((l2capinbuf[12] >> 4) + 1); i++) { // bit 4-7 is the length-1
-
394  D_PrintHex<uint8_t > (l2capinbuf[15 + i], 0x80);
-
395  Notify(PSTR(" "), 0x80);
-
396  }
-
397  }
-
398 #endif
-
399  }
-
400 #ifdef EXTRADEBUG
-
401  else {
-
402  Notify(PSTR("\r\nReport Error: "), 0x80);
-
403  D_PrintHex<uint8_t > (l2capinbuf[13], 0x80);
-
404  D_PrintHex<uint8_t > (l2capinbuf[14], 0x80);
-
405  }
-
406 #endif
-
407  break;
-
408  case 0x22: // Acknowledge output report, return function result
-
409 #ifdef DEBUG_USB_HOST
-
410  if (l2capinbuf[13] != 0x00) { // Check if there is an error
-
411  Notify(PSTR("\r\nCommand failed: "), 0x80);
-
412  D_PrintHex<uint8_t > (l2capinbuf[12], 0x80);
-
413  }
-
414 #endif
-
415  break;
-
416  case 0x30: // Core buttons - (a1) 30 BB BB
+
336  }
+
337  } else
+
338  checkExtension = true; // Check for extensions by default
+
339  break;
+
340  case 0x21: // Read Memory Data
+
341  if ((l2capinbuf[12] & 0x0F) == 0) { // No error
+
342  // See: http://wiibrew.org/wiki/Wiimote/Extension_Controllers
+
343  if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA4 && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x00 && l2capinbuf[20] == 0x00) {
+
344 #ifdef DEBUG_USB_HOST
+
345  Notify(PSTR("\r\nNunchuck connected"), 0x80);
+
346 #endif
+
347  l2cap_event_flag |= WII_FLAG_NUNCHUCK_CONNECTED;
+
348  } else if (l2capinbuf[16] == 0x00 && (l2capinbuf[17] == 0xA6 || l2capinbuf[17] == 0xA4) && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x00 && l2capinbuf[20] == 0x05) {
+
349 #ifdef DEBUG_USB_HOST
+
350  Notify(PSTR("\r\nMotion Plus connected"), 0x80);
+
351 #endif
+
352  l2cap_event_flag |= WII_FLAG_MOTION_PLUS_CONNECTED;
+
353  } else if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA4 && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x04 && l2capinbuf[20] == 0x05) {
+
354 #ifdef DEBUG_USB_HOST
+
355  Notify(PSTR("\r\nMotion Plus activated in normal mode"), 0x80);
+
356 #endif
+
357  motionPlusConnected = true;
+
358 #ifdef WIICAMERA
+
359  if (!isIRCameraEnabled()) // Don't activate the Motion Plus if we are trying to initialize the IR camera
+
360 #endif
+
361  setReportMode(false, 0x35); // Also read the extension
+
362  } else if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA4 && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x05 && l2capinbuf[20] == 0x05) {
+
363 #ifdef DEBUG_USB_HOST
+
364  Notify(PSTR("\r\nMotion Plus activated in Nunchuck pass-through mode"), 0x80);
+
365 #endif
+
366  activateNunchuck = false;
+
367  motionPlusConnected = true;
+
368  nunchuckConnected = true;
+
369 #ifdef WIICAMERA
+
370  if (!isIRCameraEnabled()) // Don't activate the Motion Plus if we are trying to initialize the IR camera
+
371 #endif
+
372  setReportMode(false, 0x35); // Also read the extension
+
373  } else if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA6 && l2capinbuf[18] == 0x20 && (l2capinbuf[19] == 0x00 || l2capinbuf[19] == 0x04 || l2capinbuf[19] == 0x05 || l2capinbuf[19] == 0x07) && l2capinbuf[20] == 0x05) {
+
374 #ifdef DEBUG_USB_HOST
+
375  Notify(PSTR("\r\nInactive Wii Motion Plus"), 0x80);
+
376  Notify(PSTR("\r\nPlease unplug the Motion Plus, disconnect the Wiimote and then replug the Motion Plus Extension"), 0x80);
+
377 #endif
+
378  stateCounter = 300; // Skip the rest in "L2CAP_CHECK_MOTION_PLUS_STATE"
+
379  } else if (l2capinbuf[16] == 0x00 && l2capinbuf[17] == 0xA4 && l2capinbuf[18] == 0x20 && l2capinbuf[19] == 0x01 && l2capinbuf[20] == 0x20) {
+
380 #ifdef DEBUG_USB_HOST
+
381  Notify(PSTR("\r\nWii U Pro Controller connected"), 0x80);
+
382 #endif
+ +
384  }
+
385 #ifdef DEBUG_USB_HOST
+
386  else {
+
387  Notify(PSTR("\r\nUnknown Device: "), 0x80);
+
388  D_PrintHex<uint8_t > (l2capinbuf[13], 0x80);
+
389  D_PrintHex<uint8_t > (l2capinbuf[14], 0x80);
+
390  Notify(PSTR("\r\nData: "), 0x80);
+
391  for (uint8_t i = 0; i < ((l2capinbuf[12] >> 4) + 1); i++) { // bit 4-7 is the length-1
+
392  D_PrintHex<uint8_t > (l2capinbuf[15 + i], 0x80);
+
393  Notify(PSTR(" "), 0x80);
+
394  }
+
395  }
+
396 #endif
+
397  }
+
398 #ifdef EXTRADEBUG
+
399  else {
+
400  Notify(PSTR("\r\nReport Error: "), 0x80);
+
401  D_PrintHex<uint8_t > (l2capinbuf[13], 0x80);
+
402  D_PrintHex<uint8_t > (l2capinbuf[14], 0x80);
+
403  }
+
404 #endif
+
405  break;
+
406  case 0x22: // Acknowledge output report, return function result
+
407 #ifdef DEBUG_USB_HOST
+
408  if (l2capinbuf[13] != 0x00) { // Check if there is an error
+
409  Notify(PSTR("\r\nCommand failed: "), 0x80);
+
410  D_PrintHex<uint8_t > (l2capinbuf[12], 0x80);
+
411  }
+
412 #endif
+
413  break;
+
414  case 0x30: // Core buttons - (a1) 30 BB BB
+
415  break;
+
416  case 0x31: // Core Buttons and Accelerometer - (a1) 31 BB BB AA AA AA
417  break;
-
418  case 0x31: // Core Buttons and Accelerometer - (a1) 31 BB BB AA AA AA
-
419  pitch = wiimotePitch; // The pitch is just equal to the angle calculated from the wiimote as there is no Motion Plus connected
-
420  roll = wiimoteRoll;
-
421  break;
-
422  case 0x32: // Core Buttons with 8 Extension bytes - (a1) 32 BB BB EE EE EE EE EE EE EE EE
-
423  break;
-
424  case 0x33: // Core Buttons with Accelerometer and 12 IR bytes - (a1) 33 BB BB AA AA AA II II II II II II II II II II II II
-
425  pitch = wiimotePitch; // The pitch is just equal to the angle calculated from the wiimote as there is no Motion Plus data available
-
426  roll = wiimoteRoll;
-
427 #ifdef WIICAMERA
-
428  // Read the IR data
-
429  IR_object_x1 = (l2capinbuf[15] | ((uint16_t)(l2capinbuf[17] & 0x30) << 4)); // x position
-
430  IR_object_y1 = (l2capinbuf[16] | ((uint16_t)(l2capinbuf[17] & 0xC0) << 2)); // y position
-
431  IR_object_s1 = (l2capinbuf[17] & 0x0F); // size value, 0-15
-
432 
-
433  IR_object_x2 = (l2capinbuf[18] | ((uint16_t)(l2capinbuf[20] & 0x30) << 4));
-
434  IR_object_y2 = (l2capinbuf[19] | ((uint16_t)(l2capinbuf[20] & 0xC0) << 2));
-
435  IR_object_s2 = (l2capinbuf[20] & 0x0F);
-
436 
-
437  IR_object_x3 = (l2capinbuf[21] | ((uint16_t)(l2capinbuf[23] & 0x30) << 4));
-
438  IR_object_y3 = (l2capinbuf[22] | ((uint16_t)(l2capinbuf[23] & 0xC0) << 2));
-
439  IR_object_s3 = (l2capinbuf[23] & 0x0F);
-
440 
-
441  IR_object_x4 = (l2capinbuf[24] | ((uint16_t)(l2capinbuf[26] & 0x30) << 4));
-
442  IR_object_y4 = (l2capinbuf[25] | ((uint16_t)(l2capinbuf[26] & 0xC0) << 2));
-
443  IR_object_s4 = (l2capinbuf[26] & 0x0F);
-
444 #endif
-
445  break;
-
446  case 0x34: // Core Buttons with 19 Extension bytes - (a1) 34 BB BB EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE
-
447  break;
-
448  /* 0x3e and 0x3f both give unknown report types when report mode is 0x3e or 0x3f with mode number 0x05 */
-
449  case 0x3E: // Core Buttons with Accelerometer and 32 IR bytes
-
450  // (a1) 31 BB BB AA AA AA II II II II II II II II II II II II II II II II II II II II II II II II II II II II II II II II
-
451  // corresponds to output report mode 0x3e
-
452 
-
453  /**** for reading in full mode: DOES NOT WORK YET ****/
-
454  /* When it works it will also have intensity and bounding box data */
-
455  /*
-
456  IR_object_x1 = (l2capinbuf[13] | ((uint16_t)(l2capinbuf[15] & 0x30) << 4));
-
457  IR_object_y1 = (l2capinbuf[14] | ((uint16_t)(l2capinbuf[15] & 0xC0) << 2));
-
458  IR_object_s1 = (l2capinbuf[15] & 0x0F);
-
459  */
-
460  break;
-
461  case 0x3F:
-
462  /*
-
463  IR_object_x1 = (l2capinbuf[13] | ((uint16_t)(l2capinbuf[15] & 0x30) << 4));
-
464  IR_object_y1 = (l2capinbuf[14] | ((uint16_t)(l2capinbuf[15] & 0xC0) << 2));
-
465  IR_object_s1 = (l2capinbuf[15] & 0x0F);
-
466  */
-
467  break;
-
468  case 0x35: // Core Buttons and Accelerometer with 16 Extension Bytes
-
469  // (a1) 35 BB BB AA AA AA EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE
-
470  if (motionPlusConnected) {
-
471  if (l2capinbuf[20] & 0x02) { // Check if it's a report from the Motion controller or the extension
-
472  if (motionValuesReset) { // We will only use the values when the gyro value has been set
-
473  gyroYawRaw = ((l2capinbuf[15] | ((l2capinbuf[18] & 0xFC) << 6)) - gyroYawZero);
-
474  gyroRollRaw = ((l2capinbuf[16] | ((l2capinbuf[19] & 0xFC) << 6)) - gyroRollZero);
-
475  gyroPitchRaw = ((l2capinbuf[17] | ((l2capinbuf[20] & 0xFC) << 6)) - gyroPitchZero);
-
476 
-
477  yawGyroSpeed = (double)gyroYawRaw / ((double)gyroYawZero / yawGyroScale);
-
478  rollGyroSpeed = -(double)gyroRollRaw / ((double)gyroRollZero / rollGyroScale); // We invert these values so they will fit the acc values
- -
480 
-
481  /* The onboard gyro has two ranges for slow and fast mode */
-
482  if (!(l2capinbuf[18] & 0x02)) // Check if fast more is used
-
483  yawGyroSpeed *= 4.545;
-
484  if (!(l2capinbuf[18] & 0x01)) // Check if fast more is used
-
485  pitchGyroSpeed *= 4.545;
-
486  if (!(l2capinbuf[19] & 0x02)) // Check if fast more is used
-
487  rollGyroSpeed *= 4.545;
-
488 
-
489  pitch = (0.93 * (pitch + (pitchGyroSpeed * (double)(micros() - timer) / 1000000)))+(0.07 * wiimotePitch); // Use a complimentary filter to calculate the angle
-
490  roll = (0.93 * (roll + (rollGyroSpeed * (double)(micros() - timer) / 1000000)))+(0.07 * wiimoteRoll);
-
491 
-
492  gyroYaw += (yawGyroSpeed * ((double)(micros() - timer) / 1000000));
-
493  gyroRoll += (rollGyroSpeed * ((double)(micros() - timer) / 1000000));
-
494  gyroPitch += (pitchGyroSpeed * ((double)(micros() - timer) / 1000000));
-
495  timer = micros();
-
496  /*
-
497  // Uncomment these lines to tune the gyro scale variabels
-
498  Notify(PSTR("\r\ngyroYaw: "), 0x80);
-
499  Notify(gyroYaw, 0x80);
-
500  Notify(PSTR("\tgyroRoll: "), 0x80);
-
501  Notify(gyroRoll, 0x80);
-
502  Notify(PSTR("\tgyroPitch: "), 0x80);
-
503  Notify(gyroPitch, 0x80);
+
418  case 0x32: // Core Buttons with 8 Extension bytes - (a1) 32 BB BB EE EE EE EE EE EE EE EE
+
419  break;
+
420  case 0x33: // Core Buttons with Accelerometer and 12 IR bytes - (a1) 33 BB BB AA AA AA II II II II II II II II II II II II
+
421 #ifdef WIICAMERA
+
422  // Read the IR data
+
423  IR_object_x1 = (l2capinbuf[15] | ((uint16_t)(l2capinbuf[17] & 0x30) << 4)); // x position
+
424  IR_object_y1 = (l2capinbuf[16] | ((uint16_t)(l2capinbuf[17] & 0xC0) << 2)); // y position
+
425  IR_object_s1 = (l2capinbuf[17] & 0x0F); // size value, 0-15
+
426 
+
427  IR_object_x2 = (l2capinbuf[18] | ((uint16_t)(l2capinbuf[20] & 0x30) << 4));
+
428  IR_object_y2 = (l2capinbuf[19] | ((uint16_t)(l2capinbuf[20] & 0xC0) << 2));
+
429  IR_object_s2 = (l2capinbuf[20] & 0x0F);
+
430 
+
431  IR_object_x3 = (l2capinbuf[21] | ((uint16_t)(l2capinbuf[23] & 0x30) << 4));
+
432  IR_object_y3 = (l2capinbuf[22] | ((uint16_t)(l2capinbuf[23] & 0xC0) << 2));
+
433  IR_object_s3 = (l2capinbuf[23] & 0x0F);
+
434 
+
435  IR_object_x4 = (l2capinbuf[24] | ((uint16_t)(l2capinbuf[26] & 0x30) << 4));
+
436  IR_object_y4 = (l2capinbuf[25] | ((uint16_t)(l2capinbuf[26] & 0xC0) << 2));
+
437  IR_object_s4 = (l2capinbuf[26] & 0x0F);
+
438 #endif
+
439  break;
+
440  case 0x34: // Core Buttons with 19 Extension bytes - (a1) 34 BB BB EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE
+
441  break;
+
442  /* 0x3e and 0x3f both give unknown report types when report mode is 0x3e or 0x3f with mode number 0x05 */
+
443  case 0x3E: // Core Buttons with Accelerometer and 32 IR bytes
+
444  // (a1) 31 BB BB AA AA AA II II II II II II II II II II II II II II II II II II II II II II II II II II II II II II II II
+
445  // corresponds to output report mode 0x3e
+
446 
+
447  /**** for reading in full mode: DOES NOT WORK YET ****/
+
448  /* When it works it will also have intensity and bounding box data */
+
449  /*
+
450  IR_object_x1 = (l2capinbuf[13] | ((uint16_t)(l2capinbuf[15] & 0x30) << 4));
+
451  IR_object_y1 = (l2capinbuf[14] | ((uint16_t)(l2capinbuf[15] & 0xC0) << 2));
+
452  IR_object_s1 = (l2capinbuf[15] & 0x0F);
+
453  */
+
454  break;
+
455  case 0x3F:
+
456  /*
+
457  IR_object_x1 = (l2capinbuf[13] | ((uint16_t)(l2capinbuf[15] & 0x30) << 4));
+
458  IR_object_y1 = (l2capinbuf[14] | ((uint16_t)(l2capinbuf[15] & 0xC0) << 2));
+
459  IR_object_s1 = (l2capinbuf[15] & 0x0F);
+
460  */
+
461  break;
+
462  case 0x35: // Core Buttons and Accelerometer with 16 Extension Bytes
+
463  // (a1) 35 BB BB AA AA AA EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE
+
464  if (motionPlusConnected) {
+
465  if (l2capinbuf[20] & 0x02) { // Check if it's a report from the Motion controller or the extension
+
466  if (motionValuesReset) { // We will only use the values when the gyro value has been set
+
467  gyroYawRaw = ((l2capinbuf[15] | ((l2capinbuf[18] & 0xFC) << 6)) - gyroYawZero);
+
468  gyroRollRaw = ((l2capinbuf[16] | ((l2capinbuf[19] & 0xFC) << 6)) - gyroRollZero);
+
469  gyroPitchRaw = ((l2capinbuf[17] | ((l2capinbuf[20] & 0xFC) << 6)) - gyroPitchZero);
+
470 
+
471  yawGyroSpeed = (double)gyroYawRaw / ((double)gyroYawZero / yawGyroScale);
+
472  rollGyroSpeed = -(double)gyroRollRaw / ((double)gyroRollZero / rollGyroScale); // We invert these values so they will fit the acc values
+ +
474 
+
475  /* The onboard gyro has two ranges for slow and fast mode */
+
476  if (!(l2capinbuf[18] & 0x02)) // Check if fast more is used
+
477  yawGyroSpeed *= 4.545;
+
478  if (!(l2capinbuf[18] & 0x01)) // Check if fast more is used
+
479  pitchGyroSpeed *= 4.545;
+
480  if (!(l2capinbuf[19] & 0x02)) // Check if fast more is used
+
481  rollGyroSpeed *= 4.545;
+
482 
+
483  compPitch = (0.93 * (compPitch + (pitchGyroSpeed * (double)(micros() - timer) / 1000000)))+(0.07 * getWiimotePitch()); // Use a complimentary filter to calculate the angle
+
484  compRoll = (0.93 * (compRoll + (rollGyroSpeed * (double)(micros() - timer) / 1000000)))+(0.07 * getWiimoteRoll());
+
485 
+
486  gyroYaw += (yawGyroSpeed * ((double)(micros() - timer) / 1000000));
+
487  gyroRoll += (rollGyroSpeed * ((double)(micros() - timer) / 1000000));
+
488  gyroPitch += (pitchGyroSpeed * ((double)(micros() - timer) / 1000000));
+
489  timer = micros();
+
490  /*
+
491  // Uncomment these lines to tune the gyro scale variabels
+
492  Notify(PSTR("\r\ngyroYaw: "), 0x80);
+
493  Notify(gyroYaw, 0x80);
+
494  Notify(PSTR("\tgyroRoll: "), 0x80);
+
495  Notify(gyroRoll, 0x80);
+
496  Notify(PSTR("\tgyroPitch: "), 0x80);
+
497  Notify(gyroPitch, 0x80);
+
498  */
+
499  /*
+
500  Notify(PSTR("\twiimoteRoll: "), 0x80);
+
501  Notify(wiimoteRoll, 0x80);
+
502  Notify(PSTR("\twiimotePitch: "), 0x80);
+
503  Notify(wiimotePitch, 0x80);
504  */
-
505  /*
-
506  Notify(PSTR("\twiimoteRoll: "), 0x80);
-
507  Notify(wiimoteRoll, 0x80);
-
508  Notify(PSTR("\twiimotePitch: "), 0x80);
-
509  Notify(wiimotePitch, 0x80);
-
510  */
-
511  } else {
-
512  if ((micros() - timer) > 1000000) { // Loop for 1 sec before resetting the values
-
513 #ifdef DEBUG_USB_HOST
-
514  Notify(PSTR("\r\nThe gyro values has been reset"), 0x80);
-
515 #endif
-
516  gyroYawZero = (l2capinbuf[15] | ((l2capinbuf[18] & 0xFC) << 6));
-
517  gyroRollZero = (l2capinbuf[16] | ((l2capinbuf[19] & 0xFC) << 6));
-
518  gyroPitchZero = (l2capinbuf[17] | ((l2capinbuf[20] & 0xFC) << 6));
-
519 
-
520  rollGyroScale = 500; // You might need to adjust these
-
521  pitchGyroScale = 400;
-
522  yawGyroScale = 415;
-
523 
-
524  gyroYaw = 0;
-
525  gyroRoll = 0;
-
526  gyroPitch = 0;
-
527 
-
528  motionValuesReset = true;
-
529  timer = micros();
-
530  }
-
531  }
-
532  } else {
-
533  if (nunchuckConnected) {
-
534  hatValues[HatX] = l2capinbuf[15];
-
535  hatValues[HatY] = l2capinbuf[16];
-
536  accX = ((l2capinbuf[17] << 2) | (l2capinbuf[20] & 0x10 >> 3)) - 416;
-
537  accY = ((l2capinbuf[18] << 2) | (l2capinbuf[20] & 0x20 >> 4)) - 416;
-
538  accZ = (((l2capinbuf[19] & 0xFE) << 2) | (l2capinbuf[20] & 0xC0 >> 5)) - 416;
-
539  nunchuckPitch = (atan2(accY, accZ) + PI) * RAD_TO_DEG;
-
540  nunchuckRoll = (atan2(accX, accZ) + PI) * RAD_TO_DEG;
-
541  }
-
542  //else if(classicControllerConnected) { }
-
543  }
-
544  if (l2capinbuf[19] & 0x01) {
-
545  if (!extensionConnected) {
-
546  extensionConnected = true;
+
505  } else {
+
506  if ((micros() - timer) > 1000000) { // Loop for 1 sec before resetting the values
+
507 #ifdef DEBUG_USB_HOST
+
508  Notify(PSTR("\r\nThe gyro values has been reset"), 0x80);
+
509 #endif
+
510  gyroYawZero = (l2capinbuf[15] | ((l2capinbuf[18] & 0xFC) << 6));
+
511  gyroRollZero = (l2capinbuf[16] | ((l2capinbuf[19] & 0xFC) << 6));
+
512  gyroPitchZero = (l2capinbuf[17] | ((l2capinbuf[20] & 0xFC) << 6));
+
513 
+
514  rollGyroScale = 500; // You might need to adjust these
+
515  pitchGyroScale = 400;
+
516  yawGyroScale = 415;
+
517 
+
518  gyroYaw = 0;
+
519  gyroRoll = 0;
+
520  gyroPitch = 0;
+
521 
+
522  motionValuesReset = true;
+
523  timer = micros();
+
524  }
+
525  }
+
526  } else {
+
527  if (nunchuckConnected) {
+
528  hatValues[HatX] = l2capinbuf[15];
+
529  hatValues[HatY] = l2capinbuf[16];
+
530  accXnunchuck = ((l2capinbuf[17] << 2) | (l2capinbuf[20] & 0x10 >> 3)) - 416;
+
531  accYnunchuck = ((l2capinbuf[18] << 2) | (l2capinbuf[20] & 0x20 >> 4)) - 416;
+
532  accZnunchuck = (((l2capinbuf[19] & 0xFE) << 2) | (l2capinbuf[20] & 0xC0 >> 5)) - 416;
+
533  }
+
534  //else if(classicControllerConnected) { }
+
535  }
+
536  if (l2capinbuf[19] & 0x01) {
+
537  if (!extensionConnected) {
+
538  extensionConnected = true;
+
539  unknownExtensionConnected = true;
+
540 #ifdef DEBUG_USB_HOST
+
541  Notify(PSTR("\r\nExtension connected to Motion Plus"), 0x80);
+
542 #endif
+
543  }
+
544  } else {
+
545  if (extensionConnected && !unknownExtensionConnected) {
+
546  extensionConnected = false;
547  unknownExtensionConnected = true;
548 #ifdef DEBUG_USB_HOST
-
549  Notify(PSTR("\r\nExtension connected to Motion Plus"), 0x80);
+
549  Notify(PSTR("\r\nExtension disconnected from Motion Plus"), 0x80);
550 #endif
-
551  }
-
552  } else {
-
553  if (extensionConnected && !unknownExtensionConnected) {
-
554  extensionConnected = false;
-
555  unknownExtensionConnected = true;
-
556 #ifdef DEBUG_USB_HOST
-
557  Notify(PSTR("\r\nExtension disconnected from Motion Plus"), 0x80);
-
558 #endif
-
559  nunchuckConnected = false; // There is no extension connected to the Motion Plus if this report is sent
-
560  }
-
561  }
-
562 
-
563  } else if (nunchuckConnected) {
-
564  hatValues[HatX] = l2capinbuf[15];
-
565  hatValues[HatY] = l2capinbuf[16];
-
566  accX = ((l2capinbuf[17] << 2) | (l2capinbuf[20] & 0x0C >> 2)) - 416;
-
567  accY = ((l2capinbuf[18] << 2) | (l2capinbuf[20] & 0x30 >> 4)) - 416;
-
568  accZ = ((l2capinbuf[19] << 2) | (l2capinbuf[20] & 0xC0 >> 6)) - 416;
-
569  nunchuckPitch = (atan2(accY, accZ) + PI) * RAD_TO_DEG;
-
570  nunchuckRoll = (atan2(accX, accZ) + PI) * RAD_TO_DEG;
-
571 
-
572  pitch = wiimotePitch; // The pitch is just equal to the angle calculated from the wiimote as there is no Motion Plus connected
-
573  roll = wiimoteRoll;
-
574  } else if (wiiUProControllerConnected) {
-
575  hatValues[LeftHatX] = (l2capinbuf[15] | l2capinbuf[16] << 8);
-
576  hatValues[RightHatX] = (l2capinbuf[17] | l2capinbuf[18] << 8);
-
577  hatValues[LeftHatY] = (l2capinbuf[19] | l2capinbuf[20] << 8);
-
578  hatValues[RightHatY] = (l2capinbuf[21] | l2capinbuf[22] << 8);
-
579  }
-
580  break;
-
581 #ifdef DEBUG_USB_HOST
-
582  default:
-
583  Notify(PSTR("\r\nUnknown Report type: "), 0x80);
-
584  D_PrintHex<uint8_t > (l2capinbuf[9], 0x80);
-
585  break;
-
586 #endif
-
587  }
-
588  }
-
589  }
-
590  L2CAP_task();
-
591  }
-
592 }
-
593 
-
594 void WII::L2CAP_task() {
-
595  switch (l2cap_state) {
-
596  /* These states are used if the Wiimote is the host */
- - -
599 #ifdef DEBUG_USB_HOST
-
600  Notify(PSTR("\r\nHID Control Successfully Configured"), 0x80);
-
601 #endif
-
602  l2cap_state = L2CAP_INTERRUPT_SETUP;
-
603  }
-
604  break;
-
605 
- - -
608 #ifdef DEBUG_USB_HOST
-
609  Notify(PSTR("\r\nHID Interrupt Incoming Connection Request"), 0x80);
-
610 #endif
-
611  pBtd->l2cap_connection_response(hci_handle, identifier, interrupt_dcid, interrupt_scid, PENDING);
-
612  delay(1);
-
613  pBtd->l2cap_connection_response(hci_handle, identifier, interrupt_dcid, interrupt_scid, SUCCESSFUL);
-
614  identifier++;
-
615  delay(1);
-
616  pBtd->l2cap_config_request(hci_handle, identifier, interrupt_scid);
-
617 
-
618  l2cap_state = L2CAP_INTERRUPT_CONFIG_REQUEST;
-
619  }
-
620  break;
-
621 
-
622  /* These states are used if the Arduino is the host */
- - -
625 #ifdef DEBUG_USB_HOST
-
626  Notify(PSTR("\r\nSend HID Control Config Request"), 0x80);
-
627 #endif
-
628  identifier++;
-
629  pBtd->l2cap_config_request(hci_handle, identifier, control_scid);
-
630  l2cap_state = L2CAP_CONTROL_CONFIG_REQUEST;
-
631  }
-
632  break;
-
633 
- - -
636 #ifdef DEBUG_USB_HOST
-
637  Notify(PSTR("\r\nSend HID Interrupt Connection Request"), 0x80);
-
638 #endif
-
639  identifier++;
-
640  pBtd->l2cap_connection_request(hci_handle, identifier, interrupt_dcid, HID_INTR_PSM);
-
641  l2cap_state = L2CAP_INTERRUPT_CONNECT_REQUEST;
-
642  }
-
643  break;
-
644 
- - -
647 #ifdef DEBUG_USB_HOST
-
648  Notify(PSTR("\r\nSend HID Interrupt Config Request"), 0x80);
-
649 #endif
-
650  identifier++;
-
651  pBtd->l2cap_config_request(hci_handle, identifier, interrupt_scid);
-
652  l2cap_state = L2CAP_INTERRUPT_CONFIG_REQUEST;
-
653  }
-
654  break;
-
655 
- -
657  if (l2cap_config_success_interrupt_flag) { // Now the HID channels is established
-
658 #ifdef DEBUG_USB_HOST
-
659  Notify(PSTR("\r\nHID Channels Established"), 0x80);
-
660 #endif
-
661  pBtd->connectToWii = false;
-
662  pBtd->pairWithWii = false;
-
663  stateCounter = 0;
-
664  l2cap_state = L2CAP_CHECK_MOTION_PLUS_STATE;
+
551  nunchuckConnected = false; // There is no extension connected to the Motion Plus if this report is sent
+
552  }
+
553  }
+
554 
+
555  } else if (nunchuckConnected) {
+
556  hatValues[HatX] = l2capinbuf[15];
+
557  hatValues[HatY] = l2capinbuf[16];
+
558  accXnunchuck = ((l2capinbuf[17] << 2) | (l2capinbuf[20] & 0x0C >> 2)) - 416;
+
559  accYnunchuck = ((l2capinbuf[18] << 2) | (l2capinbuf[20] & 0x30 >> 4)) - 416;
+
560  accZnunchuck = ((l2capinbuf[19] << 2) | (l2capinbuf[20] & 0xC0 >> 6)) - 416;
+
561  } else if (wiiUProControllerConnected) {
+
562  hatValues[LeftHatX] = (l2capinbuf[15] | l2capinbuf[16] << 8);
+
563  hatValues[RightHatX] = (l2capinbuf[17] | l2capinbuf[18] << 8);
+
564  hatValues[LeftHatY] = (l2capinbuf[19] | l2capinbuf[20] << 8);
+
565  hatValues[RightHatY] = (l2capinbuf[21] | l2capinbuf[22] << 8);
+
566  }
+
567  break;
+
568 #ifdef DEBUG_USB_HOST
+
569  default:
+
570  Notify(PSTR("\r\nUnknown Report type: "), 0x80);
+
571  D_PrintHex<uint8_t > (l2capinbuf[9], 0x80);
+
572  break;
+
573 #endif
+
574  }
+
575  }
+
576  }
+
577  L2CAP_task();
+
578  }
+
579 }
+
580 
+
581 void WII::L2CAP_task() {
+
582  switch (l2cap_state) {
+
583  /* These states are used if the Wiimote is the host */
+ + +
586 #ifdef DEBUG_USB_HOST
+
587  Notify(PSTR("\r\nHID Control Successfully Configured"), 0x80);
+
588 #endif
+
589  l2cap_state = L2CAP_INTERRUPT_SETUP;
+
590  }
+
591  break;
+
592 
+ + +
595 #ifdef DEBUG_USB_HOST
+
596  Notify(PSTR("\r\nHID Interrupt Incoming Connection Request"), 0x80);
+
597 #endif
+
598  pBtd->l2cap_connection_response(hci_handle, identifier, interrupt_dcid, interrupt_scid, PENDING);
+
599  delay(1);
+
600  pBtd->l2cap_connection_response(hci_handle, identifier, interrupt_dcid, interrupt_scid, SUCCESSFUL);
+
601  identifier++;
+
602  delay(1);
+
603  pBtd->l2cap_config_request(hci_handle, identifier, interrupt_scid);
+
604 
+
605  l2cap_state = L2CAP_INTERRUPT_CONFIG_REQUEST;
+
606  }
+
607  break;
+
608 
+
609  /* These states are used if the Arduino is the host */
+ + +
612 #ifdef DEBUG_USB_HOST
+
613  Notify(PSTR("\r\nSend HID Control Config Request"), 0x80);
+
614 #endif
+
615  identifier++;
+
616  pBtd->l2cap_config_request(hci_handle, identifier, control_scid);
+
617  l2cap_state = L2CAP_CONTROL_CONFIG_REQUEST;
+
618  }
+
619  break;
+
620 
+ + +
623 #ifdef DEBUG_USB_HOST
+
624  Notify(PSTR("\r\nSend HID Interrupt Connection Request"), 0x80);
+
625 #endif
+
626  identifier++;
+
627  pBtd->l2cap_connection_request(hci_handle, identifier, interrupt_dcid, HID_INTR_PSM);
+
628  l2cap_state = L2CAP_INTERRUPT_CONNECT_REQUEST;
+
629  }
+
630  break;
+
631 
+ + +
634 #ifdef DEBUG_USB_HOST
+
635  Notify(PSTR("\r\nSend HID Interrupt Config Request"), 0x80);
+
636 #endif
+
637  identifier++;
+
638  pBtd->l2cap_config_request(hci_handle, identifier, interrupt_scid);
+
639  l2cap_state = L2CAP_INTERRUPT_CONFIG_REQUEST;
+
640  }
+
641  break;
+
642 
+ +
644  if (l2cap_config_success_interrupt_flag) { // Now the HID channels is established
+
645 #ifdef DEBUG_USB_HOST
+
646  Notify(PSTR("\r\nHID Channels Established"), 0x80);
+
647 #endif
+
648  pBtd->connectToWii = false;
+
649  pBtd->pairWithWii = false;
+
650  stateCounter = 0;
+
651  l2cap_state = L2CAP_CHECK_MOTION_PLUS_STATE;
+
652  }
+
653  break;
+
654 
+
655  /* The next states are in run() */
+
656 
+ +
658  if (l2cap_disconnect_response_interrupt_flag && millis() > timer) {
+
659 #ifdef DEBUG_USB_HOST
+
660  Notify(PSTR("\r\nDisconnected Interrupt Channel"), 0x80);
+
661 #endif
+
662  identifier++;
+
663  pBtd->l2cap_disconnection_request(hci_handle, identifier, control_scid, control_dcid);
+
664  l2cap_state = L2CAP_CONTROL_DISCONNECT;
665  }
666  break;
667 
-
668  /* The next states are in run() */
-
669 
- -
671  if (l2cap_disconnect_response_interrupt_flag && millis() > timer) {
-
672 #ifdef DEBUG_USB_HOST
-
673  Notify(PSTR("\r\nDisconnected Interrupt Channel"), 0x80);
-
674 #endif
-
675  identifier++;
-
676  pBtd->l2cap_disconnection_request(hci_handle, identifier, control_scid, control_dcid);
-
677  l2cap_state = L2CAP_CONTROL_DISCONNECT;
-
678  }
-
679  break;
-
680 
- - -
683 #ifdef DEBUG_USB_HOST
-
684  Notify(PSTR("\r\nDisconnected Control Channel"), 0x80);
-
685 #endif
-
686  pBtd->hci_disconnect(hci_handle);
-
687  hci_handle = -1; // Reset handle
-
688  l2cap_event_flag = 0; // Reset flags
-
689  l2cap_state = L2CAP_WAIT;
-
690  }
-
691  break;
-
692  }
-
693 }
-
694 
-
695 void WII::Run() {
-
696  if (l2cap_state == L2CAP_INTERRUPT_DISCONNECT && millis() > timer)
-
697  L2CAP_task(); // Call the rest of the disconnection routine after we have waited long enough
-
698 
-
699  switch (l2cap_state) {
-
700  case L2CAP_WAIT:
-
701  if (pBtd->connectToWii && !pBtd->l2capConnectionClaimed && !wiimoteConnected && !activeConnection) {
-
702  pBtd->l2capConnectionClaimed = true;
-
703  activeConnection = true;
-
704  motionPlusInside = pBtd->motionPlusInside;
-
705 #ifdef DEBUG_USB_HOST
-
706  Notify(PSTR("\r\nSend HID Control Connection Request"), 0x80);
-
707 #endif
-
708  hci_handle = pBtd->hci_handle; // Store the HCI Handle for the connection
-
709  l2cap_event_flag = 0; // Reset flags
-
710  identifier = 0;
-
711  pBtd->l2cap_connection_request(hci_handle, identifier, control_dcid, HID_CTRL_PSM);
-
712  l2cap_state = L2CAP_CONTROL_CONNECT_REQUEST;
- -
714 #ifdef DEBUG_USB_HOST
-
715  Notify(PSTR("\r\nHID Control Incoming Connection Request"), 0x80);
-
716 #endif
-
717  pBtd->l2cap_connection_response(hci_handle, identifier, control_dcid, control_scid, PENDING);
-
718  delay(1);
-
719  pBtd->l2cap_connection_response(hci_handle, identifier, control_dcid, control_scid, SUCCESSFUL);
-
720  identifier++;
-
721  delay(1);
-
722  pBtd->l2cap_config_request(hci_handle, identifier, control_scid);
-
723  l2cap_state = L2CAP_CONTROL_SUCCESS;
-
724  }
-
725  break;
+ + +
670 #ifdef DEBUG_USB_HOST
+
671  Notify(PSTR("\r\nDisconnected Control Channel"), 0x80);
+
672 #endif
+
673  pBtd->hci_disconnect(hci_handle);
+
674  hci_handle = -1; // Reset handle
+
675  l2cap_event_flag = 0; // Reset flags
+
676  l2cap_state = L2CAP_WAIT;
+
677  }
+
678  break;
+
679  }
+
680 }
+
681 
+
682 void WII::Run() {
+
683  if (l2cap_state == L2CAP_INTERRUPT_DISCONNECT && millis() > timer)
+
684  L2CAP_task(); // Call the rest of the disconnection routine after we have waited long enough
+
685 
+
686  switch (l2cap_state) {
+
687  case L2CAP_WAIT:
+
688  if (pBtd->connectToWii && !pBtd->l2capConnectionClaimed && !wiimoteConnected && !activeConnection) {
+
689  pBtd->l2capConnectionClaimed = true;
+
690  activeConnection = true;
+
691  motionPlusInside = pBtd->motionPlusInside;
+
692 #ifdef DEBUG_USB_HOST
+
693  Notify(PSTR("\r\nSend HID Control Connection Request"), 0x80);
+
694 #endif
+
695  hci_handle = pBtd->hci_handle; // Store the HCI Handle for the connection
+
696  l2cap_event_flag = 0; // Reset flags
+
697  identifier = 0;
+
698  pBtd->l2cap_connection_request(hci_handle, identifier, control_dcid, HID_CTRL_PSM);
+
699  l2cap_state = L2CAP_CONTROL_CONNECT_REQUEST;
+ +
701 #ifdef DEBUG_USB_HOST
+
702  Notify(PSTR("\r\nHID Control Incoming Connection Request"), 0x80);
+
703 #endif
+
704  pBtd->l2cap_connection_response(hci_handle, identifier, control_dcid, control_scid, PENDING);
+
705  delay(1);
+
706  pBtd->l2cap_connection_response(hci_handle, identifier, control_dcid, control_scid, SUCCESSFUL);
+
707  identifier++;
+
708  delay(1);
+
709  pBtd->l2cap_config_request(hci_handle, identifier, control_scid);
+
710  l2cap_state = L2CAP_CONTROL_SUCCESS;
+
711  }
+
712  break;
+
713 
+ +
715 #ifdef DEBUG_USB_HOST
+
716  if (stateCounter == 0) // Only print onnce
+
717  Notify(PSTR("\r\nChecking if a Motion Plus is connected"), 0x80);
+
718 #endif
+
719  stateCounter++;
+
720  if (stateCounter % 200 == 0)
+
721  checkMotionPresent(); // Check if there is a motion plus connected
+ +
723  stateCounter = 0;
+
724  l2cap_state = L2CAP_INIT_MOTION_PLUS_STATE;
+
725  timer = micros();
726 
- +
727  if (unknownExtensionConnected) {
728 #ifdef DEBUG_USB_HOST
-
729  if (stateCounter == 0) // Only print onnce
-
730  Notify(PSTR("\r\nChecking if a Motion Plus is connected"), 0x80);
-
731 #endif
-
732  stateCounter++;
-
733  if (stateCounter % 200 == 0)
-
734  checkMotionPresent(); // Check if there is a motion plus connected
- -
736  stateCounter = 0;
-
737  l2cap_state = L2CAP_INIT_MOTION_PLUS_STATE;
-
738  timer = micros();
-
739 
-
740  if (unknownExtensionConnected) {
-
741 #ifdef DEBUG_USB_HOST
-
742  Notify(PSTR("\r\nA extension is also connected"), 0x80);
-
743 #endif
-
744  activateNunchuck = true; // For we will just set this to true as this the only extension supported so far
-
745  }
-
746 
-
747  } else if (stateCounter == 601) { // We will try three times to check for the motion plus
-
748 #ifdef DEBUG_USB_HOST
-
749  Notify(PSTR("\r\nNo Motion Plus was detected"), 0x80);
-
750 #endif
-
751  stateCounter = 0;
-
752  l2cap_state = L2CAP_CHECK_EXTENSION_STATE;
-
753  }
-
754  break;
-
755 
-
756  case L2CAP_CHECK_EXTENSION_STATE: // This is used to check if there is anything plugged in to the extension port
-
757 #ifdef DEBUG_USB_HOST
-
758  if (stateCounter == 0) // Only print onnce
-
759  Notify(PSTR("\r\nChecking if there is any extension connected"), 0x80);
-
760 #endif
-
761  stateCounter++; // We use this counter as there has to be a short delay between the commands
-
762  if (stateCounter == 1)
-
763  statusRequest(); // See if a new device has connected
-
764  if (stateCounter == 100) {
-
765  if (unknownExtensionConnected) // Check if there is a extension is connected to the port
-
766  initExtension1();
-
767  else
-
768  stateCounter = 399;
-
769  } else if (stateCounter == 200)
-
770  initExtension2();
-
771  else if (stateCounter == 300) {
-
772  readExtensionType();
-
773  unknownExtensionConnected = false;
-
774  } else if (stateCounter == 400) {
-
775  stateCounter = 0;
-
776  l2cap_state = L2CAP_LED_STATE;
-
777  }
-
778  break;
-
779 
- -
781  stateCounter++;
-
782  if (stateCounter == 1)
-
783  initMotionPlus();
-
784  else if (stateCounter == 100)
-
785  activateMotionPlus();
-
786  else if (stateCounter == 200)
-
787  readExtensionType(); // Check if it has been activated
-
788  else if (stateCounter == 300) {
-
789  stateCounter = 0;
-
790  unknownExtensionConnected = false; // The motion plus will send a status report when it's activated, we will set this to false so it doesn't reinitialize the Motion Plus
-
791  l2cap_state = L2CAP_LED_STATE;
-
792  }
-
793  break;
-
794 
-
795  case L2CAP_LED_STATE:
- -
797  nunchuckConnected = true;
-
798  wiimoteConnected = true;
-
799  onInit();
-
800  l2cap_state = L2CAP_DONE;
-
801  break;
-
802 
-
803  case L2CAP_DONE:
-
804  if (unknownExtensionConnected) {
-
805 #ifdef DEBUG_USB_HOST
-
806  if (stateCounter == 0) // Only print once
-
807  Notify(PSTR("\r\nChecking extension port"), 0x80);
-
808 #endif
-
809  stateCounter++; // We will use this counter as there has to be a short delay between the commands
-
810  if (stateCounter == 50)
-
811  statusRequest();
-
812  else if (stateCounter == 100)
-
813  initExtension1();
-
814  else if (stateCounter == 150)
-
815  if ((extensionConnected && motionPlusConnected) || (unknownExtensionConnected && !motionPlusConnected))
-
816  initExtension2();
-
817  else
-
818  stateCounter = 299; // There is no extension connected
-
819  else if (stateCounter == 200)
-
820  readExtensionType();
-
821  else if (stateCounter == 250) {
- -
823 #ifdef DEBUG_USB_HOST
-
824  Notify(PSTR("\r\nNunchuck was reconnected"), 0x80);
-
825 #endif
-
826  activateNunchuck = true;
-
827  nunchuckConnected = true;
-
828  }
-
829  if (!motionPlusConnected)
-
830  stateCounter = 449;
-
831  } else if (stateCounter == 300) {
-
832  if (motionPlusConnected) {
-
833 #ifdef DEBUG_USB_HOST
-
834  Notify(PSTR("\r\nReactivating the Motion Plus"), 0x80);
-
835 #endif
-
836  initMotionPlus();
-
837  } else
-
838  stateCounter = 449;
-
839  } else if (stateCounter == 350)
-
840  activateMotionPlus();
-
841  else if (stateCounter == 400)
-
842  readExtensionType(); // Check if it has been activated
-
843  else if (stateCounter == 450) {
-
844  onInit();
-
845  stateCounter = 0;
-
846  unknownExtensionConnected = false;
-
847  }
-
848  } else
-
849  stateCounter = 0;
-
850  break;
-
851  }
-
852 }
-
853 
-
854 /************************************************************/
-
855 /* HID Commands */
-
856 
-
857 /************************************************************/
-
858 void WII::HID_Command(uint8_t* data, uint8_t nbytes) {
-
859  if (motionPlusInside)
-
860  pBtd->L2CAP_Command(hci_handle, data, nbytes, interrupt_scid[0], interrupt_scid[1]); // It's the new wiimote with the Motion Plus Inside
-
861  else
-
862  pBtd->L2CAP_Command(hci_handle, data, nbytes, control_scid[0], control_scid[1]);
-
863 }
-
864 
- -
866  HIDBuffer[1] = 0x11;
-
867  HIDBuffer[2] = 0x00;
-
868  HID_Command(HIDBuffer, 3);
-
869 }
-
870 
- -
872  HIDBuffer[1] = 0x11;
-
873  HIDBuffer[2] &= ~0x01; // Bit 0 control the rumble
-
874  HID_Command(HIDBuffer, 3);
-
875 }
-
876 
- -
878  HIDBuffer[1] = 0x11;
-
879  HIDBuffer[2] |= 0x01; // Bit 0 control the rumble
-
880  HID_Command(HIDBuffer, 3);
-
881 }
-
882 
- -
884  HIDBuffer[1] = 0x11;
-
885  HIDBuffer[2] ^= 0x01; // Bit 0 control the rumble
-
886  HID_Command(HIDBuffer, 3);
-
887 }
-
888 
-
889 void WII::setLedRaw(uint8_t value) {
-
890  HIDBuffer[1] = 0x11;
-
891  HIDBuffer[2] = value | (HIDBuffer[2] & 0x01); // Keep the rumble bit
-
892  HID_Command(HIDBuffer, 3);
-
893 }
- -
895  HIDBuffer[1] = 0x11;
-
896  HIDBuffer[2] &= ~(pgm_read_byte(&LEDS[(uint8_t)a]));
-
897  HID_Command(HIDBuffer, 3);
-
898 }
-
899 
- -
901  HIDBuffer[1] = 0x11;
-
902  HIDBuffer[2] |= pgm_read_byte(&LEDS[(uint8_t)a]);
-
903  HID_Command(HIDBuffer, 3);
-
904 }
-
905 
- -
907  HIDBuffer[1] = 0x11;
-
908  HIDBuffer[2] ^= pgm_read_byte(&LEDS[(uint8_t)a]);
+
729  Notify(PSTR("\r\nA extension is also connected"), 0x80);
+
730 #endif
+
731  activateNunchuck = true; // For we will just set this to true as this the only extension supported so far
+
732  }
+
733 
+
734  } else if (stateCounter == 601) { // We will try three times to check for the motion plus
+
735 #ifdef DEBUG_USB_HOST
+
736  Notify(PSTR("\r\nNo Motion Plus was detected"), 0x80);
+
737 #endif
+
738  stateCounter = 0;
+
739  l2cap_state = L2CAP_CHECK_EXTENSION_STATE;
+
740  }
+
741  break;
+
742 
+
743  case L2CAP_CHECK_EXTENSION_STATE: // This is used to check if there is anything plugged in to the extension port
+
744 #ifdef DEBUG_USB_HOST
+
745  if (stateCounter == 0) // Only print onnce
+
746  Notify(PSTR("\r\nChecking if there is any extension connected"), 0x80);
+
747 #endif
+
748  stateCounter++; // We use this counter as there has to be a short delay between the commands
+
749  if (stateCounter == 1)
+
750  statusRequest(); // See if a new device has connected
+
751  if (stateCounter == 100) {
+
752  if (unknownExtensionConnected) // Check if there is a extension is connected to the port
+
753  initExtension1();
+
754  else
+
755  stateCounter = 399;
+
756  } else if (stateCounter == 200)
+
757  initExtension2();
+
758  else if (stateCounter == 300) {
+
759  readExtensionType();
+
760  unknownExtensionConnected = false;
+
761  } else if (stateCounter == 400) {
+
762  stateCounter = 0;
+
763  l2cap_state = L2CAP_LED_STATE;
+
764  }
+
765  break;
+
766 
+ +
768  stateCounter++;
+
769  if (stateCounter == 1)
+
770  initMotionPlus();
+
771  else if (stateCounter == 100)
+
772  activateMotionPlus();
+
773  else if (stateCounter == 200)
+
774  readExtensionType(); // Check if it has been activated
+
775  else if (stateCounter == 300) {
+
776  stateCounter = 0;
+
777  unknownExtensionConnected = false; // The motion plus will send a status report when it's activated, we will set this to false so it doesn't reinitialize the Motion Plus
+
778  l2cap_state = L2CAP_LED_STATE;
+
779  }
+
780  break;
+
781 
+
782  case L2CAP_LED_STATE:
+ +
784  nunchuckConnected = true;
+
785  wiimoteConnected = true;
+
786  onInit();
+
787  l2cap_state = L2CAP_DONE;
+
788  break;
+
789 
+
790  case L2CAP_DONE:
+
791  if (unknownExtensionConnected) {
+
792 #ifdef DEBUG_USB_HOST
+
793  if (stateCounter == 0) // Only print once
+
794  Notify(PSTR("\r\nChecking extension port"), 0x80);
+
795 #endif
+
796  stateCounter++; // We will use this counter as there has to be a short delay between the commands
+
797  if (stateCounter == 50)
+
798  statusRequest();
+
799  else if (stateCounter == 100)
+
800  initExtension1();
+
801  else if (stateCounter == 150)
+
802  if ((extensionConnected && motionPlusConnected) || (unknownExtensionConnected && !motionPlusConnected))
+
803  initExtension2();
+
804  else
+
805  stateCounter = 299; // There is no extension connected
+
806  else if (stateCounter == 200)
+
807  readExtensionType();
+
808  else if (stateCounter == 250) {
+ +
810 #ifdef DEBUG_USB_HOST
+
811  Notify(PSTR("\r\nNunchuck was reconnected"), 0x80);
+
812 #endif
+
813  activateNunchuck = true;
+
814  nunchuckConnected = true;
+
815  }
+
816  if (!motionPlusConnected)
+
817  stateCounter = 449;
+
818  } else if (stateCounter == 300) {
+
819  if (motionPlusConnected) {
+
820 #ifdef DEBUG_USB_HOST
+
821  Notify(PSTR("\r\nReactivating the Motion Plus"), 0x80);
+
822 #endif
+
823  initMotionPlus();
+
824  } else
+
825  stateCounter = 449;
+
826  } else if (stateCounter == 350)
+
827  activateMotionPlus();
+
828  else if (stateCounter == 400)
+
829  readExtensionType(); // Check if it has been activated
+
830  else if (stateCounter == 450) {
+
831  onInit();
+
832  stateCounter = 0;
+
833  unknownExtensionConnected = false;
+
834  }
+
835  } else
+
836  stateCounter = 0;
+
837  break;
+
838  }
+
839 }
+
840 
+
841 /************************************************************/
+
842 /* HID Commands */
+
843 
+
844 /************************************************************/
+
845 void WII::HID_Command(uint8_t* data, uint8_t nbytes) {
+
846  if (motionPlusInside)
+
847  pBtd->L2CAP_Command(hci_handle, data, nbytes, interrupt_scid[0], interrupt_scid[1]); // It's the new wiimote with the Motion Plus Inside
+
848  else
+
849  pBtd->L2CAP_Command(hci_handle, data, nbytes, control_scid[0], control_scid[1]);
+
850 }
+
851 
+ +
853  HIDBuffer[1] = 0x11;
+
854  HIDBuffer[2] = 0x00;
+
855  HID_Command(HIDBuffer, 3);
+
856 }
+
857 
+ +
859  HIDBuffer[1] = 0x11;
+
860  HIDBuffer[2] &= ~0x01; // Bit 0 control the rumble
+
861  HID_Command(HIDBuffer, 3);
+
862 }
+
863 
+ +
865  HIDBuffer[1] = 0x11;
+
866  HIDBuffer[2] |= 0x01; // Bit 0 control the rumble
+
867  HID_Command(HIDBuffer, 3);
+
868 }
+
869 
+ +
871  HIDBuffer[1] = 0x11;
+
872  HIDBuffer[2] ^= 0x01; // Bit 0 control the rumble
+
873  HID_Command(HIDBuffer, 3);
+
874 }
+
875 
+
876 void WII::setLedRaw(uint8_t value) {
+
877  HIDBuffer[1] = 0x11;
+
878  HIDBuffer[2] = value | (HIDBuffer[2] & 0x01); // Keep the rumble bit
+
879  HID_Command(HIDBuffer, 3);
+
880 }
+ +
882  HIDBuffer[1] = 0x11;
+
883  HIDBuffer[2] &= ~(pgm_read_byte(&LEDS[(uint8_t)a]));
+
884  HID_Command(HIDBuffer, 3);
+
885 }
+
886 
+ +
888  HIDBuffer[1] = 0x11;
+
889  HIDBuffer[2] |= pgm_read_byte(&LEDS[(uint8_t)a]);
+
890  HID_Command(HIDBuffer, 3);
+
891 }
+
892 
+ +
894  HIDBuffer[1] = 0x11;
+
895  HIDBuffer[2] ^= pgm_read_byte(&LEDS[(uint8_t)a]);
+
896  HID_Command(HIDBuffer, 3);
+
897 }
+
898 
+ +
900  HIDBuffer[1] = 0x11;
+
901  HIDBuffer[2] = (HIDBuffer[2] & 0x01); // Keep the rumble bit
+
902  if (wiimoteConnected)
+
903  HIDBuffer[2] |= 0x10; // If it's connected LED1 will light up
+ +
905  HIDBuffer[2] |= 0x20; // If it's connected LED2 will light up
+
906  if (nunchuckConnected)
+
907  HIDBuffer[2] |= 0x40; // If it's connected LED3 will light up
+
908 
909  HID_Command(HIDBuffer, 3);
910 }
911 
- -
913  HIDBuffer[1] = 0x11;
-
914  HIDBuffer[2] = (HIDBuffer[2] & 0x01); // Keep the rumble bit
-
915  if (wiimoteConnected)
-
916  HIDBuffer[2] |= 0x10; // If it's connected LED1 will light up
- -
918  HIDBuffer[2] |= 0x20; // If it's connected LED2 will light up
-
919  if (nunchuckConnected)
-
920  HIDBuffer[2] |= 0x40; // If it's connected LED3 will light up
-
921 
-
922  HID_Command(HIDBuffer, 3);
-
923 }
-
924 
- -
926  checkExtension = false; // This is needed so the library knows that the status response is a response to this function
-
927  statusRequest(); // This will update the battery level
-
928  return batteryLevel;
-
929 };
-
930 
-
931 void WII::setReportMode(bool continuous, uint8_t mode) {
-
932  uint8_t cmd_buf[4];
-
933  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
-
934  cmd_buf[1] = 0x12;
-
935  if (continuous)
-
936  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Keep the rumble bit
-
937  else
-
938  cmd_buf[2] = 0x00 | (HIDBuffer[2] & 0x01); // Keep the rumble bit
-
939  cmd_buf[3] = mode;
-
940  HID_Command(cmd_buf, 4);
-
941 }
-
942 
-
943 void WII::statusRequest() {
-
944  uint8_t cmd_buf[3];
-
945  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
-
946  cmd_buf[1] = 0x15;
-
947  cmd_buf[2] = (HIDBuffer[2] & 0x01); // Keep the rumble bit
-
948  HID_Command(cmd_buf, 3);
-
949 }
-
950 
-
951 /************************************************************/
-
952 /* Memmory Commands */
-
953 
-
954 /************************************************************/
-
955 void WII::writeData(uint32_t offset, uint8_t size, uint8_t* data) {
-
956  uint8_t cmd_buf[23];
-
957  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
-
958  cmd_buf[1] = 0x16; // Write data
-
959  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Write to memory, clear bit 2 to write to EEPROM
-
960  cmd_buf[3] = (uint8_t)((offset & 0xFF0000) >> 16);
-
961  cmd_buf[4] = (uint8_t)((offset & 0xFF00) >> 8);
-
962  cmd_buf[5] = (uint8_t)(offset & 0xFF);
-
963  cmd_buf[6] = size;
-
964  uint8_t i = 0;
-
965  for (; i < size; i++)
-
966  cmd_buf[7 + i] = data[i];
-
967  for (; i < 16; i++) // Set the rest to zero
-
968  cmd_buf[7 + i] = 0x00;
-
969  HID_Command(cmd_buf, 23);
-
970 }
-
971 
-
972 void WII::initExtension1() {
-
973  uint8_t buf[1];
-
974  buf[0] = 0x55;
-
975  writeData(0xA400F0, 1, buf);
-
976 }
-
977 
-
978 void WII::initExtension2() {
-
979  uint8_t buf[1];
-
980  buf[0] = 0x00;
-
981  writeData(0xA400FB, 1, buf);
-
982 }
-
983 
-
984 void WII::initMotionPlus() {
-
985  uint8_t buf[1];
-
986  buf[0] = 0x55;
-
987  writeData(0xA600F0, 1, buf);
-
988 }
-
989 
-
990 void WII::activateMotionPlus() {
-
991  uint8_t buf[1];
-
992  if (pBtd->wiiUProController) {
-
993 #ifdef DEBUG_USB_HOST
-
994  Notify(PSTR("\r\nActivating Wii U Pro Controller"), 0x80);
-
995 #endif
-
996  buf[0] = 0x00; // It seems like you can send anything but 0x04, 0x05, and 0x07
-
997  } else if (activateNunchuck) {
-
998 #ifdef DEBUG_USB_HOST
-
999  Notify(PSTR("\r\nActivating Motion Plus in pass-through mode"), 0x80);
-
1000 #endif
-
1001  buf[0] = 0x05; // Activate nunchuck pass-through mode
-
1002  } //else if(classicControllerConnected && extensionConnected)
-
1003  //buf[0] = 0x07;
-
1004  else {
-
1005 #ifdef DEBUG_USB_HOST
-
1006  Notify(PSTR("\r\nActivating Motion Plus in normal mode"), 0x80);
-
1007 #endif
-
1008  buf[0] = 0x04; // Don't use any extension
-
1009  }
-
1010  writeData(0xA600FE, 1, buf);
-
1011 }
-
1012 
-
1013 void WII::readData(uint32_t offset, uint16_t size, bool EEPROM) {
-
1014  uint8_t cmd_buf[8];
-
1015  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
-
1016  cmd_buf[1] = 0x17; // Read data
-
1017  if (EEPROM)
-
1018  cmd_buf[2] = 0x00 | (HIDBuffer[2] & 0x01); // Read from EEPROM
-
1019  else
-
1020  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Read from memory
-
1021  cmd_buf[3] = (uint8_t)((offset & 0xFF0000) >> 16);
-
1022  cmd_buf[4] = (uint8_t)((offset & 0xFF00) >> 8);
-
1023  cmd_buf[5] = (uint8_t)(offset & 0xFF);
-
1024  cmd_buf[6] = (uint8_t)((size & 0xFF00) >> 8);
-
1025  cmd_buf[7] = (uint8_t)(size & 0xFF);
-
1026 
-
1027  HID_Command(cmd_buf, 8);
-
1028 }
-
1029 
-
1030 void WII::readExtensionType() {
-
1031  readData(0xA400FA, 6, false);
-
1032 }
+ +
913  checkExtension = false; // This is needed so the library knows that the status response is a response to this function
+
914  statusRequest(); // This will update the battery level
+
915  return batteryLevel;
+
916 };
+
917 
+
918 void WII::setReportMode(bool continuous, uint8_t mode) {
+
919  uint8_t cmd_buf[4];
+
920  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
+
921  cmd_buf[1] = 0x12;
+
922  if (continuous)
+
923  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Keep the rumble bit
+
924  else
+
925  cmd_buf[2] = 0x00 | (HIDBuffer[2] & 0x01); // Keep the rumble bit
+
926  cmd_buf[3] = mode;
+
927  HID_Command(cmd_buf, 4);
+
928 }
+
929 
+
930 void WII::statusRequest() {
+
931  uint8_t cmd_buf[3];
+
932  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
+
933  cmd_buf[1] = 0x15;
+
934  cmd_buf[2] = (HIDBuffer[2] & 0x01); // Keep the rumble bit
+
935  HID_Command(cmd_buf, 3);
+
936 }
+
937 
+
938 /************************************************************/
+
939 /* Memmory Commands */
+
940 
+
941 /************************************************************/
+
942 void WII::writeData(uint32_t offset, uint8_t size, uint8_t* data) {
+
943  uint8_t cmd_buf[23];
+
944  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
+
945  cmd_buf[1] = 0x16; // Write data
+
946  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Write to memory, clear bit 2 to write to EEPROM
+
947  cmd_buf[3] = (uint8_t)((offset & 0xFF0000) >> 16);
+
948  cmd_buf[4] = (uint8_t)((offset & 0xFF00) >> 8);
+
949  cmd_buf[5] = (uint8_t)(offset & 0xFF);
+
950  cmd_buf[6] = size;
+
951  uint8_t i = 0;
+
952  for (; i < size; i++)
+
953  cmd_buf[7 + i] = data[i];
+
954  for (; i < 16; i++) // Set the rest to zero
+
955  cmd_buf[7 + i] = 0x00;
+
956  HID_Command(cmd_buf, 23);
+
957 }
+
958 
+
959 void WII::initExtension1() {
+
960  uint8_t buf[1];
+
961  buf[0] = 0x55;
+
962  writeData(0xA400F0, 1, buf);
+
963 }
+
964 
+
965 void WII::initExtension2() {
+
966  uint8_t buf[1];
+
967  buf[0] = 0x00;
+
968  writeData(0xA400FB, 1, buf);
+
969 }
+
970 
+
971 void WII::initMotionPlus() {
+
972  uint8_t buf[1];
+
973  buf[0] = 0x55;
+
974  writeData(0xA600F0, 1, buf);
+
975 }
+
976 
+
977 void WII::activateMotionPlus() {
+
978  uint8_t buf[1];
+
979  if (pBtd->wiiUProController) {
+
980 #ifdef DEBUG_USB_HOST
+
981  Notify(PSTR("\r\nActivating Wii U Pro Controller"), 0x80);
+
982 #endif
+
983  buf[0] = 0x00; // It seems like you can send anything but 0x04, 0x05, and 0x07
+
984  } else if (activateNunchuck) {
+
985 #ifdef DEBUG_USB_HOST
+
986  Notify(PSTR("\r\nActivating Motion Plus in pass-through mode"), 0x80);
+
987 #endif
+
988  buf[0] = 0x05; // Activate nunchuck pass-through mode
+
989  } //else if(classicControllerConnected && extensionConnected)
+
990  //buf[0] = 0x07;
+
991  else {
+
992 #ifdef DEBUG_USB_HOST
+
993  Notify(PSTR("\r\nActivating Motion Plus in normal mode"), 0x80);
+
994 #endif
+
995  buf[0] = 0x04; // Don't use any extension
+
996  }
+
997  writeData(0xA600FE, 1, buf);
+
998 }
+
999 
+
1000 void WII::readData(uint32_t offset, uint16_t size, bool EEPROM) {
+
1001  uint8_t cmd_buf[8];
+
1002  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
+
1003  cmd_buf[1] = 0x17; // Read data
+
1004  if (EEPROM)
+
1005  cmd_buf[2] = 0x00 | (HIDBuffer[2] & 0x01); // Read from EEPROM
+
1006  else
+
1007  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Read from memory
+
1008  cmd_buf[3] = (uint8_t)((offset & 0xFF0000) >> 16);
+
1009  cmd_buf[4] = (uint8_t)((offset & 0xFF00) >> 8);
+
1010  cmd_buf[5] = (uint8_t)(offset & 0xFF);
+
1011  cmd_buf[6] = (uint8_t)((size & 0xFF00) >> 8);
+
1012  cmd_buf[7] = (uint8_t)(size & 0xFF);
+
1013 
+
1014  HID_Command(cmd_buf, 8);
+
1015 }
+
1016 
+
1017 void WII::readExtensionType() {
+
1018  readData(0xA400FA, 6, false);
+
1019 }
+
1020 
+
1021 void WII::readCalData() {
+
1022  readData(0x0016, 8, true);
+
1023 }
+
1024 
+
1025 void WII::checkMotionPresent() {
+
1026  readData(0xA600FA, 6, false);
+
1027 }
+
1028 
+
1029 /************************************************************/
+
1030 /* WII Commands */
+
1031 
+
1032 /************************************************************/
1033 
-
1034 void WII::readCalData() {
-
1035  readData(0x0016, 8, true);
-
1036 }
-
1037 
-
1038 void WII::checkMotionPresent() {
-
1039  readData(0xA600FA, 6, false);
-
1040 }
-
1041 
-
1042 /************************************************************/
-
1043 /* WII Commands */
-
1044 
-
1045 /************************************************************/
-
1046 
-
1047 bool WII::getButtonPress(Button b) { // Return true when a button is pressed
- -
1049  return (ButtonState & pgm_read_dword(&PROCONTROLLERBUTTONS[(uint8_t)b]));
-
1050  else
-
1051  return (ButtonState & pgm_read_dword(&BUTTONS[(uint8_t)b]));
-
1052 }
-
1053 
-
1054 bool WII::getButtonClick(Button b) { // Only return true when a button is clicked
-
1055  uint32_t button;
- -
1057  button = pgm_read_dword(&PROCONTROLLERBUTTONS[(uint8_t)b]);
-
1058  else
-
1059  button = pgm_read_dword(&BUTTONS[(uint8_t)b]);
-
1060  bool click = (ButtonClickState & button);
-
1061  ButtonClickState &= ~button; // clear "click" event
-
1062  return click;
-
1063 }
-
1064 
- -
1066  if (!nunchuckConnected)
-
1067  return 127; // Return center position
-
1068  else {
-
1069  uint8_t output = hatValues[(uint8_t)a];
-
1070  if (output == 0xFF || output == 0x00) // The joystick will only read 255 or 0 when the cable is unplugged or initializing, so we will just return the center position
-
1071  return 127;
-
1072  else
-
1073  return output;
-
1074  }
-
1075 }
-
1076 
- - -
1079  return 2000;
-
1080  else {
-
1081  uint16_t output = hatValues[(uint8_t)a];
-
1082  if (output == 0x00) // The joystick will only read 0 when it is first initializing, so we will just return the center position
-
1083  return 2000;
-
1084  else
-
1085  return output;
-
1086  }
-
1087 }
-
1088 
-
1089 void WII::onInit() {
-
1090  if (pFuncOnInit)
-
1091  pFuncOnInit(); // Call the user function
-
1092  else
-
1093  setLedStatus();
-
1094 }
-
1095 
-
1096 /************************************************************/
-
1097 /* The following functions are for the IR camera */
-
1098 /************************************************************/
-
1099 
-
1100 #ifdef WIICAMERA
-
1101 
-
1102 void WII::IRinitialize() { // Turns on and initialises the IR camera
-
1103 
-
1104  enableIRCamera1();
-
1105 #ifdef DEBUG_USB_HOST
-
1106  Notify(PSTR("\r\nEnable IR Camera1 Complete"), 0x80);
-
1107 #endif
-
1108  delay(80);
-
1109 
-
1110  enableIRCamera2();
-
1111 #ifdef DEBUG_USB_HOST
-
1112  Notify(PSTR("\r\nEnable IR Camera2 Complete"), 0x80);
-
1113 #endif
-
1114  delay(80);
-
1115 
-
1116  write0x08Value();
-
1117 #ifdef DEBUG_USB_HOST
-
1118  Notify(PSTR("\r\nWrote hex number 0x08"), 0x80);
-
1119 #endif
-
1120  delay(80);
-
1121 
-
1122  writeSensitivityBlock1();
+
1034 bool WII::getButtonPress(Button b) { // Return true when a button is pressed
+ +
1036  return (ButtonState & pgm_read_dword(&PROCONTROLLERBUTTONS[(uint8_t)b]));
+
1037  else
+
1038  return (ButtonState & pgm_read_dword(&BUTTONS[(uint8_t)b]));
+
1039 }
+
1040 
+
1041 bool WII::getButtonClick(Button b) { // Only return true when a button is clicked
+
1042  uint32_t button;
+ +
1044  button = pgm_read_dword(&PROCONTROLLERBUTTONS[(uint8_t)b]);
+
1045  else
+
1046  button = pgm_read_dword(&BUTTONS[(uint8_t)b]);
+
1047  bool click = (ButtonClickState & button);
+
1048  ButtonClickState &= ~button; // clear "click" event
+
1049  return click;
+
1050 }
+
1051 
+ +
1053  if (!nunchuckConnected)
+
1054  return 127; // Return center position
+
1055  else {
+
1056  uint8_t output = hatValues[(uint8_t)a];
+
1057  if (output == 0xFF || output == 0x00) // The joystick will only read 255 or 0 when the cable is unplugged or initializing, so we will just return the center position
+
1058  return 127;
+
1059  else
+
1060  return output;
+
1061  }
+
1062 }
+
1063 
+ + +
1066  return 2000;
+
1067  else {
+
1068  uint16_t output = hatValues[(uint8_t)a];
+
1069  if (output == 0x00) // The joystick will only read 0 when it is first initializing, so we will just return the center position
+
1070  return 2000;
+
1071  else
+
1072  return output;
+
1073  }
+
1074 }
+
1075 
+
1076 void WII::onInit() {
+
1077  if (pFuncOnInit)
+
1078  pFuncOnInit(); // Call the user function
+
1079  else
+
1080  setLedStatus();
+
1081 }
+
1082 
+
1083 /************************************************************/
+
1084 /* The following functions are for the IR camera */
+
1085 /************************************************************/
+
1086 
+
1087 #ifdef WIICAMERA
+
1088 
+
1089 void WII::IRinitialize() { // Turns on and initialises the IR camera
+
1090 
+
1091  enableIRCamera1();
+
1092 #ifdef DEBUG_USB_HOST
+
1093  Notify(PSTR("\r\nEnable IR Camera1 Complete"), 0x80);
+
1094 #endif
+
1095  delay(80);
+
1096 
+
1097  enableIRCamera2();
+
1098 #ifdef DEBUG_USB_HOST
+
1099  Notify(PSTR("\r\nEnable IR Camera2 Complete"), 0x80);
+
1100 #endif
+
1101  delay(80);
+
1102 
+
1103  write0x08Value();
+
1104 #ifdef DEBUG_USB_HOST
+
1105  Notify(PSTR("\r\nWrote hex number 0x08"), 0x80);
+
1106 #endif
+
1107  delay(80);
+
1108 
+
1109  writeSensitivityBlock1();
+
1110 #ifdef DEBUG_USB_HOST
+
1111  Notify(PSTR("\r\nWrote Sensitivity Block 1"), 0x80);
+
1112 #endif
+
1113  delay(80);
+
1114 
+
1115  writeSensitivityBlock2();
+
1116 #ifdef DEBUG_USB_HOST
+
1117  Notify(PSTR("\r\nWrote Sensitivity Block 2"), 0x80);
+
1118 #endif
+
1119  delay(80);
+
1120 
+
1121  uint8_t mode_num = 0x03;
+
1122  setWiiModeNumber(mode_num); // Change input for whatever mode you want i.e. 0x01, 0x03, or 0x05
1123 #ifdef DEBUG_USB_HOST
-
1124  Notify(PSTR("\r\nWrote Sensitivity Block 1"), 0x80);
-
1125 #endif
-
1126  delay(80);
-
1127 
-
1128  writeSensitivityBlock2();
-
1129 #ifdef DEBUG_USB_HOST
-
1130  Notify(PSTR("\r\nWrote Sensitivity Block 2"), 0x80);
-
1131 #endif
-
1132  delay(80);
-
1133 
-
1134  uint8_t mode_num = 0x03;
-
1135  setWiiModeNumber(mode_num); // Change input for whatever mode you want i.e. 0x01, 0x03, or 0x05
-
1136 #ifdef DEBUG_USB_HOST
-
1137  Notify(PSTR("\r\nSet Wii Mode Number To 0x"), 0x80);
-
1138  D_PrintHex<uint8_t > (mode_num, 0x80);
+
1124  Notify(PSTR("\r\nSet Wii Mode Number To 0x"), 0x80);
+
1125  D_PrintHex<uint8_t > (mode_num, 0x80);
+
1126 #endif
+
1127  delay(80);
+
1128 
+
1129  write0x08Value();
+
1130 #ifdef DEBUG_USB_HOST
+
1131  Notify(PSTR("\r\nWrote Hex Number 0x08"), 0x80);
+
1132 #endif
+
1133  delay(80);
+
1134 
+
1135  setReportMode(false, 0x33);
+
1136  //setReportMode(false, 0x3f); // For full reporting mode, doesn't work yet
+
1137 #ifdef DEBUG_USB_HOST
+
1138  Notify(PSTR("\r\nSet Report Mode to 0x33"), 0x80);
1139 #endif
1140  delay(80);
1141 
-
1142  write0x08Value();
+
1142  statusRequest(); // Used to update wiiState - call isIRCameraEnabled() afterwards to check if it actually worked
1143 #ifdef DEBUG_USB_HOST
-
1144  Notify(PSTR("\r\nWrote Hex Number 0x08"), 0x80);
+
1144  Notify(PSTR("\r\nIR Initialized"), 0x80);
1145 #endif
-
1146  delay(80);
+
1146 }
1147 
-
1148  setReportMode(false, 0x33);
-
1149  //setReportMode(false, 0x3f); // For full reporting mode, doesn't work yet
-
1150 #ifdef DEBUG_USB_HOST
-
1151  Notify(PSTR("\r\nSet Report Mode to 0x33"), 0x80);
-
1152 #endif
-
1153  delay(80);
-
1154 
-
1155  statusRequest(); // Used to update wiiState - call isIRCameraEnabled() afterwards to check if it actually worked
-
1156 #ifdef DEBUG_USB_HOST
-
1157  Notify(PSTR("\r\nIR Initialized"), 0x80);
-
1158 #endif
-
1159 }
-
1160 
-
1161 void WII::enableIRCamera1() {
-
1162  uint8_t cmd_buf[3];
-
1163  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
-
1164  cmd_buf[1] = 0x13; // Output report 13
-
1165  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Keep the rumble bit and sets bit 2
-
1166  HID_Command(cmd_buf, 3);
-
1167 }
-
1168 
-
1169 void WII::enableIRCamera2() {
-
1170  uint8_t cmd_buf[3];
-
1171  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
-
1172  cmd_buf[1] = 0x1A; // Output report 1A
-
1173  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Keep the rumble bit and sets bit 2
-
1174  HID_Command(cmd_buf, 3);
-
1175 }
-
1176 
-
1177 void WII::writeSensitivityBlock1() {
-
1178  uint8_t buf[9];
-
1179  buf[0] = 0x00;
-
1180  buf[1] = 0x00;
-
1181  buf[2] = 0x00;
-
1182  buf[3] = 0x00;
-
1183  buf[4] = 0x00;
-
1184  buf[5] = 0x00;
-
1185  buf[6] = 0x90;
-
1186  buf[7] = 0x00;
-
1187  buf[8] = 0x41;
-
1188 
-
1189  writeData(0xB00000, 9, buf);
+
1148 void WII::enableIRCamera1() {
+
1149  uint8_t cmd_buf[3];
+
1150  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
+
1151  cmd_buf[1] = 0x13; // Output report 13
+
1152  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Keep the rumble bit and sets bit 2
+
1153  HID_Command(cmd_buf, 3);
+
1154 }
+
1155 
+
1156 void WII::enableIRCamera2() {
+
1157  uint8_t cmd_buf[3];
+
1158  cmd_buf[0] = 0xA2; // HID BT DATA_request (0xA0) | Report Type (Output 0x02)
+
1159  cmd_buf[1] = 0x1A; // Output report 1A
+
1160  cmd_buf[2] = 0x04 | (HIDBuffer[2] & 0x01); // Keep the rumble bit and sets bit 2
+
1161  HID_Command(cmd_buf, 3);
+
1162 }
+
1163 
+
1164 void WII::writeSensitivityBlock1() {
+
1165  uint8_t buf[9];
+
1166  buf[0] = 0x00;
+
1167  buf[1] = 0x00;
+
1168  buf[2] = 0x00;
+
1169  buf[3] = 0x00;
+
1170  buf[4] = 0x00;
+
1171  buf[5] = 0x00;
+
1172  buf[6] = 0x90;
+
1173  buf[7] = 0x00;
+
1174  buf[8] = 0x41;
+
1175 
+
1176  writeData(0xB00000, 9, buf);
+
1177 }
+
1178 
+
1179 void WII::writeSensitivityBlock2() {
+
1180  uint8_t buf[2];
+
1181  buf[0] = 0x40;
+
1182  buf[1] = 0x00;
+
1183 
+
1184  writeData(0xB0001A, 2, buf);
+
1185 }
+
1186 
+
1187 void WII::write0x08Value() {
+
1188  uint8_t cmd = 0x08;
+
1189  writeData(0xb00030, 1, &cmd);
1190 }
1191 
-
1192 void WII::writeSensitivityBlock2() {
-
1193  uint8_t buf[2];
-
1194  buf[0] = 0x40;
-
1195  buf[1] = 0x00;
-
1196 
-
1197  writeData(0xB0001A, 2, buf);
-
1198 }
-
1199 
-
1200 void WII::write0x08Value() {
-
1201  uint8_t cmd = 0x08;
-
1202  writeData(0xb00030, 1, &cmd);
-
1203 }
-
1204 
-
1205 void WII::setWiiModeNumber(uint8_t mode_number) { // mode_number in hex i.e. 0x03 for extended mode
-
1206  writeData(0xb00033, 1, &mode_number);
-
1207 }
-
1208 #endif
+
1192 void WII::setWiiModeNumber(uint8_t mode_number) { // mode_number in hex i.e. 0x03 for extended mode
+
1193  writeData(0xb00033, 1, &mode_number);
+
1194 }
+
1195 #endif
+
bool wiimoteConnected
Definition: Wii.h:239
+
bool incomingWii
Definition: BTD.h:419
+
#define L2CAP_WAIT
Definition: PS3BT.h:27
+
int16_t gyroPitchRaw
Definition: Wii.h:307
+
#define nunchuck_connected_flag
Definition: Wii.h:77
+
#define L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE
Definition: PS3BT.h:46
+
uint16_t rollGyroScale
Definition: Wii.h:299
+
void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
Definition: BTD.cpp:1157
+
#define SUCCESSFUL
Definition: BTD.h:121
+
void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t *scid, uint16_t psm)
Definition: BTD.cpp:1144
+
void setLedRaw(uint8_t value)
Definition: Wii.cpp:876
+
uint16_t yawGyroScale
Definition: Wii.h:300
+
Definition: BTD.h:156
+
Definition: Wii.h:84
+
#define WII_FLAG_NUNCHUCK_CONNECTED
Definition: Wii.h:74
+
void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1210
+
virtual void ACLData(uint8_t *ACLData)
Definition: Wii.cpp:134
+
#define motion_plus_connected_flag
Definition: Wii.h:76
+
bool pairWithWii
Definition: BTD.h:421
+
double gyroRoll
Definition: Wii.h:285
+
void setLedToggle(LED a)
Definition: Wii.cpp:893
+
void setRumbleOn()
Definition: Wii.cpp:864
+
virtual void Reset()
Definition: Wii.cpp:103
+ +
int16_t accZnunchuck
Definition: Wii.h:278
+
#define L2CAP_LED_STATE
Definition: Wii.h:46
+
const uint8_t LEDS[]
Definition: PS3Enums.h:43
+
uint8_t getBatteryLevel()
Definition: Wii.cpp:912
+
#define l2cap_connection_request_control_flag
Definition: PS3BT.h:50
+
virtual void disconnect()
Definition: Wii.cpp:117
+
bool motionPlusInside
Definition: BTD.h:423
+
#define L2CAP_FLAG_CONTROL_CONNECTED
Definition: Wii.h:53
+ +
void setLedOff(LED a)
Definition: Wii.cpp:881
+
#define L2CAP_INTERRUPT_SETUP
Definition: PS3BT.h:30
+
int16_t accXnunchuck
Definition: Wii.h:278
+
bool getButtonClick(Button b)
Definition: Wii.cpp:1041
+ +
#define l2cap_connected_interrupt_flag
Definition: Wii.h:64
+
#define L2CAP_CONTROL_CONFIG_REQUEST
Definition: Wii.h:38
+
int16_t gyroRollRaw
Definition: Wii.h:306
+
const uint32_t PROCONTROLLERBUTTONS[]
Definition: Wii.cpp:58
+ +
void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
Definition: BTD.cpp:1223
+
void IRinitialize()
Definition: Wii.cpp:1089
+
#define L2CAP_CONTROL_DISCONNECT
Definition: PS3BT.h:37
+
Definition: Wii.h:86
+
#define Notify(...)
Definition: message.h:44
+
void setRumbleToggle()
Definition: Wii.cpp:870
+
int16_t gyroPitchZero
Definition: Wii.h:314
+
uint16_t pitchGyroScale
Definition: Wii.h:298
+
#define HID_CTRL_PSM
Definition: BTD.h:126
+
double getWiimoteRoll()
Definition: Wii.h:260
+
WII(BTD *p, bool pair=false)
Definition: Wii.cpp:84
+
#define l2cap_disconnect_response_control_flag
Definition: PS3BT.h:56
+
double rollGyroSpeed
Definition: Wii.h:292
+
#define L2CAP_INTERRUPT_CONNECT_REQUEST
Definition: Wii.h:39
+
#define L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE
Definition: PS3BT.h:47
+
bool connectToWii
Definition: BTD.h:415
+
bool wiiUProController
Definition: BTD.h:425
+
uint16_t hci_handle
Definition: BTD.h:399
+
#define L2CAP_INTERRUPT_DISCONNECT
Definition: PS3BT.h:36
+
void hci_disconnect(uint16_t handle)
Definition: BTD.cpp:1068
+
void setLedStatus()
Definition: Wii.cpp:899
+ +
#define WII_FLAG_MOTION_PLUS_CONNECTED
Definition: Wii.h:73
+
void setLedOn(LED a)
Definition: Wii.cpp:887
+
#define L2CAP_DONE
Definition: PS3BT.h:35
+
#define L2CAP_FLAG_CONNECTION_CONTROL_REQUEST
Definition: PS3BT.h:40
+
#define L2CAP_INTERRUPT_CONFIG_REQUEST
Definition: Wii.h:41
+
int16_t accYwiimote
Definition: Wii.h:272
+
bool wiiUProControllerConnected
Definition: Wii.h:250
+
#define l2cap_disconnect_response_interrupt_flag
Definition: PS3BT.h:57
+
#define l2cap_connection_request_interrupt_flag
Definition: PS3BT.h:53
+
#define L2CAP_CHECK_EXTENSION_STATE
Definition: Wii.h:44
+
void setRumbleOff()
Definition: Wii.cpp:858
+
#define L2CAP_CMD_CONFIG_REQUEST
Definition: BTD.h:112
+
#define L2CAP_CMD_DISCONNECT_REQUEST
Definition: BTD.h:114
+
void setAllOff()
Definition: Wii.cpp:852
+
#define L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS
Definition: PS3BT.h:45
+
double gyroYaw
Definition: Wii.h:287
+
#define L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST
Definition: PS3BT.h:43
+
#define HID_INTR_PSM
Definition: BTD.h:127
+
bool nunchuckConnected
Definition: Wii.h:246
+
int8_t registerServiceClass(BluetoothService *pService)
Definition: BTD.h:250
+
bool l2capConnectionClaimed
Definition: BTD.h:385
+
int16_t gyroYawRaw
Definition: Wii.h:305
+
bool getButtonPress(Button b)
Definition: Wii.cpp:1034
+
bool isIRCameraEnabled()
Definition: Wii.h:425
+
Hat
Definition: Wii.h:82
+
#define L2CAP_CONTROL_CONNECT_REQUEST
Definition: Wii.h:37
+
#define L2CAP_CMD_DISCONNECT_RESPONSE
Definition: BTD.h:115
+
#define L2CAP_CMD_CONNECTION_RESPONSE
Definition: BTD.h:111
+
#define L2CAP_CMD_CONFIG_RESPONSE
Definition: BTD.h:113
+
double getWiimotePitch()
Definition: Wii.h:257
+
void pair(void)
Definition: Wii.h:133
+
#define l2cap_config_success_interrupt_flag
Definition: PS3BT.h:55
+
#define l2cap_config_success_control_flag
Definition: PS3BT.h:52
+
#define L2CAP_CHECK_MOTION_PLUS_STATE
Definition: Wii.h:43
+
Button
+
double yawGyroSpeed
Definition: Wii.h:293
+
#define l2cap_connected_control_flag
Definition: Wii.h:63
+
#define L2CAP_FLAG_INTERRUPT_CONNECTED
Definition: Wii.h:54
+
int16_t accYnunchuck
Definition: Wii.h:278
+
int16_t gyroYawZero
Definition: Wii.h:312
+
#define L2CAP_CONTROL_SUCCESS
Definition: PS3BT.h:29
+
double pitchGyroSpeed
Definition: Wii.h:291
+
double gyroPitch
Definition: Wii.h:283
+
void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
Definition: BTD.cpp:1116
+
void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
Definition: BTD.cpp:1191
+
#define PENDING
Definition: BTD.h:120
+
void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
Definition: BTD.cpp:1174
+
#define L2CAP_CMD_CONNECTION_REQUEST
Definition: BTD.h:110
+
bool motionPlusConnected
Definition: Wii.h:248
+
int16_t gyroRollZero
Definition: Wii.h:313
+
AnalogHat
+ +
const uint32_t BUTTONS[]
Definition: PS3Enums.h:62
+
#define L2CAP_INIT_MOTION_PLUS_STATE
Definition: Wii.h:45
+
virtual void Run()
Definition: Wii.cpp:682
+
int16_t accXwiimote
Definition: Wii.h:272
+
uint8_t getAnalogHat(Hat a)
Definition: Wii.cpp:1052
+
#define L2CAP_FLAG_CONFIG_CONTROL_SUCCESS
Definition: PS3BT.h:42
+
int16_t accZwiimote
Definition: Wii.h:272
+
#define L2CAP_CMD_COMMAND_REJECT
Definition: BTD.h:109
diff --git a/_wii_8h.html b/_wii_8h.html index 4f70c61b..ed958bdf 100644 --- a/_wii_8h.html +++ b/_wii_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Wii.h File Reference @@ -31,7 +31,7 @@ - + @@ -100,14 +100,14 @@ Include dependency graph for Wii.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -734,7 +734,7 @@ Enumerations diff --git a/_wii_8h__dep__incl.map b/_wii_8h__dep__incl.map index e927d218..87832654 100644 --- a/_wii_8h__dep__incl.map +++ b/_wii_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/_wii_8h__dep__incl.md5 b/_wii_8h__dep__incl.md5 index 893d3cd0..1300a3e5 100644 --- a/_wii_8h__dep__incl.md5 +++ b/_wii_8h__dep__incl.md5 @@ -1 +1 @@ -779b2bf5a0417ac5551fada2b3603f4f \ No newline at end of file +4f5ed0d059dbe61d52339b9d9d877c07 \ No newline at end of file diff --git a/_wii_8h__dep__incl.png b/_wii_8h__dep__incl.png index 0b7498d58acf0e24e45a0f36340c2556cd10f6d9..e05f330b33aab632a139cc8473c1742d0c521793 100644 GIT binary patch literal 2447 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 - - - - - - - - - - - - - + + + diff --git a/_wii_8h__incl.md5 b/_wii_8h__incl.md5 index 9c1d74d4..8af172ab 100644 --- a/_wii_8h__incl.md5 +++ b/_wii_8h__incl.md5 @@ -1 +1 @@ -04eb8784e2fed1d9edf37be3ab5d7f9a \ No newline at end of file +8f6053582134fdb8a44a345a833d0cc3 \ No newline at end of file diff --git a/_wii_8h__incl.png b/_wii_8h__incl.png index c71b7b476006118757aba033d3af95e71de61e9a..42891d10ae28a3672ba0bd13823de0ed21dc3c9e 100644 GIT binary patch literal 7214 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 diff --git a/_wii_8h_source.html b/_wii_8h_source.html index 1b8dda4c..d5144ad8 100644 --- a/_wii_8h_source.html +++ b/_wii_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Wii.h Source File @@ -31,7 +31,7 @@ - + @@ -114,66 +114,66 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
23 #include "BTD.h"
24 #include "controllerEnums.h"
25 
-
27 #define WIICAMERA
+
27 #define WIICAMERA
28 
29 /* Bluetooth L2CAP states for L2CAP_task() */
-
30 #define L2CAP_WAIT 0
+
30 #define L2CAP_WAIT 0
31 
32 // These states are used if the Wiimote is the host
-
33 #define L2CAP_CONTROL_SUCCESS 1
-
34 #define L2CAP_INTERRUPT_SETUP 2
+
33 #define L2CAP_CONTROL_SUCCESS 1
+
34 #define L2CAP_INTERRUPT_SETUP 2
35 
36 // These states are used if the Arduino is the host
-
37 #define L2CAP_CONTROL_CONNECT_REQUEST 3
-
38 #define L2CAP_CONTROL_CONFIG_REQUEST 4
-
39 #define L2CAP_INTERRUPT_CONNECT_REQUEST 5
+
37 #define L2CAP_CONTROL_CONNECT_REQUEST 3
+
38 #define L2CAP_CONTROL_CONFIG_REQUEST 4
+
39 #define L2CAP_INTERRUPT_CONNECT_REQUEST 5
40 
-
41 #define L2CAP_INTERRUPT_CONFIG_REQUEST 6
+
41 #define L2CAP_INTERRUPT_CONFIG_REQUEST 6
42 
-
43 #define L2CAP_CHECK_MOTION_PLUS_STATE 7
-
44 #define L2CAP_CHECK_EXTENSION_STATE 8
-
45 #define L2CAP_INIT_MOTION_PLUS_STATE 9
-
46 #define L2CAP_LED_STATE 10
-
47 #define L2CAP_DONE 11
+
43 #define L2CAP_CHECK_MOTION_PLUS_STATE 7
+
44 #define L2CAP_CHECK_EXTENSION_STATE 8
+
45 #define L2CAP_INIT_MOTION_PLUS_STATE 9
+
46 #define L2CAP_LED_STATE 10
+
47 #define L2CAP_DONE 11
48 
-
49 #define L2CAP_INTERRUPT_DISCONNECT 12
-
50 #define L2CAP_CONTROL_DISCONNECT 13
+
49 #define L2CAP_INTERRUPT_DISCONNECT 12
+
50 #define L2CAP_CONTROL_DISCONNECT 13
51 
52 /* L2CAP event flags */
-
53 #define L2CAP_FLAG_CONTROL_CONNECTED 0x001
-
54 #define L2CAP_FLAG_INTERRUPT_CONNECTED 0x002
-
55 #define L2CAP_FLAG_CONFIG_CONTROL_SUCCESS 0x004
-
56 #define L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS 0x008
-
57 #define L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE 0x040
-
58 #define L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE 0x080
-
59 #define L2CAP_FLAG_CONNECTION_CONTROL_REQUEST 0x100
-
60 #define L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST 0x200
+
53 #define L2CAP_FLAG_CONTROL_CONNECTED 0x001
+
54 #define L2CAP_FLAG_INTERRUPT_CONNECTED 0x002
+
55 #define L2CAP_FLAG_CONFIG_CONTROL_SUCCESS 0x004
+
56 #define L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS 0x008
+
57 #define L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE 0x040
+
58 #define L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE 0x080
+
59 #define L2CAP_FLAG_CONNECTION_CONTROL_REQUEST 0x100
+
60 #define L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST 0x200
61 
62 /* Macros for L2CAP event flag tests */
-
63 #define l2cap_connected_control_flag (l2cap_event_flag & L2CAP_FLAG_CONTROL_CONNECTED)
-
64 #define l2cap_connected_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_INTERRUPT_CONNECTED)
-
65 #define l2cap_config_success_control_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_CONTROL_SUCCESS)
-
66 #define l2cap_config_success_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS)
-
67 #define l2cap_disconnect_response_control_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE)
-
68 #define l2cap_disconnect_response_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE)
-
69 #define l2cap_connection_request_control_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_CONTROL_REQUEST)
-
70 #define l2cap_connection_request_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST)
+
63 #define l2cap_connected_control_flag (l2cap_event_flag & L2CAP_FLAG_CONTROL_CONNECTED)
+
64 #define l2cap_connected_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_INTERRUPT_CONNECTED)
+
65 #define l2cap_config_success_control_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_CONTROL_SUCCESS)
+
66 #define l2cap_config_success_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONFIG_INTERRUPT_SUCCESS)
+
67 #define l2cap_disconnect_response_control_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_CONTROL_RESPONSE)
+
68 #define l2cap_disconnect_response_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_DISCONNECT_INTERRUPT_RESPONSE)
+
69 #define l2cap_connection_request_control_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_CONTROL_REQUEST)
+
70 #define l2cap_connection_request_interrupt_flag (l2cap_event_flag & L2CAP_FLAG_CONNECTION_INTERRUPT_REQUEST)
71 
72 /* Wii event flags */
-
73 #define WII_FLAG_MOTION_PLUS_CONNECTED 0x400
-
74 #define WII_FLAG_NUNCHUCK_CONNECTED 0x800
+
73 #define WII_FLAG_MOTION_PLUS_CONNECTED 0x400
+
74 #define WII_FLAG_NUNCHUCK_CONNECTED 0x800
75 
-
76 #define motion_plus_connected_flag (l2cap_event_flag & WII_FLAG_MOTION_PLUS_CONNECTED)
-
77 #define nunchuck_connected_flag (l2cap_event_flag & WII_FLAG_NUNCHUCK_CONNECTED)
+
76 #define motion_plus_connected_flag (l2cap_event_flag & WII_FLAG_MOTION_PLUS_CONNECTED)
+
77 #define nunchuck_connected_flag (l2cap_event_flag & WII_FLAG_NUNCHUCK_CONNECTED)
78 
-
79 #define PAIR 1
+
79 #define PAIR 1
80 
-
82 enum Hat {
-
84  HatX = 0,
-
86  HatY = 1,
+
82 enum Hat {
+
84  HatX = 0,
+
86  HatY = 1,
87 };
88 
-
94 class WII : public BluetoothService {
+
94 class WII : public BluetoothService {
95 public:
102  WII(BTD *p, bool pair = false);
103 
@@ -183,225 +183,315 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
115  virtual void disconnect();
127  bool getButtonPress(Button b);
128  bool getButtonClick(Button b);
-
133  void pair(void) {
+
133  void pair(void) {
134  if(pBtd)
135  pBtd->pairWithWiimote();
136  }
142  uint8_t getAnalogHat(Hat a);
148  uint16_t getAnalogHat(AnalogHat a);
149 
-
154  double getPitch() {
-
155  return pitch;
-
156  };
-
157 
-
162  double getRoll() {
-
163  return roll;
-
164  };
-
165 
-
172  double getYaw() {
-
173  return gyroYaw;
-
174  };
-
175 
-
177  void setAllOff();
-
179  void setRumbleOff();
-
181  void setRumbleOn();
-
183  void setRumbleToggle();
-
184 
-
189  void setLedRaw(uint8_t value);
-
194  void setLedOff(LED a);
-
199  void setLedOn(LED a);
-
204  void setLedToggle(LED a);
-
214  void setLedStatus();
-
215 
-
220  uint8_t getBatteryLevel();
-
225  uint8_t getWiiState() {
-
226  return wiiState;
-
227  };
-
228 
-
233  void attachOnInit(void (*funcOnInit)(void)) {
-
234  pFuncOnInit = funcOnInit;
-
235  };
-
240  bool wiimoteConnected;
- - - -
249  /* IMU Data, might be usefull if you need to do something more advanced than just calculating the angle */
-
250 
-
253  double wiimotePitch;
-
254  double wiimoteRoll;
- -
260  double nunchuckRoll;
-
265  int16_t accX;
-
266  int16_t accY;
-
267  int16_t accZ;
-
270  /* Variables for the gyro inside the Motion Plus */
-
272  double gyroPitch;
-
274  double gyroRoll;
-
276  double gyroYaw;
-
277 
- - -
282  double yawGyroSpeed;
-
287  uint16_t pitchGyroScale;
-
288  uint16_t rollGyroScale;
-
289  uint16_t yawGyroScale;
-
294  int16_t gyroYawRaw;
-
295  int16_t gyroRollRaw;
-
296  int16_t gyroPitchRaw;
-
301  int16_t gyroYawZero;
-
302  int16_t gyroRollZero;
-
303  int16_t gyroPitchZero;
-
306 #ifdef WIICAMERA
-
307 
-
311  void IRinitialize();
-
312 
-
317  uint16_t getIRx1() {
-
318  return IR_object_x1;
-
319  };
-
320 
-
325  uint16_t getIRy1() {
-
326  return IR_object_y1;
-
327  };
-
328 
-
333  uint8_t getIRs1() {
-
334  return IR_object_s1;
-
335  };
-
336 
-
341  uint16_t getIRx2() {
-
342  return IR_object_x2;
-
343  };
-
344 
-
349  uint16_t getIRy2() {
-
350  return IR_object_y2;
-
351  };
-
352 
-
357  uint8_t getIRs2() {
-
358  return IR_object_s2;
-
359  };
-
360 
-
365  uint16_t getIRx3() {
-
366  return IR_object_x3;
-
367  };
-
368 
-
373  uint16_t getIRy3() {
-
374  return IR_object_y3;
-
375  };
-
376 
-
381  uint8_t getIRs3() {
-
382  return IR_object_s3;
-
383  };
-
384 
-
389  uint16_t getIRx4() {
-
390  return IR_object_x4;
-
391  };
-
392 
-
397  uint16_t getIRy4() {
-
398  return IR_object_y4;
-
399  };
-
400 
-
405  uint8_t getIRs4() {
-
406  return IR_object_s4;
-
407  };
-
408 
- -
415  return(wiiState & 0x08);
-
416  };
-
418 #endif
-
419 
-
420 private:
-
421  BTD *pBtd; // Pointer to BTD instance
-
422 
-
428  void onInit();
-
429  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
-
430 
-
431  void L2CAP_task(); // L2CAP state machine
-
432 
-
433  /* Variables filled from HCI event management */
-
434  uint16_t hci_handle;
-
435  bool activeConnection; // Used to indicate if it's already has established a connection
-
436 
-
437  /* Variables used by high level L2CAP task */
-
438  uint8_t l2cap_state;
-
439  uint16_t l2cap_event_flag; // l2cap flags of received Bluetooth events
-
440 
-
441  uint32_t ButtonState;
-
442  uint32_t OldButtonState;
-
443  uint32_t ButtonClickState;
-
444  uint16_t hatValues[4];
-
445 
-
446  uint8_t HIDBuffer[3]; // Used to store HID commands
+
154  double getPitch() {
+ +
156  return compPitch;
+
157  return getWiimotePitch();
+
158  };
+
159 
+
164  double getRoll() {
+ +
166  return compRoll;
+
167  return getWiimoteRoll();
+
168  };
+
169 
+
176  double getYaw() {
+
177  return gyroYaw;
+
178  };
+
179 
+
181  void setAllOff();
+
183  void setRumbleOff();
+
185  void setRumbleOn();
+
187  void setRumbleToggle();
+
188 
+
193  void setLedRaw(uint8_t value);
+
198  void setLedOff(LED a);
+
203  void setLedOn(LED a);
+
208  void setLedToggle(LED a);
+
218  void setLedStatus();
+
219 
+
224  uint8_t getBatteryLevel();
+
229  uint8_t getWiiState() {
+
230  return wiiState;
+
231  };
+
232 
+
237  void attachOnInit(void (*funcOnInit)(void)) {
+
238  pFuncOnInit = funcOnInit;
+
239  };
+
244  bool wiimoteConnected;
+ + + +
253  /* IMU Data, might be usefull if you need to do something more advanced than just calculating the angle */
+
254 
+
257  double getWiimotePitch() {
+
258  return (atan2(accYwiimote, accZwiimote) + PI) * RAD_TO_DEG;
+
259  };
+
260  double getWiimoteRoll() {
+
261  return (atan2(accXwiimote, accZwiimote) + PI) * RAD_TO_DEG;
+
262  };
+
267  double getNunchuckPitch() {
+
268  return (atan2(accYnunchuck, accZnunchuck) + PI) * RAD_TO_DEG;
+
269  };
+
270  double getNunchuckRoll() {
+
271  return (atan2(accXnunchuck, accZnunchuck) + PI) * RAD_TO_DEG;
+
272  };
+ + +
281  /* Variables for the gyro inside the Motion Plus */
+
283  double gyroPitch;
+
285  double gyroRoll;
+
287  double gyroYaw;
+
288 
+ + +
293  double yawGyroSpeed;
+
298  uint16_t pitchGyroScale;
+
299  uint16_t rollGyroScale;
+
300  uint16_t yawGyroScale;
+
305  int16_t gyroYawRaw;
+
306  int16_t gyroRollRaw;
+
307  int16_t gyroPitchRaw;
+
312  int16_t gyroYawZero;
+
313  int16_t gyroRollZero;
+
314  int16_t gyroPitchZero;
+
317 #ifdef WIICAMERA
+
318 
+
322  void IRinitialize();
+
323 
+
328  uint16_t getIRx1() {
+
329  return IR_object_x1;
+
330  };
+
331 
+
336  uint16_t getIRy1() {
+
337  return IR_object_y1;
+
338  };
+
339 
+
344  uint8_t getIRs1() {
+
345  return IR_object_s1;
+
346  };
+
347 
+
352  uint16_t getIRx2() {
+
353  return IR_object_x2;
+
354  };
+
355 
+
360  uint16_t getIRy2() {
+
361  return IR_object_y2;
+
362  };
+
363 
+
368  uint8_t getIRs2() {
+
369  return IR_object_s2;
+
370  };
+
371 
+
376  uint16_t getIRx3() {
+
377  return IR_object_x3;
+
378  };
+
379 
+
384  uint16_t getIRy3() {
+
385  return IR_object_y3;
+
386  };
+
387 
+
392  uint8_t getIRs3() {
+
393  return IR_object_s3;
+
394  };
+
395 
+
400  uint16_t getIRx4() {
+
401  return IR_object_x4;
+
402  };
+
403 
+
408  uint16_t getIRy4() {
+
409  return IR_object_y4;
+
410  };
+
411 
+
416  uint8_t getIRs4() {
+
417  return IR_object_s4;
+
418  };
+
419 
+ +
426  return(wiiState & 0x08);
+
427  };
+
429 #endif
+
430 
+
431 private:
+
432  BTD *pBtd; // Pointer to BTD instance
+
433 
+
439  void onInit();
+
440  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
+
441 
+
442  void L2CAP_task(); // L2CAP state machine
+
443 
+
444  /* Variables filled from HCI event management */
+
445  uint16_t hci_handle;
+
446  bool activeConnection; // Used to indicate if it's already has established a connection
447 
-
448  uint16_t stateCounter;
-
449  bool unknownExtensionConnected;
-
450  bool extensionConnected;
-
451  bool checkExtension; // Set to false when getBatteryLevel() is called otherwise if should be true
-
452  bool motionPlusInside; // True if it's a new Wiimote with the Motion Plus extension build into it
-
453 
-
454  /* L2CAP Channels */
-
455  uint8_t control_scid[2]; // L2CAP source CID for HID_Control
-
456  uint8_t control_dcid[2]; // 0x0060
-
457  uint8_t interrupt_scid[2]; // L2CAP source CID for HID_Interrupt
-
458  uint8_t interrupt_dcid[2]; // 0x0061
-
459  uint8_t identifier; // Identifier for connection
-
460 
-
461  /* HID Commands */
-
462  void HID_Command(uint8_t* data, uint8_t nbytes);
-
463  void setReportMode(bool continuous, uint8_t mode);
+
448  /* Variables used by high level L2CAP task */
+
449  uint8_t l2cap_state;
+
450  uint16_t l2cap_event_flag; // l2cap flags of received Bluetooth events
+
451 
+
452  uint32_t ButtonState;
+
453  uint32_t OldButtonState;
+
454  uint32_t ButtonClickState;
+
455  uint16_t hatValues[4];
+
456 
+
457  uint8_t HIDBuffer[3]; // Used to store HID commands
+
458 
+
459  uint16_t stateCounter;
+
460  bool unknownExtensionConnected;
+
461  bool extensionConnected;
+
462  bool checkExtension; // Set to false when getBatteryLevel() is called otherwise if should be true
+
463  bool motionPlusInside; // True if it's a new Wiimote with the Motion Plus extension build into it
464 
-
465  void writeData(uint32_t offset, uint8_t size, uint8_t* data);
-
466  void initExtension1();
-
467  void initExtension2();
-
468 
-
469  void statusRequest(); // Used to update the Wiimote state and battery level
-
470 
-
471  void readData(uint32_t offset, uint16_t size, bool EEPROM);
-
472  void readExtensionType();
-
473  void readCalData();
-
474 
-
475  void checkMotionPresent(); // Used to see if a Motion Plus is connected to the Wiimote
-
476  void initMotionPlus();
-
477  void activateMotionPlus();
-
478 
-
479  double pitch; // Fusioned angle using a complimentary filter if the Motion Plus is connected
-
480  double roll; // Fusioned angle using a complimentary filter if the Motion Plus is connected
+
465  /* L2CAP Channels */
+
466  uint8_t control_scid[2]; // L2CAP source CID for HID_Control
+
467  uint8_t control_dcid[2]; // 0x0060
+
468  uint8_t interrupt_scid[2]; // L2CAP source CID for HID_Interrupt
+
469  uint8_t interrupt_dcid[2]; // 0x0061
+
470  uint8_t identifier; // Identifier for connection
+
471 
+
472  /* HID Commands */
+
473  void HID_Command(uint8_t* data, uint8_t nbytes);
+
474  void setReportMode(bool continuous, uint8_t mode);
+
475 
+
476  void writeData(uint32_t offset, uint8_t size, uint8_t* data);
+
477  void initExtension1();
+
478  void initExtension2();
+
479 
+
480  void statusRequest(); // Used to update the Wiimote state and battery level
481 
-
482  bool activateNunchuck;
-
483  bool motionValuesReset; // This bool is true when the gyro values has been reset
-
484  unsigned long timer;
+
482  void readData(uint32_t offset, uint16_t size, bool EEPROM);
+
483  void readExtensionType();
+
484  void readCalData();
485 
-
486  uint8_t wiiState; // Stores the value in l2capinbuf[12] - (0x01: Battery is nearly empty), (0x02: An Extension Controller is connected), (0x04: Speaker enabled), (0x08: IR enabled), (0x10: LED1, 0x20: LED2, 0x40: LED3, 0x80: LED4)
-
487  uint8_t batteryLevel;
-
488 
-
489 #ifdef WIICAMERA
-
490  /* Private function and variables for the readings from the IR Camera */
-
491  void enableIRCamera1(); // Sets bit 2 of output report 13
-
492  void enableIRCamera2(); // Sets bit 2 of output report 1A
-
493  void writeSensitivityBlock1();
-
494  void writeSensitivityBlock2();
-
495  void write0x08Value();
-
496  void setWiiModeNumber(uint8_t mode_number);
-
497 
-
498  uint16_t IR_object_x1; // IR x position 10 bits
-
499  uint16_t IR_object_y1; // IR y position 10 bits
-
500  uint8_t IR_object_s1; // IR size value
-
501  uint16_t IR_object_x2;
-
502  uint16_t IR_object_y2;
-
503  uint8_t IR_object_s2;
-
504  uint16_t IR_object_x3; // IR x position 10 bits
-
505  uint16_t IR_object_y3; // IR y position 10 bits
-
506  uint8_t IR_object_s3; // IR size value
-
507  uint16_t IR_object_x4;
-
508  uint16_t IR_object_y4;
-
509  uint8_t IR_object_s4;
-
510 #endif
-
511 };
-
512 #endif
+
486  void checkMotionPresent(); // Used to see if a Motion Plus is connected to the Wiimote
+
487  void initMotionPlus();
+
488  void activateMotionPlus();
+
489 
+
490  double compPitch; // Fusioned angle using a complimentary filter if the Motion Plus is connected
+
491  double compRoll; // Fusioned angle using a complimentary filter if the Motion Plus is connected
+
492 
+
493  bool activateNunchuck;
+
494  bool motionValuesReset; // This bool is true when the gyro values has been reset
+
495  unsigned long timer;
+
496 
+
497  uint8_t wiiState; // Stores the value in l2capinbuf[12] - (0x01: Battery is nearly empty), (0x02: An Extension Controller is connected), (0x04: Speaker enabled), (0x08: IR enabled), (0x10: LED1, 0x20: LED2, 0x40: LED3, 0x80: LED4)
+
498  uint8_t batteryLevel;
+
499 
+
500 #ifdef WIICAMERA
+
501  /* Private function and variables for the readings from the IR Camera */
+
502  void enableIRCamera1(); // Sets bit 2 of output report 13
+
503  void enableIRCamera2(); // Sets bit 2 of output report 1A
+
504  void writeSensitivityBlock1();
+
505  void writeSensitivityBlock2();
+
506  void write0x08Value();
+
507  void setWiiModeNumber(uint8_t mode_number);
+
508 
+
509  uint16_t IR_object_x1; // IR x position 10 bits
+
510  uint16_t IR_object_y1; // IR y position 10 bits
+
511  uint8_t IR_object_s1; // IR size value
+
512  uint16_t IR_object_x2;
+
513  uint16_t IR_object_y2;
+
514  uint8_t IR_object_s2;
+
515  uint16_t IR_object_x3; // IR x position 10 bits
+
516  uint16_t IR_object_y3; // IR y position 10 bits
+
517  uint8_t IR_object_s3; // IR size value
+
518  uint16_t IR_object_x4;
+
519  uint16_t IR_object_y4;
+
520  uint8_t IR_object_s4;
+
521 #endif
+
522 };
+
523 #endif
+
bool wiimoteConnected
Definition: Wii.h:239
+
int16_t gyroPitchRaw
Definition: Wii.h:307
+
uint16_t rollGyroScale
Definition: Wii.h:299
+
double getNunchuckPitch()
Definition: Wii.h:267
+
void setLedRaw(uint8_t value)
Definition: Wii.cpp:876
+
uint16_t yawGyroScale
Definition: Wii.h:300
+
Definition: BTD.h:156
+
uint8_t getIRs1()
Definition: Wii.h:344
+
Definition: Wii.h:84
+
uint8_t getIRs3()
Definition: Wii.h:392
+
double getNunchuckRoll()
Definition: Wii.h:270
+
virtual void ACLData(uint8_t *ACLData)
Definition: Wii.cpp:134
+
double gyroRoll
Definition: Wii.h:285
+
uint16_t getIRx4()
Definition: Wii.h:400
+
void setLedToggle(LED a)
Definition: Wii.cpp:893
+
void setRumbleOn()
Definition: Wii.cpp:864
+
virtual void Reset()
Definition: Wii.cpp:103
+
double getRoll()
Definition: Wii.h:164
+
int16_t accZnunchuck
Definition: Wii.h:278
+
uint8_t getBatteryLevel()
Definition: Wii.cpp:912
+
virtual void disconnect()
Definition: Wii.cpp:117
+
void setLedOff(LED a)
Definition: Wii.cpp:881
+
double getPitch()
Definition: Wii.h:154
+
int16_t accXnunchuck
Definition: Wii.h:278
+
bool getButtonClick(Button b)
Definition: Wii.cpp:1041
+
uint8_t getWiiState()
Definition: Wii.h:229
+ +
uint16_t getIRy2()
Definition: Wii.h:360
+
int16_t gyroRollRaw
Definition: Wii.h:306
+
void IRinitialize()
Definition: Wii.cpp:1089
+
Definition: Wii.h:86
+ +
uint16_t getIRx2()
Definition: Wii.h:352
+
uint16_t getIRx1()
Definition: Wii.h:328
+
void setRumbleToggle()
Definition: Wii.cpp:870
+
int16_t gyroPitchZero
Definition: Wii.h:314
+
uint16_t pitchGyroScale
Definition: Wii.h:298
+
double getWiimoteRoll()
Definition: Wii.h:260
+
WII(BTD *p, bool pair=false)
Definition: Wii.cpp:84
+
double rollGyroSpeed
Definition: Wii.h:292
+
uint8_t getIRs4()
Definition: Wii.h:416
+
uint16_t getIRy3()
Definition: Wii.h:384
+ +
void setLedStatus()
Definition: Wii.cpp:899
+
void setLedOn(LED a)
Definition: Wii.cpp:887
+
int16_t accYwiimote
Definition: Wii.h:272
+
bool wiiUProControllerConnected
Definition: Wii.h:250
+
void setRumbleOff()
Definition: Wii.cpp:858
+
void setAllOff()
Definition: Wii.cpp:852
+
uint16_t getIRy1()
Definition: Wii.h:336
+
uint16_t getIRx3()
Definition: Wii.h:376
+
double gyroYaw
Definition: Wii.h:287
+
bool nunchuckConnected
Definition: Wii.h:246
+
uint16_t getIRy4()
Definition: Wii.h:408
+
int16_t gyroYawRaw
Definition: Wii.h:305
+
bool getButtonPress(Button b)
Definition: Wii.cpp:1034
+
bool isIRCameraEnabled()
Definition: Wii.h:425
+
Hat
Definition: Wii.h:82
+
void attachOnInit(void(*funcOnInit)(void))
Definition: Wii.h:237
+
double getYaw()
Definition: Wii.h:176
+
double getWiimotePitch()
Definition: Wii.h:257
+
void pair(void)
Definition: Wii.h:133
+
Button
+
double yawGyroSpeed
Definition: Wii.h:293
+
int16_t accYnunchuck
Definition: Wii.h:278
+
int16_t gyroYawZero
Definition: Wii.h:312
+
double pitchGyroSpeed
Definition: Wii.h:291
+
void pairWithWiimote()
Definition: BTD.h:412
+
uint8_t getIRs2()
Definition: Wii.h:368
+
double gyroPitch
Definition: Wii.h:283
+
Definition: Wii.h:94
+ +
bool motionPlusConnected
Definition: Wii.h:248
+
int16_t gyroRollZero
Definition: Wii.h:313
+
AnalogHat
+
virtual void Run()
Definition: Wii.cpp:682
+
int16_t accXwiimote
Definition: Wii.h:272
+
uint8_t getAnalogHat(Hat a)
Definition: Wii.cpp:1052
+
int16_t accZwiimote
Definition: Wii.h:272
diff --git a/_wii_camera_readme_8md.html b/_wii_camera_readme_8md.html index 843f27a6..0f792621 100644 --- a/_wii_camera_readme_8md.html +++ b/_wii_camera_readme_8md.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: WiiCameraReadme.md File Reference @@ -31,7 +31,7 @@ - + @@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/_wii_camera_readme_8md_source.html b/_wii_camera_readme_8md_source.html index d869e3b2..ff4c462c 100644 --- a/_wii_camera_readme_8md_source.html +++ b/_wii_camera_readme_8md_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: WiiCameraReadme.md Source File @@ -31,7 +31,7 @@ - + @@ -100,12 +100,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
13  * In this mode the camera outputs x and y coordinates and a size dimension for the 4 brightest points.
14 
15 Again, read through <http://wiibrew.org/wiki/Wiimote#IR_Camera> to get an understanding of the camera and its settings.
+
Definition: BTD.h:156
+
Definition: PS3Enums.h:194
+
#define WIICAMERA
Definition: Wii.h:27
diff --git a/_x_b_o_x_o_l_d_8cpp.html b/_x_b_o_x_o_l_d_8cpp.html index aab6c5ce..3329058e 100644 --- a/_x_b_o_x_o_l_d_8cpp.html +++ b/_x_b_o_x_o_l_d_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXOLD.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -97,7 +97,7 @@ Include dependency graph for XBOXOLD.cpp:
- +

Go to the source code of this file.

@@ -150,7 +150,7 @@ Variables diff --git a/_x_b_o_x_o_l_d_8cpp__incl.map b/_x_b_o_x_o_l_d_8cpp__incl.map index 5d0a226d..7e349234 100644 --- a/_x_b_o_x_o_l_d_8cpp__incl.map +++ b/_x_b_o_x_o_l_d_8cpp__incl.map @@ -1,13 +1,5 @@ - - - - - - - - - - - + + + diff --git a/_x_b_o_x_o_l_d_8cpp__incl.md5 b/_x_b_o_x_o_l_d_8cpp__incl.md5 index eef8882f..a14166fb 100644 --- a/_x_b_o_x_o_l_d_8cpp__incl.md5 +++ b/_x_b_o_x_o_l_d_8cpp__incl.md5 @@ -1 +1 @@ -090c3aaec95e582786089053a4174da0 \ No newline at end of file +824a8833fbb3f9293199791af2e49083 \ No newline at end of file diff --git a/_x_b_o_x_o_l_d_8cpp__incl.png b/_x_b_o_x_o_l_d_8cpp__incl.png index ea5f10e015fd6777e6f0612981e5c89044ef55b1..d45f410b7a18edd51f23fe603b5c9381701d179e 100644 GIT binary patch literal 9416 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 JmoH=F{eJ?^<68g# diff --git a/_x_b_o_x_o_l_d_8cpp_source.html b/_x_b_o_x_o_l_d_8cpp_source.html index 0df3ec5a..c9fe746b 100644 --- a/_x_b_o_x_o_l_d_8cpp_source.html +++ b/_x_b_o_x_o_l_d_8cpp_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXOLD.cpp Source File @@ -31,7 +31,7 @@ - + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
20 //#define EXTRADEBUG // Uncomment to get even more debugging data
21 //#define PRINTREPORT // Uncomment to print the report send by the Xbox controller
22 
-
24 const uint8_t XBOXOLDBUTTONS[] PROGMEM = {
+
24 const uint8_t XBOXOLDBUTTONS[] PROGMEM = {
25  0x01, // UP
26  0x08, // RIGHT
27  0x02, // DOWN
@@ -134,7 +134,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
44  3, // Y
45 };
46 
- +
48 pUsb(p), // pointer to USB class instance - mandatory
49 bAddress(0), // device address - mandatory
50 bPollEnable(false) { // don't start polling before dongle is connected
@@ -149,7 +149,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
59  pUsb->RegisterDeviceClass(this); //set devConfig[] entry
60 }
61 
-
62 uint8_t XBOXOLD::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
62 uint8_t XBOXOLD::Init(uint8_t parent, uint8_t port, bool lowspeed) {
63  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
64  uint8_t rcode;
65  UsbDevice *p = NULL;
@@ -167,7 +167,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
77 #ifdef DEBUG_USB_HOST
78  Notify(PSTR("\r\nAddress in use"), 0x80);
79 #endif
- +
81  }
82 
83  // Get pointer to pseudo device with address 0 assigned
@@ -177,14 +177,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
87 #ifdef DEBUG_USB_HOST
88  Notify(PSTR("\r\nAddress not found"), 0x80);
89 #endif
- +
91  }
92 
93  if (!p->epinfo) {
94 #ifdef DEBUG_USB_HOST
95  Notify(PSTR("\r\nepinfo is null"), 0x80);
96 #endif
- +
98  }
99 
100  // Save old pointer to EP_RECORD of address 0
@@ -196,7 +196,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
106  p->lowspeed = lowspeed;
107 
108  // Get device descriptor
-
109  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
+
109  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
110  // Restore p->epinfo
111  p->epinfo = oldep_ptr;
112 
@@ -213,7 +213,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
123  bAddress = addrPool.AllocAddress(parent, false, port);
124 
125  if (!bAddress)
- +
127 
128  // Extract Max Packet Size from device descriptor
129  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0;
@@ -241,7 +241,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
151  //get pointer to assigned address record
152  p = addrPool.GetUsbDevicePtr(bAddress);
153  if (!p)
- +
155 
156  p->lowspeed = lowspeed;
157 
@@ -309,7 +309,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
219 #ifdef DEBUG_USB_HOST
220  NotifyFailUnknownDevice(VID, PID);
221 #endif
- +
223 
224 Fail:
225 #ifdef DEBUG_USB_HOST
@@ -321,7 +321,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
231 }
232 
233 /* Performs a cleanup after failed Init() attempt */
-
234 uint8_t XBOXOLD::Release() {
+
234 uint8_t XBOXOLD::Release() {
235  XboxConnected = false;
237  bAddress = 0;
@@ -329,7 +329,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
239  return 0;
240 }
241 
-
242 uint8_t XBOXOLD::Poll() {
+
242 uint8_t XBOXOLD::Poll() {
243  if (!bPollEnable)
244  return 0;
245  uint16_t BUFFER_SIZE = EP_MAXPKTSIZE;
@@ -379,55 +379,139 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
289 #endif
290 }
291 
- +
293  if (b == A || b == B || b == X || b == Y || b == BLACK || b == WHITE || b == L1 || b == R1) // A, B, X, Y, BLACK, WHITE, L1, and R1 are analog buttons
294  return buttonValues[pgm_read_byte(&XBOXOLDBUTTONS[(uint8_t)b])]; // Analog buttons
295  return (ButtonState & pgm_read_byte(&XBOXOLDBUTTONS[(uint8_t)b])); // Digital buttons
296 }
297 
- +
299  uint8_t button;
300  if (b == A || b == B || b == X || b == Y || b == BLACK || b == WHITE || b == L1 || b == R1) { // A, B, X, Y, BLACK, WHITE, L1, and R1 are analog buttons
301  button = pgm_read_byte(&XBOXOLDBUTTONS[(uint8_t)b]);
-
302  if (buttonClicked[button])
+
302  if (buttonClicked[button]) {
303  buttonClicked[button] = false;
-
304  return buttonClicked[button];
-
305  }
-
306 
-
307  button = pgm_read_byte(&XBOXOLDBUTTONS[(uint8_t)b]); // Digital buttons
-
308  bool click = (ButtonClickState & button);
-
309  ButtonClickState &= ~button; // clear "click" event
-
310  return click;
-
311 }
-
312 
- -
314  return hatValue[a];
-
315 }
-
316 
-
317 /* Xbox Controller commands */
-
318 void XBOXOLD::XboxCommand(uint8_t* data, uint16_t nbytes) {
-
319  //bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0x00), Report Type (Output 0x02), interface (0x00), datalength, datalength, data)
-
320  pUsb->ctrlReq(bAddress, epInfo[XBOX_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x00, 0x02, 0x00, nbytes, nbytes, data, NULL);
-
321 }
-
322 
-
323 void XBOXOLD::setRumbleOn(uint8_t lValue, uint8_t rValue) {
-
324  uint8_t writeBuf[6];
-
325 
-
326  writeBuf[0] = 0x00;
-
327  writeBuf[1] = 0x06;
-
328  writeBuf[2] = 0x00;
-
329  writeBuf[3] = rValue; // small weight
-
330  writeBuf[4] = 0x00;
-
331  writeBuf[5] = lValue; // big weight
-
332 
-
333  XboxCommand(writeBuf, 6);
-
334 }
+
304  return true;
+
305  }
+
306  return false;
+
307  }
+
308 
+
309  button = pgm_read_byte(&XBOXOLDBUTTONS[(uint8_t)b]); // Digital buttons
+
310  bool click = (ButtonClickState & button);
+
311  ButtonClickState &= ~button; // clear "click" event
+
312  return click;
+
313 }
+
314 
+ +
316  return hatValue[a];
+
317 }
+
318 
+
319 /* Xbox Controller commands */
+
320 void XBOXOLD::XboxCommand(uint8_t* data, uint16_t nbytes) {
+
321  //bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0x00), Report Type (Output 0x02), interface (0x00), datalength, datalength, data)
+
322  pUsb->ctrlReq(bAddress, epInfo[XBOX_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x00, 0x02, 0x00, nbytes, nbytes, data, NULL);
+
323 }
+
324 
+
325 void XBOXOLD::setRumbleOn(uint8_t lValue, uint8_t rValue) {
+
326  uint8_t writeBuf[6];
+
327 
+
328  writeBuf[0] = 0x00;
+
329  writeBuf[1] = 0x06;
+
330  writeBuf[2] = 0x00;
+
331  writeBuf[3] = rValue; // small weight
+
332  writeBuf[4] = 0x00;
+
333  writeBuf[5] = lValue; // big weight
+
334 
+
335  XboxCommand(writeBuf, 6);
+
336 }
+ +
uint8_t bmRcvToggle
Definition: address.h:41
+ +
EpInfo * epinfo
Definition: address.h:76
+
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+
uint8_t bmNakPower
Definition: address.h:42
+ +
virtual uint8_t Release()
Definition: XBOXOLD.cpp:234
+ + +
#define NotifyFail(...)
Definition: message.h:55
+
const uint8_t XBOXOLDBUTTONS[]
Definition: XBOXOLD.cpp:24
+ +
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+ + +
void setRumbleOn(uint8_t lValue, uint8_t rValue)
Definition: XBOXOLD.cpp:325
+
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
#define XBOX_OLD_PID4
Definition: XBOXOLD.h:43
+ +
EpInfo epInfo[XBOX_MAX_ENDPOINTS]
Definition: XBOXOLD.h:160
+
#define EP_MAXPKTSIZE
Definition: PS3USB.h:25
+
virtual void FreeAddress(uint8_t addr)=0
+
uint8_t epAttribs
Definition: address.h:37
+
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)
Definition: Usb.cpp:126
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
#define Notify(...)
Definition: message.h:44
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
uint8_t epAddr
Definition: address.h:33
+
#define NotifyFailUnknownDevice(...)
Definition: message.h:54
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+ +
#define XBOX_VID
Definition: XBOXOLD.h:36
+
#define XBOX_INPUT_PIPE
Definition: XBOXOLD.h:32
+
XBOXOLD(USB *pUsb)
Definition: XBOXOLD.cpp:47
+
#define EP_INTERRUPT
Definition: PS3USB.h:28
+
#define XBOX_OLD_PID1
Definition: XBOXOLD.h:40
+
Definition: address.h:32
+ +
#define HID_REQUEST_SET_REPORT
Definition: BTD.h:39
+
#define JOYTECH_VID
Definition: XBOXOLD.h:38
+ +
uint8_t getButtonPress(Button b)
Definition: XBOXOLD.cpp:292
+
USB * pUsb
Definition: XBOXOLD.h:156
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
uint8_t bmSndToggle
Definition: address.h:40
+
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+
int16_t getAnalogHat(AnalogHat a)
Definition: XBOXOLD.cpp:315
+
virtual uint8_t Poll()
Definition: XBOXOLD.cpp:242
+
#define XBOX_OLD_PID2
Definition: XBOXOLD.h:41
+
#define MADCATZ_VID
Definition: XBOXOLD.h:37
+
#define XBOX_OUTPUT_PIPE
Definition: XBOXOLD.h:33
+
#define USB_NAK_NOWAIT
Definition: address.h:29
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: XBOXOLD.cpp:62
+
#define XBOX_MAX_ENDPOINTS
Definition: XBOXOLD.h:49
+
#define bmRCVTOG0
Definition: max3421e.h:185
+
bool getButtonClick(Button b)
Definition: XBOXOLD.cpp:298
+
#define XBOX_OLD_PID3
Definition: XBOXOLD.h:42
+
#define bmREQ_HID_OUT
Definition: BTD.h:38
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
Button
+
bool XboxConnected
Definition: XBOXOLD.h:148
+
#define bmSNDTOG0
Definition: max3421e.h:187
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
Definition: UsbCore.h:152
+ +
#define XBOX_CONTROL_PIPE
Definition: XBOXOLD.h:31
+
uint8_t bAddress
Definition: XBOXOLD.h:158
+
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
AnalogHat
+ +
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+ + diff --git a/_x_b_o_x_o_l_d_8h.html b/_x_b_o_x_o_l_d_8h.html index 8f60dc71..01bf2c45 100644 --- a/_x_b_o_x_o_l_d_8h.html +++ b/_x_b_o_x_o_l_d_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXOLD.h File Reference @@ -31,7 +31,7 @@ - + @@ -92,22 +92,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
XBOXOLD.h File Reference
-
#include "Arduino.h"
-#include "Usb.h"
+
#include "Usb.h"
#include "controllerEnums.h"
Include dependency graph for XBOXOLD.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -161,7 +160,7 @@ Macros
-

Definition at line 31 of file XBOXOLD.h.

+

Definition at line 25 of file XBOXOLD.h.

@@ -175,7 +174,7 @@ Macros
-

Definition at line 34 of file XBOXOLD.h.

+

Definition at line 28 of file XBOXOLD.h.

@@ -189,7 +188,7 @@ Macros
-

Definition at line 37 of file XBOXOLD.h.

+

Definition at line 31 of file XBOXOLD.h.

@@ -203,7 +202,7 @@ Macros
-

Definition at line 38 of file XBOXOLD.h.

+

Definition at line 32 of file XBOXOLD.h.

@@ -217,7 +216,7 @@ Macros
-

Definition at line 39 of file XBOXOLD.h.

+

Definition at line 33 of file XBOXOLD.h.

@@ -231,7 +230,7 @@ Macros
-

Definition at line 42 of file XBOXOLD.h.

+

Definition at line 36 of file XBOXOLD.h.

@@ -245,7 +244,7 @@ Macros
-

Definition at line 43 of file XBOXOLD.h.

+

Definition at line 37 of file XBOXOLD.h.

@@ -259,7 +258,7 @@ Macros
-

Definition at line 44 of file XBOXOLD.h.

+

Definition at line 38 of file XBOXOLD.h.

@@ -273,7 +272,7 @@ Macros
-

Definition at line 46 of file XBOXOLD.h.

+

Definition at line 40 of file XBOXOLD.h.

@@ -287,7 +286,7 @@ Macros
-

Definition at line 47 of file XBOXOLD.h.

+

Definition at line 41 of file XBOXOLD.h.

@@ -301,7 +300,7 @@ Macros
-

Definition at line 48 of file XBOXOLD.h.

+

Definition at line 42 of file XBOXOLD.h.

@@ -315,7 +314,7 @@ Macros
-

Definition at line 49 of file XBOXOLD.h.

+

Definition at line 43 of file XBOXOLD.h.

@@ -329,7 +328,7 @@ Macros
-

Definition at line 52 of file XBOXOLD.h.

+

Definition at line 46 of file XBOXOLD.h.

@@ -343,7 +342,7 @@ Macros
-

Definition at line 53 of file XBOXOLD.h.

+

Definition at line 47 of file XBOXOLD.h.

@@ -357,7 +356,7 @@ Macros
-

Definition at line 55 of file XBOXOLD.h.

+

Definition at line 49 of file XBOXOLD.h.

@@ -366,7 +365,7 @@ Macros diff --git a/_x_b_o_x_o_l_d_8h__dep__incl.map b/_x_b_o_x_o_l_d_8h__dep__incl.map index 61b1317c..358ad284 100644 --- a/_x_b_o_x_o_l_d_8h__dep__incl.map +++ b/_x_b_o_x_o_l_d_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/_x_b_o_x_o_l_d_8h__dep__incl.md5 b/_x_b_o_x_o_l_d_8h__dep__incl.md5 index e9b03162..0678f7d2 100644 --- a/_x_b_o_x_o_l_d_8h__dep__incl.md5 +++ b/_x_b_o_x_o_l_d_8h__dep__incl.md5 @@ -1 +1 @@ -e639bc29c7da8c50a5a337ffa1c05d31 \ No newline at end of file +4624e3aee3651b0e57e6bf6ae6dd27ec \ No newline at end of file diff --git a/_x_b_o_x_o_l_d_8h__dep__incl.png b/_x_b_o_x_o_l_d_8h__dep__incl.png index 3f59114ea92f09f634390760c8934ef3e3b0d850..2a9568767dce2b36f6cc6444b5850e713d7efa29 100644 GIT binary patch literal 4271 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 P00000NkvXXu0mjfsuAgO diff --git a/_x_b_o_x_o_l_d_8h__incl.map b/_x_b_o_x_o_l_d_8h__incl.map index 5e4442ab..5201d753 100644 --- a/_x_b_o_x_o_l_d_8h__incl.map +++ b/_x_b_o_x_o_l_d_8h__incl.map @@ -1,12 +1,4 @@ - - - - - - - - - - + + diff --git a/_x_b_o_x_o_l_d_8h__incl.md5 b/_x_b_o_x_o_l_d_8h__incl.md5 index 6a05f6b5..f13dfbe6 100644 --- a/_x_b_o_x_o_l_d_8h__incl.md5 +++ b/_x_b_o_x_o_l_d_8h__incl.md5 @@ -1 +1 @@ -268da4236b31172a9a0b18542d4e65f1 \ No newline at end of file +6940d62d40c6dde15fe74f063d6e1a3a \ No newline at end of file diff --git a/_x_b_o_x_o_l_d_8h__incl.png b/_x_b_o_x_o_l_d_8h__incl.png index cc599fbcaead47c0dd9ea6ebad24009e76b15620..7f648f182d7febf43d24f131662a8395aefb6fe2 100644 GIT binary patch literal 6593 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

w^+C7Hu#$m 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

#s={7Mt5wJ4Or28hYP;>4<_2{?)5} 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 diff --git a/_x_b_o_x_o_l_d_8h_source.html b/_x_b_o_x_o_l_d_8h_source.html index 67d1bb77..84a3b7b8 100644 --- a/_x_b_o_x_o_l_d_8h_source.html +++ b/_x_b_o_x_o_l_d_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXOLD.h Source File @@ -31,7 +31,7 @@ - + @@ -109,112 +109,140 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

18 #ifndef _xboxold_h_
19 #define _xboxold_h_
20 
-
21 #if defined(ARDUINO) && ARDUINO >= 100
-
22 #include "Arduino.h"
-
23 #else
-
24 #include "WProgram.h"
-
25 #endif
+
21 #include "Usb.h"
+
22 #include "controllerEnums.h"
+
23 
+
24 /* Data Xbox taken from descriptors */
+
25 #define EP_MAXPKTSIZE 32 // Max size for data via USB
26 
-
27 #include "Usb.h"
-
28  #include "controllerEnums.h"
-
29 
-
30 /* Data Xbox taken from descriptors */
-
31 #define EP_MAXPKTSIZE 32 // Max size for data via USB
-
32 
-
33 /* Endpoint types */
-
34 #define EP_INTERRUPT 0x03
-
35 
-
36 /* Names we give to the 3 Xbox pipes */
-
37 #define XBOX_CONTROL_PIPE 0
-
38 #define XBOX_INPUT_PIPE 1
-
39 #define XBOX_OUTPUT_PIPE 2
-
40 
-
41 // PID and VID of the different devices
-
42 #define XBOX_VID 0x045E // Microsoft Corporation
-
43 #define MADCATZ_VID 0x1BAD // For unofficial Mad Catz controllers
-
44 #define JOYTECH_VID 0x162E // For unofficial Joytech controllers
-
45 
-
46 #define XBOX_OLD_PID1 0x0202 // Original Microsoft Xbox controller (US)
-
47 #define XBOX_OLD_PID2 0x0285 // Original Microsoft Xbox controller (Japan)
-
48 #define XBOX_OLD_PID3 0x0287 // Microsoft Microsoft Xbox Controller S
-
49 #define XBOX_OLD_PID4 0x0289 // Smaller Microsoft Xbox controller (US)
+
27 /* Endpoint types */
+
28 #define EP_INTERRUPT 0x03
+
29 
+
30 /* Names we give to the 3 Xbox pipes */
+
31 #define XBOX_CONTROL_PIPE 0
+
32 #define XBOX_INPUT_PIPE 1
+
33 #define XBOX_OUTPUT_PIPE 2
+
34 
+
35 // PID and VID of the different devices
+
36 #define XBOX_VID 0x045E // Microsoft Corporation
+
37 #define MADCATZ_VID 0x1BAD // For unofficial Mad Catz controllers
+
38 #define JOYTECH_VID 0x162E // For unofficial Joytech controllers
+
39 
+
40 #define XBOX_OLD_PID1 0x0202 // Original Microsoft Xbox controller (US)
+
41 #define XBOX_OLD_PID2 0x0285 // Original Microsoft Xbox controller (Japan)
+
42 #define XBOX_OLD_PID3 0x0287 // Microsoft Microsoft Xbox Controller S
+
43 #define XBOX_OLD_PID4 0x0289 // Smaller Microsoft Xbox controller (US)
+
44 
+
45 // Used in control endpoint header for HID Commands
+
46 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
+
47 #define HID_REQUEST_SET_REPORT 0x09
+
48 
+
49 #define XBOX_MAX_ENDPOINTS 3
50 
-
51 // Used in control endpoint header for HID Commands
-
52 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
-
53 #define HID_REQUEST_SET_REPORT 0x09
-
54 
-
55 #define XBOX_MAX_ENDPOINTS 3
-
56 
-
58 class XBOXOLD : public USBDeviceConfig {
-
59 public:
-
64  XBOXOLD(USB *pUsb);
-
65 
-
74  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
79  virtual uint8_t Release();
-
84  virtual uint8_t Poll();
-
85 
-
90  virtual uint8_t GetAddress() {
-
91  return bAddress;
-
92  };
-
93 
-
98  virtual bool isReady() {
-
99  return bPollEnable;
-
100  };
-
101 
-
108  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
-
109  return ((vid == XBOX_VID || vid == MADCATZ_VID || vid == JOYTECH_VID) && (pid == XBOX_OLD_PID1 || pid == XBOX_OLD_PID2 || pid == XBOX_OLD_PID3 || pid == XBOX_OLD_PID4));
-
110  };
-
125  uint8_t getButtonPress(Button b);
-
126  bool getButtonClick(Button b);
-
135  int16_t getAnalogHat(AnalogHat a);
-
136 
-
138  void setRumbleOff() {
-
139  setRumbleOn(0, 0);
-
140  };
-
146  void setRumbleOn(uint8_t lValue, uint8_t rValue);
-
147 
-
152  void attachOnInit(void (*funcOnInit)(void)) {
-
153  pFuncOnInit = funcOnInit;
-
154  };
-
158  bool XboxConnected;
-
159 
-
160 protected:
- -
164  uint8_t bAddress;
- -
167 
-
168 private:
-
174  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
-
175 
-
176  bool bPollEnable;
-
177 
-
178  /* Variables to store the digital buttons */
-
179  uint8_t ButtonState;
-
180  uint8_t OldButtonState;
-
181  uint8_t ButtonClickState;
-
182 
-
183  /* Variables to store the analog buttons */
-
184  uint8_t buttonValues[8]; // A, B, X, Y, BLACK, WHITE, L1, and R1
-
185  uint8_t oldButtonValues[8];
-
186  bool buttonClicked[8];
-
187 
-
188  int16_t hatValue[4]; // Joystick values
-
189 
-
190  uint8_t readBuf[EP_MAXPKTSIZE]; // General purpose buffer for input data
-
191 
-
192  void readReport(); // Read incoming data
-
193  void printReport(uint16_t length); // Print incoming date
-
194 
-
195  /* Private commands */
-
196  void XboxCommand(uint8_t* data, uint16_t nbytes);
-
197 };
-
198 #endif
+
52 class XBOXOLD : public USBDeviceConfig {
+
53 public:
+
58  XBOXOLD(USB *pUsb);
+
59 
+
68  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
73  virtual uint8_t Release();
+
78  virtual uint8_t Poll();
+
79 
+
84  virtual uint8_t GetAddress() {
+
85  return bAddress;
+
86  };
+
87 
+
92  virtual bool isReady() {
+
93  return bPollEnable;
+
94  };
+
95 
+
102  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
+
103  return ((vid == XBOX_VID || vid == MADCATZ_VID || vid == JOYTECH_VID) && (pid == XBOX_OLD_PID1 || pid == XBOX_OLD_PID2 || pid == XBOX_OLD_PID3 || pid == XBOX_OLD_PID4));
+
104  };
+
119  uint8_t getButtonPress(Button b);
+
120  bool getButtonClick(Button b);
+
129  int16_t getAnalogHat(AnalogHat a);
+
130 
+
132  void setRumbleOff() {
+
133  setRumbleOn(0, 0);
+
134  };
+
140  void setRumbleOn(uint8_t lValue, uint8_t rValue);
+
141 
+
146  void attachOnInit(void (*funcOnInit)(void)) {
+
147  pFuncOnInit = funcOnInit;
+
148  };
+
152  bool XboxConnected;
+
153 
+
154 protected:
+ +
158  uint8_t bAddress;
+ +
161 
+
162 private:
+
168  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
+
169 
+
170  bool bPollEnable;
+
171 
+
172  /* Variables to store the digital buttons */
+
173  uint8_t ButtonState;
+
174  uint8_t OldButtonState;
+
175  uint8_t ButtonClickState;
+
176 
+
177  /* Variables to store the analog buttons */
+
178  uint8_t buttonValues[8]; // A, B, X, Y, BLACK, WHITE, L1, and R1
+
179  uint8_t oldButtonValues[8];
+
180  bool buttonClicked[8];
+
181 
+
182  int16_t hatValue[4]; // Joystick values
+
183 
+
184  uint8_t readBuf[EP_MAXPKTSIZE]; // General purpose buffer for input data
+
185 
+
186  void readReport(); // Read incoming data
+
187  void printReport(uint16_t length); // Print incoming date
+
188 
+
189  /* Private commands */
+
190  void XboxCommand(uint8_t* data, uint16_t nbytes);
+
191 };
+
192 #endif
+
virtual uint8_t Release()
Definition: XBOXOLD.cpp:234
+
void attachOnInit(void(*funcOnInit)(void))
Definition: XBOXOLD.h:146
+
virtual uint8_t GetAddress()
Definition: XBOXOLD.h:84
+ + + +
void setRumbleOn(uint8_t lValue, uint8_t rValue)
Definition: XBOXOLD.cpp:325
+
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: XBOXOLD.h:102
+
#define XBOX_OLD_PID4
Definition: XBOXOLD.h:43
+
virtual bool isReady()
Definition: XBOXOLD.h:92
+
EpInfo epInfo[XBOX_MAX_ENDPOINTS]
Definition: XBOXOLD.h:160
+ +
#define XBOX_VID
Definition: XBOXOLD.h:36
+
XBOXOLD(USB *pUsb)
Definition: XBOXOLD.cpp:47
+
#define XBOX_OLD_PID1
Definition: XBOXOLD.h:40
+
Definition: address.h:32
+
#define JOYTECH_VID
Definition: XBOXOLD.h:38
+
uint8_t getButtonPress(Button b)
Definition: XBOXOLD.cpp:292
+
USB * pUsb
Definition: XBOXOLD.h:156
+
int16_t getAnalogHat(AnalogHat a)
Definition: XBOXOLD.cpp:315
+
virtual uint8_t Poll()
Definition: XBOXOLD.cpp:242
+
#define XBOX_OLD_PID2
Definition: XBOXOLD.h:41
+
#define MADCATZ_VID
Definition: XBOXOLD.h:37
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: XBOXOLD.cpp:62
+
#define XBOX_MAX_ENDPOINTS
Definition: XBOXOLD.h:49
+
bool getButtonClick(Button b)
Definition: XBOXOLD.cpp:298
+
#define XBOX_OLD_PID3
Definition: XBOXOLD.h:42
+
Button
+
bool XboxConnected
Definition: XBOXOLD.h:148
+
Definition: UsbCore.h:152
+
void setRumbleOff()
Definition: XBOXOLD.h:132
+
uint8_t bAddress
Definition: XBOXOLD.h:158
+
AnalogHat
+
#define EP_MAXPKTSIZE
Definition: XBOXOLD.h:25
diff --git a/_x_b_o_x_r_e_c_v_8cpp.html b/_x_b_o_x_r_e_c_v_8cpp.html index e62c4117..32ae5cca 100644 --- a/_x_b_o_x_r_e_c_v_8cpp.html +++ b/_x_b_o_x_r_e_c_v_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXRECV.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for XBOXRECV.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for XBOXRECV.cpp: diff --git a/_x_b_o_x_r_e_c_v_8cpp__incl.map b/_x_b_o_x_r_e_c_v_8cpp__incl.map index b8abfb25..a0b04df3 100644 --- a/_x_b_o_x_r_e_c_v_8cpp__incl.map +++ b/_x_b_o_x_r_e_c_v_8cpp__incl.map @@ -1,14 +1,6 @@ - - - - - - - - - - - - + + + + diff --git a/_x_b_o_x_r_e_c_v_8cpp__incl.md5 b/_x_b_o_x_r_e_c_v_8cpp__incl.md5 index b9c004ad..1c1fdc93 100644 --- a/_x_b_o_x_r_e_c_v_8cpp__incl.md5 +++ b/_x_b_o_x_r_e_c_v_8cpp__incl.md5 @@ -1 +1 @@ -113568a635f3b275d62eb5c6b659f28a \ No newline at end of file +bfbd5b9c880d6b279e7fd3a120aaed59 \ No newline at end of file diff --git a/_x_b_o_x_r_e_c_v_8cpp__incl.png b/_x_b_o_x_r_e_c_v_8cpp__incl.png index 031be4e542944c818a25c881c50a674ffb58246d..3158b66903c49ae858cc9db2f0dd929ae3f80b90 100644 GIT binary patch literal 11926 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 foLM5fo}t%HEJ`z02;e}yIh4G#id3b z-rw^*&;9QG3od6r=WI9b_g(K=bIm#C7-JoOMS02F7{nL|1mgB{sb|Uv1QHPfaian4 zCVb*IEIR@JK{1e#e1^EX{^xsbdISPNfq4E*RP|l_#*~w`%JL=Z--xh+BMcu>iXaL` z86~A0q}=Q>e5;{pwatRskut~WiRtOG^72|o4GTY=;qlpvq5koztY_;D?TTYK5)?jR zNH_0qWs=aeEgiuGIYW2+wz$k1B&+t7zX?hVPs{Z{`dACwinXB zcUbrTpKrPcZ^2*Aahh>I8q8ElBWro*x}IBZ(i8uBO$olVFVUDMhhSGyr2n$AVrFAw zqk?U8jz>tCo|d*XQ$I6!>jna`a+?bm!5(g8Wb`8~E!G8Zez}`>hWh{qzJB_V82#U^ zi8zt|-{0VA-D+6aX(RVovFB%vf+?u8Tkcs-^tjwz>=d~==Mu#U4-db8|9)Oxo_fCS z#cFyYH?f?p?QZNNi=KGCfpvz|)YNLn&4*||hlhFi`1q))jgGda7S>%|Tv`4k3H%3(QF?h=<<=v4I&8K3pZ)yWB+1?FH%2*N z@aqhWk>=wiuPugiR##R=Yn=Cfr^?LF&quN8$>aD$M&gU&z_mm!kLNA&YnQgRE|2Q3 z+~Fxqd*WYKJLZZd;h-T&-G#AG;!q>>cMA#&oi_^Grr)1g(b1*z*)4@(LwqnrO4sUc z&(6MG{hhkl8Rh5acMqxX^*~y$@R=oiR4&re(Geh#!pG0g86#V(tAK;#D@JLJ><^E? zs#7&MGm}X1ss8dHAH{n%!D$-qyXlKbNWiS2{~$<;dc4>)w6ydf=Vh^v7-eEF9oj=$ z+O+EGiFY-&iyb@XXRzW#;%KnqnFV7TSy@?rlNv>%PjAo zRFs#OYvyk4F%Yt9he=U)cXykY#p6~TCMg~xP%E-tV92{I*Tif5apAW=Anq6L| z!}Vv?tCMAQdq~P>Yc$^)EG#VS?Cfk_db(A;{f)!06-LcQNJu#UR$V1@0Hs@LOkFV3dUKQNGr?)Fkof{Z+#AS^Vt$obz$CiPKE9#Ndi%1VEK ze|KSHn0SkkJQ}pQNOj$C>C|G=-Yq@{95S+R5fM$ZZ_vC(OD)u;rKMe5PG_6^Ha9k0 z@+_3;@eU6Ukwg_URlO**b#&0Zz7MRbsi_Htwr$(Mj?-7Aybhv5n;GFdesGa8%duS; z{QKisKP1uf!wDM*;Z)^J2xoM3^tMp)nHuNfxVSjY-1ip;BWG>_;raPCIyySfuYb@* zao}ETHGhB3wFJWWo9eGFw#&-OK79Ca_wHR-z1pMci5h3FlbrRD{J>|)_)KaWla&Ll zt+Wgb{uG}SL@v0gsj2Ddr7~5CLtk^BQ(++x_wZZv*`rM>6LPDeu9=MQUAG6xjouoxYja*)w zNph+p5T1peajy{iZ{y?RB`zO&XIgz%&RnRXB?vUOu~DG)`_=|)bdL~nPeb&)ZKXRI zWE@%T70cWIGQ-o46cADH^M87?sdq#F=XXVVW`a%#pTS%AMTUlkUcY`ldWnxfbm2H! z-Sk8^Tp!Mb7@5DS3l4T%T->r-8VtSCD%QxUKVM{nPvO$Heg?tK5qHSzV3#-<>^Q1m zLq==}`Yv&uyAgQ82v=Ocp| zwDZ1?j_?%z^o#`$WATpO4>aHId46K}#hy1TZ=c^#wy9#KJ1RO8(_G!zT${5X{AvjW zX8k*MXOzPF-dn~CLt3e_8X_BUiHMkValGqk|M_X7!-sQfdyrx zA?M$3H!sibSYy4_Mm3p*n2`jV%1GwwT@ zxgiv2>gs1-@X9j%;AZ-)|9%w_|6pm&ToR{Q=t#D{HW$Ltv*o9O9wIty_uo(Ja_y*P z^~S~>#uxiT>UzPw0wzXA6_u62y{<4WEbPTYM;VyH-v0i=+*~WS=|E|R?*l?rRX+23 zj!2?{yT7Pr-k)t&)RMw`Nz^KGHMi6S0{8)Mrw zdm)Yb6&DQZdD<@v^c%g9F~72C9YXokt$Fvhkp)|5ALm5E?+$6KfYTP_va?RM`kI4b ztrss|EX>2bN|ZCHLp>mKe*TPm@0FH_t%zIZT?=v1(7p95sOLKEYkk7p+h)GBS0|K}$PA0e>8amv&dUKi!HIGkkMo^2Cx9M#9@lGVh~f^Y;dek_U}tYHr1p{E z(7*2l{h$3@-fL=V>g?zsgD2kIX=rHp`t_@D;_iBW{qXRxH1%irV_#n%semIlFYi4h zD6~QFb4YP+IoBj z>46A4IvnBI-mcFsc)F5Of4xVQiv zj4rFF8+1ZLfcJ0Zi7tzc?L8R{)>{;1WVq z>*Y%!xX0@1YPHk$H!jmV-i>C~*3JJ$Ac1_Bgv2T$54kuy2QP?^PfXI65&A zdM*x^qb0Zwdv?{VJB1pQ1WeSpsimd)|D}_DNGA<7umhh{ONVEOKU9*Y?l?XD`tf5N z>gMLu0v}|v;o%!;q;wFczE2@--7_;ckCggy`*y&oi|?~!oIred`w=BoBWGn}Fl_lT z|2TV$bzL2+Y?_6#@~8ZKChyse<>gkRDt>{9S7%f(ngOvesQJmNWh28K78Z+QN!kyU z+Km`@L#2%coV_CPhh}EFCnm<)+Kk6bzWZV(+{aq}PJxZmG&VIAE?>^Mc?{3_{W=%3 zE6d5{9vrY36eicziBp^B<*R>cVSx`gV`2pxTR*~0PfjW}H1`xkP&^7FG36XR-Y zOJAefd@Iq+k{(*!u(VkF07II*3#k}O+NoTP+Wc;y*4jG$LnRq^cg*`_&ytt&SXrDy zqN46atacbxwYH(=Yus%!s^W~Xe*fNjdRpF);|Bx=6J9{!JL7?@yu7sjG;xW`;Kny0 z!M8sJAA|(DZ-2-#brPx2<>Qqna2V{g>pa7U_gq-qu}#$xR-6$eod)<+q| zFiHLIsNQewIFuE``~o{G-gn8#%hQrH1>dr;&_ngB`1;lGUy6o2cUD;V`sCy%39k<_ za&lQ2EB_QDe=MJsCdCO8bJs*i0KfHh4XPmZLh@Wx&g5TT`$hb5Negwisw$2P%f2cy zF_Gjx(al>^w{8jDyg3=uRT!(wZt90UGg`7LQ24Go6NMs@5fkGXGP1+inAhZFY)FVT z+=9B9iDy`Z!9OyZ2$!tqyRwoyq_BAmnK%TkNNJS{g&DP-SK(=8lIYk}E)5z~*VB_q zWE2-9WM^tRzt5=iB29=3eRk~%Z9>+lr#L?H>G?Td@bL!2`{(}7l1xo$N=n9M(5Jm6 zRek0Yn&}5PGlJZN8bOPnT2xzA)lNj>BUY(6${bGbz%L|#FZ}icn9_IMlK- zdll@-oESHWWOCx*yb{&;1Qv=EapP3geBOQLyicLnj!sVO2kbWx`nZ7T8lH*waG@c| z-4r!+a7cO5r=c@7`1`lSWULVy+F$*`8Wk0)Teoaj6?Xr=;XcTC^`(DRt+4P$VIl9t zUgl6jYN~;4(OkoaNvjEYTqMz@fFD1?nw!HIRL(ay3RDPSC*FjeD2u37qlt`?F}H~O zC5__hx?aGJ^0K|bgzMo$w*to3gE4zS&#r=6@L>UAg1>&{Ar9^^aE^$;FD$$qNJmZ5 z12BVy4bR^dD4WL0X2Wjs@tXkc*!b@;%S6}{tWo#y?74U-xSoi(5UArIQARQr7b7q5 zXQW8(2?#toJRE)ylK7SsFRuGZ=Nm|`)G(xItV*8D8ttFUGOorbyJc@-nhW>&*!!A# zdxIsKLK11&-gLX|vEjjaWSQkZ`Vn86rKJtRJybLKJ3E^B_`EhO z8=Yo!EX~bJi;_QnyezLUSQ~soLUN9D15scGg@!0IBxEZ9gP~H)zc=dd32vcAQvV7R z(8_+sxXpWaXT3jv^zXzqp*|fcHWLug`mS0QLAvuR;k$w1t-ib1h=!Z9?{ORYxF3~% z{TcvyY;h5nlSe9*(Tn2OS?S%o!ZK0vR9sKr6r>jyCuFu^vSXaCek%9ykk1c!_xyPd ztey(?eFUQQ0j%!UFMW1^yhfT8kq>?d@hU#Nb&GGg!NBec+G zw9GN`%Ovx7Py1a+IsR9hp9o1vJmuG5Yu)lf(#YGgW=UjYVY8uUiue-g-`Pp?Pzm#` zMHwaMZ#u#Fy9BNJ#rJRAARBcW`b;T>rPVtZP*W4TWO6-@Xu&r!_{`#xl1{IZKJ`W& zW?4~?*or?p?usM4PqH5BV&g2??n}^4YPG5w(Ok2h~G2c$NxE40d6crGRgwI~W*ibyt_k5-ICr zcWqAhDHIeW|IOkSnoOMjZbr5RE5ltv{Gq5XgM@^EzG8f$IIOIP5AJX=2HeMAB)PxZ zX>#_MKe?X->-JZkVDH1jt>lMy`R8sRWGSM_SNB?0VA1 zuCJ0Z3c_UXB(JSW)J``*y=gvHh?yhAZ&`SA4!K$>7Txf+=+8-5$o4Ww8xHW&(b3%f zc9ZWVhan0RI}Rx{GOZ81kfJfY8yl8of+M4h)_E-~#s@QRKu}tiDZumCmyk0)&_Ab? zismY!A{#4vD4_MmRkFs%N1vDXdNf4tXt?^)%9*>Z!Bt*f{I*M?j4wWSeovR(3H9HJ z<7^S3ZJoK^cuhz$eiR%Z_BTGMD^kqu(IAPk6ZJrFH#g&OYJR68Lo{SONhJ?Eg$5`3i+7M$5*7dWvJPq>{?O(qwF8**=S4TeNdzl(AhEY)i zT`@@u67(D#mlf)$5%^w6`(t<67z18UqGPn+BlJJuQ2z<3sw#nHv9m+Ieu(^$4kL5M z$e$)>%`M0@)JSbD$iBWwk<1!MNa!o6rjj)-& z!aB9sbh5fS=1fg7v$Bl%6NK6OymJI(VZH(key^&fkx@0ggOR>BD?QC(jCos>oFU~C z^6npB=?TcPyC<*CHg#=nXzep@A%|dBbR*<+Uted#Ix=PmYAjtXE%moM9s+aW;uE5x zWd8n?t!5wK`|NxaQW_7v8x=L^J9-Ef7SM`{vjJR{KC)`XQd3rzQpUA_szpb~9f5Mp zhJ;SU6PZONQXis?>Tuy=rJ}MO@(w0Qg9-z256>~afa1lAqRy!7Jl)(nw@PJZwb9YO zG&xM|T7Cu&4r-3@#f_l9(D-&hEGR3FGB8-~h6)MHSxvd*)Ydvl)_g)EAGkw=(Ep1= zO{d;*B(b^zlLkA7P{*4HWkafg&qhu(Qu6jNNRWL;G=bRDTS&;cx9;Pd{7T+@R-2&|{CGv76O9i5#k zOMMz?3Cs`LdxvoOEFB3uZNu`$^@Y&kLRk3tzwMSgdcUz$yH#eTq)d#A0103_UGu5Z zZY(eFFpZ3~Vd2Z?-R-rtR^2P9-)3sPf=%w1C%$RK_)pkikpZbrRZtF^*~5Eyl0S6F zh#+Jn^u3|J?~mQ9xS0Yyb_}5ViYwfB1tZj_Fi*SDIvGM*11J$9{u{P3{g*&OJ@h+= z+(Q|N(~;?E9aZYJbgJpW%nur87>JacqCacw9bOj~XLE4{DkLz{c9MOLX!;c?^Dp_S zvEB$u9M?R_d1*s}<>FOQxgRe^nVcM*E?;Xl{^17JH|e35YP3-2jZ87ECvkXqvVuu> zK7ZC24ZDSqfJ-ye<87Mud@(j5ND$J>Q!T5m7Wna_0DvyMAO=-J?=;x5XjkNBWK17# zQwK}99}F2Q2!@;g7QKO`*PFb#VfjIMY-`2r9=`AOo_m0Xo2IHnxwsPmBW-WLyK?X` zQ{~q0-^trmOpH7{h$BBlS7V;e@{HRaZ^G8n8ZBew=cps#oh`?eZUhDB{;TJZdxQd+ zKK9?u&yp^CJ6|41&?2~pMX1AupcO*$-x(escUY2T2vv7Gw0x=r3*6UlnJo zXYae*ij;OfnhGklh>#O{=(*E3KK?>k*+v_+WmyK``-Oe;M9FHkVH<`$zfhz!2hpeI z=0AWveHWDxkaC+xvogXiFI_1^)$K2;!YDqi4tQ5+--#k2#c$z0=tIB;K3!eg>)qxe z!s3p7@oH8?N1NRa?W+{yi}21w42);a&X2mgt^NnjLjtFql`GVE-h+_s)d6E6UVf^6Gqt=t z$NbtdK`N?#RYR12w=&;%d1{^a=U4doj0YPOLadLSzf)DBSmKDu$%9&C5ckGU4`$*8 zU+$kQdsHodTTLUw^c-8=7{tT(x1P)pa4uSzYY7nUO;ToX5ekog08-6;D0=gPVhAEg zO;o8vYwdHZ1L-m(#CVO3-(He$R*xkJe!Wrm(O=Pz`PbTVw?Aq?=I+Y*F)AgCDV)zz0?|C)(&2)C~3xqr+!QNZy z7H~bx$&|dop4T^F8_i8THCAja88Uf1ANqS~sjPr~`;mnSvkw1l8e@dX%K6D2$a-#D zmCF)`oS}ElVt@=~q^Exp=Gne^>X4+Cy}pc8q;T#>ZsO=vZ8KIx!{@wfsq^M!cX4x~ zJkA9VF@Ias;MeZn`uh`_?UnxXk0|1bVQsgtyEJMZJD%=8!9d=_Ml3N=P*6}&H4Ua9 zqPy~RvMGU6+5cg`NixM%~_k(RFJ#2881DpFN3ij3^+^U(zr*%<}d8R=h-etcXJ z7Wkgwi(DEB10skR$^XXS(4*~{ME3iVq#90XfDF=&kGDM9_K?oBq%*w5 zgof*`k}cqIwt4#D79WHxK<}d|!mDZ5`x%Kq?o~uAEGVjA-$1nDm(g56hrabI zoCI5>hKc8}R9)`^_@2cH8(!V|%T_I$skkrAVgZQg=AHxrr#}rhc8{B|MRM};c;2rD zven`EKdbGzn)M?GZLQVD4e>Rr7xS+pA)BuDo6e`$LfpGYEsyT7Q*=p9s=j16>-AtI z=eL(*d?6PzcU4}`QVTJN^|3g!4H+^2j5Y$@S8TT;Cnu-0bm*Ao!xK<>$JX7F6n~i% zxBbthgM))H37FsQw$q_|6%-W_pPbDRqY{OsqWbs9cZXB)9&XisPSDw0U$1g;_x0wN+Q9HdI` zhrtq5XmdcVvobLBui7gqDdAzzJbL7Cy1xoTNECK=dH?>smR4MGadD$Qh{7ij*lapg z_SaMUSwUL*q2C9K2j4vih^avZ^~J;&xqQdRRs2aTDMvfzZwHeMKSs)ALX2CjVJwPYyS;?6q|>ySjdqB*FjsGjDk zu>sw?0}3Vqi?qD_*47p+T5@LQbNF1NKp*xLP_R*~IxawD`-;sTtdF?r?ow;dBQA<7 zC@7=KFZTzA+|P=bn2eQ_y2_`kY)*Dx_w+cXkr5)IiQ>9@y1J-C;d_Z!=cZm1prNYU zy1v84#`dBx<0g)j-aNsZ8z$|$RH7ettK(z}6p0Rh{CKp_jCZD`zkj$Rz}zifK7D+& z&&q1m8>B*7dL|~OV2P)?dO~bZDz&#(R-|yAIXUtAimf`216{ngQQUjzc6Zlbl`&E* z3G52qjeVn|@ORA2=o94WxNarLkC>Ngvz8YZN7O7p*_7K|^{#Kd!5oo_gg%eg+#Vs$ zO?&`ClgNd=j-{pNbqp^()NpQz6A}mbb z(9mwF>%OpuVtB(R3A?GvVx#3AC8o)eqGW#laa^R?IRnWg5Q~TH`MbwsO-v=zl^I}` zfL?>o;Kj=7czDPgs-v^ne#_OBgpg3c)z!knLgs`4aj(;^SEw9rU zdvUxrhr7G6Lav7($yf@qu(ED}wqF0gvEdHAgt9U+6Ls!qAO}e0xl~OJWvd5AowMh? zMRY!k*{>xUTI+#@JKCz%)@4P<+|wOE^I^S5cugc3~oiF8+A`Wit=*U|BVZc_)dO|r??{T#@ludVG%IK*}yH`t}qS9y#zGRyix8S?qU2eJO?p;VgQl5(fe zz=%6bkESLkgW76^6|e-vagaol6lp$(3=gxSG__P%uF7j`w=PgsH|i^9@{f;KwRHyr%bl3;tXNn!FQu*t=N*d9k(4o!{N_(TAo$9K=^kToiQg#y4xK?EnGUv@`x5Il1n%RIBI9 z+u9aAI;cSC|AKjJG4Pd5GdENGWn>;BJ2W^rKAK@|sru+qDYQ8*7u{zb!^7Oz*pk5h zcXl!`b~s(0O9AP#JCN(=H{Z!7Vl{5#BVjjFm}1rz^3aRI($Y*=nDxU4GUyGlK5}`_ z;^HmLZf-un`D1NkBjjiZUI3^{Po)_cUzqkr_y7K#r&!XyXcZi6F05y}s%&AHqM2mI z`_0Be=4jV;_s|iz-ztYcD~pQ@^Ygekf3_AEjdG5l_&wKGM)n8xu+}wyW6Un8s)~cg zx7M_`6&W+RU;Iu(JV?VavM=;z9!6$?*zznH8WCK7WyTkexaofl2_T8~t*U+dCJ*Al z^mGqsB|!Cl=4%AaV_=}avorI`mzO)%e}u%0dzW|m6J&2kclSVz95XY;fM?x6iU3|P zOom)Nyy$xwx2ebJvNHRj1usD$M+f&nGYeeI^Qu%f5%EY5G#x>i0V_vVc^L zI3qQ3`pm5JdTieonzG0LC#-M^hsSix%-p_z3!(orhFUZ^Nwm=Q$T#tQ)%f^$OnCTl z3n6w}GoS}W#G8mleH@IqROQrvss(g*wlvCCx!RdE&LVN=M5IJ3jrxxj5{RYVPg2{A zauN01^GJLM`@q4#0Fby;J{z<)Epr5g8Vm&GgCphK-1GqIfc`Uh3;J_0dQ?KfqZoR4 zl=F+J^YfrKLjivdDPZ+EiS|!k1WV9GW;M?dfJnux_D|-y<{_K>Y%)|y7x*Akfg1Dv zeV%L@$^FD=+44X7*t7%qBugOb=c1ES1Aw~N?JTB~$E&Iqupa+XW&YxGR8&MJDzbhh zbRc3$HEC)7SXlp59}s?IKtFT#0;#CJzPi4C0=Tn4!Zr{xP>?FPV*ZIfCEj5YDFbF1 z_EqoysI+1Eid~(q7cDIn!wOJQxx2o9TvnLm>+=p?QPj&13&#OEsXgqQUmJV2lR8BorCqCp(0Dr+WGmstJ`S}c#(~(w2aFB z&4{y9aa2`{iB1IhGpcfCz`5u8(h?4Ai|uV53$^I_`ndXf0q4%KZmVOO&ZiG?OXD9a z{hG%&HC3;!s3;g?ncu5(Pgc&|+%VH~+i4TII*Eho53Ri2vINk)v-9)6dy7}>nE*C4 zzNvK2Ujw)dnMorD$XJ3vkkJC4^nHnZ(Lb8;a9!fpeKHXdUJ;RUPlVHMbi4g+v^Tto zs|f<`-YDLpv?`cL!8b)giJ`{fUR)fyJhvmO+yUc+gVZOwz(xEA8|?vWeO9^W z=aV;Y35{BkUkfJ-ckveP6Rpf{SbCA(!9sZ|`e9`-^D{IWKr-j#z6OG&{$!~Z4212+ z*lBbLc~(*vj%WLtWiz+kFhV2Av;b^kv@(W9)80Z zxhX^#itf9c!(1nuhKmu`9%Pzxxb?{YF42m$sVPAO5vcXrqdaydX1#5&6NZMa#V9#B z6$b~ZP<3V;ZU-j|bgwt|CFtlo80b4jg*DfN_|KZApG46WAm^yu%M3-TBpqlYPweQ- zju8^rh%v3OTPlzfqW5fa(}1J4$BLKb70L_Ix3=wg>eDmh?YwId z)P1fL{z;-ZmY2<|bFnL-v(7y#35*ab>GB5$51R`OOVj23NAhmV$nGmMR*M`{h_Lsq z7PdWf{pNU4<<|RcmsG&yz^x!7!+9ic*J1r9F77G4%}PsSW0GmWN@_}q0B`xyx$}E9 zg8BkQBg3aMvRE+!Q3;=ahWPK0uiqa5)u!@sfHuAO7Sna1!F@zR^7frGUpQ0BFJI*a z%|{*{yn7qU=|gMl>smfy&d!xSy-{DHWTd5=t*msAL@O#ri^qaSM?FV1u0Ek9{*uz$ zKjiWM`SWK{5vNM10p8zt$;rtkNd>`Tlm-TFUzzXTaY*S`qQ|2hc=Rv+Acmhltp#P! z6M-Gk%e9|bTDlI*C0YLQWaVzFL}`Bh`dmxl>T0}?&z~gL&e!JV?&mu~AQC0I6@_#z z{D37c3y%&`-Hays zwW)UEhMvflnMfukn?!#Bb?$NU9P#gxIl0A75xzX(Zb8q=% zY;1@)m{nN#u~0(9*H-^eL`!tX=jTYZaI%p$jBNsZgRQ+O; zAF+)`U7~qWd-VSI`1r}$c5iSCs-mH23(y_r4yNEf08$mUs*SEsaq(0}{Zv?3BvI|! z#+f$FkfHk*I}M^H*~8CkD=VyQQD43Wbaqguroz0;rKPD62NRR^ME}!=_dn3^nkWowy$V*HcD9Y_} zb0gK&JA-PG&zPIg(03kQJ&g`~mfY2w&qSZm*_#iqh)%6cRcWbD>asz4mX;0ss~^BS zVDi~ZUyOoH%l5=LpC(X4>qf-KF=YQ%iG#E4t2!G!N24Fx7Wphs`5rwr8)-Ne_(5Y67i+R~K zkB{kV3l4?jWBuKMb|6hnsyWXNYk!zqEDD{8huvrzJ&MI50zN4%)-^NVhVmZreHOd` zM@Y!ed=#{`6}7ed_E$wgceW%#^9GNc%ZaVA8bM+k(^u&i0CWK^ys3O(7p;RtgwBP5 z3+&H?4co?OW6D4#Tg{szAitvDkb5FprBqZb;DKwjl@%31RK!IiendA(g(n~xGKORxFQ1F$j)vj zD*Rc~WC=6n@pvOUYcj>tsQ*+kNCPD$E0+SQ(V@`%70y(0=&lS11NdiZinJ zxeKa5EuKGEFCEE4&)3UmVa*#cvkwX38AwBxPb9-5C;t*n#A$t7SzipORB`d-2~)z# z$rT?ToM$T0Z@Ort;)S#h$1VI|H5G*UJOAT%r1YzG&mdX z&fWus8rBzNVsQ@WvgCw*-@V_`v3eu&E05)5#e_aP?CC;N{ARn}3;SK8eh^HKR5}Fp z!&cUQv%V~v8jl6Crm8BF-B5D} zI%h9Gzm)oVE&cD3Pdv|ZXQpo5oNRkVmG=AHFQ`obK{0&6=mU!9b5Mw46;lMe$H~cWthkA8I2hbrsQ$aQ?H2hL&`&L%9x(I@MTNxi z>&HNw84$1*yk3m#1-2WKPLNNGf579!>Pj6saEsq| zq4g`vRa7+5E-=Sym4>SdB08YOxVs)&a?303ziyxq#X(ABt32D<3>D-&D;@b7I$q(I zI$~0!rUu7N;*jy%+h5(g@SsdBN{}UVaOj4YSW>(o#VwSvc2@R2D)zr7RTPFF^Yc4@ zjkHYp%ck{oX1Dj`^>pVl&}R&o*#naubUz1-J@>gZl$2yAO+MZTFAjwCeX_R*qI*$& z`h5b?8~X+w6#ZkFK&hz!sU->WQ~jmG43wEPV)TY%3v27n&TPskMo^BPr!wxQnONqC zRLV1O{&wQbO{i5_+y^Xe=yLWXeZXeQ#cjDq1U7IUT;Xl6LWEnL(azlF`Y=sB0QyTk zBX&`*3VfNm3&*D}E?x9k?%YJ`CRaO>nHo87?Ches=;E>PBR29X3#W8@X_U)H^og?B zS~C)o|9Pwy|7oIN4-!k7?CIgBq>PTwY48&xQZ!AcrIUOzjYdzOK^6ENlIKrfjvF_& zKniVc|YS`Hy!70uS7p&B#R{vtwGcp z8r}luL>d?cf}vy!gvg{alI2IYG1a{*Os=gJ;NkJ?3|_M3dk``+Iz`E&%s7$gvgQX0 z3!F~)0QvXmTv<}`Xs%@fWXL;Y=X;)sn<)1oalHc&0QQ%GbUotPI%UJ8ULA&Zy`?dA zYgMowwRWcj-AKujmN-mL8OR0jO@tMtdxMIi!Cf`&F2K1c))%@}s&7}7jX^&Gi#RL| z=#ahNNF}WKvHGxMWZk#4$1+uDmU|+zRY~u;*FKb$rbWZW_1|5L!j9*EQRKMUrLL#5 zHplte!}G>3qcw{Wb6Y!$-Cc8_@c9KE>FUatFFm*k4{gfXouR&Ow)%okE?q19EFx%6 z=WkKb$J->1>jxjFs(GJDa=E%6jG1299a`QGJ(|9Ed=j1?Sk9C4A(OJh6(L^dGehUR5u{YWxm8w{E~At#hyu;6J99*! z3|tQL*P}3N>~;Io(ZQ+Ez>#6zT6!sD;Ep~gT`^X6+Jtq_}y@YtMH-+@r&Q;xWC~%O<8p9{m6d>eoR34(likpmZy>aQ-33WWn72HnyvF`H<@#!g~% zk-7#FAoIHIwy(~3%;4e=xzaYr-yadysZa!>X=!yeI{v}e&p+W1SjKZc2cCBr;sP&6 zS@3v9hQjN4F@1NzW-5vUq;tDHCYC)m8ash=HTWi7T(R9o5KghLs5?4o(&h2vJQAg& zn_C&A&Ua;|nexxUTYI>gzV2dOgT{V$^#HtJA3@09+cgI_2l%)Wtnu&7gOlI^l&UbC z-@Ova5l{0wUK0|!7VW;uVM<5+q3j@dFo+EiWHnJ%)qD6xM`s)k3zd|Y^Vys2{gEmD zNPG=2+>hL|)STiU@0=&Ns6-ck)0zT;z{%mliEGSx?_olM+@#mI+x{3*(`aklKU&IF zP7evyb!wGOky$NXK;7}s^5kUCEwxDK@n}Tn;+x8TE|Wh`DY3poQeex!?sH5`l*D}p zD{^mc-E7bx*`w$m9zJL#slQkjQ6J8UIcX(1`YwtjtGHn91Bj1RFR#j_R5Q~OXgX;r zG>gQXJLRns}BL7)$JYO>{>|Cp;7WTeKiF~{keUw|us3hXZUMBWwr)_iAU zjI*?gi~biCOK`-up2BzxdLjiw5^AW2yjG|3scWNUn;$OAU!$@=Z4FffT<`0f42Wc> z&Qe+VSF;tB5H*T7C7oo$e58@_j;oq{Zyez(HP^djBD#M!imzgLSpEjGk<|_Oq^uK-yx{;dhW?6Apqc*9>YL98Br>3ld0ng57DcJv z>>t3@0O|0TM=d6%I8b$l$at(8L@b8*)cY6_p6IUAir!k z#}{4+x*M#P#^mI(2yt-u)Z`c#oWGrSTllpaxN8gjD?SFeU_XzK)7tLQdr^QC14L7D z%7vG=kSl9A=Vo-HB?I2(Le0amlj)|Wx6mPXG5rh+vJLyQ6L59DOb$*KIK!IQe74xs zoT^xoDAFt9ly^Q^$q7~mpzkfz;5_VIpxOdsohdHMZL3nAav2BIzkDH&y#g(9dg8Qz zgLwm?p5Vsp>}YQc02lIie*%wY^bY=bbNL$y7|F0?PRWW^M!W_1AI z>zLbn*P@)+0q4aIH~xOXb2K+!_%SnV8DCmb0*orDh;CSfN{V91#Au(T)vCF}@@6gD zsAVGXCJj%pfzE8))MOU-2Qx+6<=0dd|eaZfLG-U`6C;tt8pk&sj0Ohu8zlai8-W)0wL^Du+3bz zFMd>Ox$dtN6C6`j&U715f&WZasNs2Pf#Uvz%?O+@iPgx_FBF`g^SU^n#1G)H_5UI@ znA5+4=2cK!OuNhk>)_=j_>wvQkG{eWObYAL7ms?Fz>(V4hH6(CFCLiohX65YZSUoy zmhG{cdVzXp;e4LFlibyE`j;M#z7KGuuV%Y@SpkUk$jgCA#@T}g7>wVil=9!9PsvnG zh~vF_cj*SSLcVS#=c|Uj#CLPm;QEA=OLfw~|MR;38>d>%{GWdJ`t5h|FycvX zw^3lgGdv7rmXcN}=gNgYjgz-fi;OuR#cf7}hZooyd!?sG0H2&2c{CYYmX`KBb&Uee zOTHWf?Tu++jhI*sJl0b&K`@+$u`GTmbNM?7yle)L!VB0jHD8E!Xgbg#Pt!6f${N5i;>gg<3BfgXR42Op&+{*|K(Ci4>8Mc z3P(i;N%?#SK7DY0Fp>`IBC*RK@$oI!Sg~p6vt)wZRyw{HpOSm~llxaLk5l%+vhl9Q z0Ggm!;z}0>+^Ejg$T6^z0#_=m2Y&sn5<9%Ox1;G`-2TrC&`l8~{-1>-h3ShprA&!) zjR9Hyj|?dzD><&OBD3bDZ>VnLf^%qn*qsLV(e~6?GxYT-kC;6v@1hZhlC%BlVy<({ z{VJWRvC%y0rZ0RvvPgRshF$tcXoF=nv(<_1>1iXo`q+o&sWWH4| zGTVr1y01s{(f)=z=k(1#JJLUtQ_IWmjcJ>0X_o~C)@Dkg&Rabb6=St=|J%s6uv>O@ zR!_&AtBBuqqf&jfJ)#AgQt)E}?9-@Vr)6QOy81ow{5j)`-FGziASZbIJCq)>IeF3+ z`-p4i{aIZjx9O0XedpKB@BJC|m#6!`2u*_2Ak|0iE!UTuznCMj$swARky9(Tp|#MK z3y&pUUGTZREh$Z_LN4rfO)h->@~NFh0bBU7-CuY4FxKzs(BEdNvT9&U}SqyD)!-w?qb48C^^UuJi(|OT8UDcW=3;x}RKlk>+CNphaK5qsLOi$MW zSWbAXbbL5*l&{4*N~$Vy{HHle@7v;zF4~>L2PZ@lOxG1}ueY*Sa4+%VEHU;GljTA_ zPvt+i@D8hpBLevSVNz)IpK6LT6hz~SEI~w+#4IZc7xm7L#O|` z--R+IDZ;OwHJaDX!f(uY{+g4M50<*n+kPa|5SfH2(vPd>okPxEAJOAAEPh3V%J`xU z3p2Wb0(vKbzbT3tIFhwwgpxL3N= z_5dV87~mbUt_$#9c_NNVElh>~HUuff42oA3XtYKKfPt~B%n{=LN9x<(1AJU21t?sJ zSob>Lc=>2fo&53E`(>2%)Q`uI^=7MT{+u5$z5nsB$d{qKCyeQ+_FLK~5en~n4V>Xf z=X9HC0Wb65nmq7-kj}U3Tg3&1>BwMw-Tj7#R(BVm5=s+TpR*&KlsE&Ma+W_RpCUWw~TiO2Oh`0D%da-?2f{4ERi9$M{2q71v7zg|>x-0zd%9c>xcu z3E|6&G1o(FOEX1g4V;UW6gvnx+6M|UGI3A(RA10!=UM0ESyN*J_kbk&m~X5|Lznrh zx><%3oO^H%GFCFlOHJMU=^K#4e7QQ1diyrUd}{1BviZ$TqqY9V?^u-oXvw~(dRPC^ z#d#d0_cT7iU17qpNvj+;HFLqb0xS^VWtr!%v{aq6BD3};`D8NV$rRNHfX3YR_7bc+ zF}YCWJ?&e+jV*la3vhkDmVGUuv+dzEXpC&}`165H`088%j^~q1siP>1#I^Ut5w30o zA>(`h9!eE@$G)7M-}6FMYPk!22CB>XN%)f8vIewRoh--KTF5oWt||pK8-Fcv!g3Q9 zA~?N5U&XEkri1?&CFuXMhgzDCQM}Tb z$>HIRfyt;0UhK#eSvTA~&(a&fKVRXIeM(etgK`wT$Vt zwF$omSd!rZfcWkesox$gJb#5J9tOutoMvh-dOhmaTL`zw4rcEf-lqlyymAs7v}4J) zp$tS}073o{B&l!~Mq3-_rQ(O(`WwJd0(Uc(B5Cu^gs*YMy82$#c&TOURqazH$a|b0e^ojko9X+Wk@F?I4XTX$zS2^iy8>}N zf51@z^j{jar+dA^TIB}flNmJ>SkLo?w!!G~gPLG0fl%l3Y5(Bh>68w#f#wb-@dZc<{U&=YHEW}g5WvdJ*MIwWcqg;uHdhLa2mLh z^TCtbi3V*i4^Igkc=GYEV}BDy&tjzkl+gd;=_{kE?7FT2X%LVSk&8l)TP?vUUt|;XkFqBo+S#KRc`hE&!BF97LkjfW*;$gVF8V0F zUfR`7Udw@dckawJUYOj86zuzxE$p;kX+0=nyZp1OYiRcCWnt|+3yb-=*Xe)=#rB@t zby56tIxX2!YdSfz%sMQh9%9P~*#MQmo#-6rN@_U`l_`QL0*z8yIqC8q%|}LTy_2R_ zHwTy3>%!JrA@DpmR&F*qO?1u@xsMu(u4*>s-3H<}RfTJBXhVq0DnjKHZle<1jF$u^ z%kWy_WnEkdh=W`24}-bFrJ$X~y7C4|O%QMt8y1p>!3g zFbi!eH;r`a?4Lhlfo^R>ll?a+MYl4~e7o6KYj!paUsUeu`lqt|?w@Fu3`Hc{Q;RpQ zm!>?V!t?&c-U!;S$L?kf^9l%1KlYM(;d9k|M_Z-)Qyj**QR&a0W1*p5#E-MuAA1#Q zb>8(CQ*8a~{X#!2U9PTqtr|0!Msq_*a9vk*T zW4-SvBo2?LTM!F~m9bfg)ph1S4Q6?_FE=$YNJx|vXrX++isHI%4@bvfva$JayB!_s zjqtGD!Y3~Mm3q|^4^1*k-SH9bV)NLpaGD6P;?P3x{h+jZ?C^k$tfVwZLE(0D+3r*I zcXT{L%=G-7?xtdaM@!V*DG%b~bsZgj!Jq10#7F(1iK2lF(HD0qY%np0)m1bVUzFf+ zqj{ZTux7OP)Hrm8@h%=R_{p*K*(ou;G+1_fToeLN@NTGlEISh>MnOiU@+y*F%k|}$ z{F}7e(nEDqQ_B5?%UO7cpZwGh_KROcYTAt~JbnA-{O;Q>bE`is3)z^M26<}zC1TF@ z!QEtm3yoJ!f9f*xt_Gu7engdH7+4KW@FzwcFKvx1gOXK$>2>E9>!%-Vj_PzH9z1xy zv92Z-J|g~Wbkyf@dbIdJxEE< z!)a8KlWEysBZ6mv#47~_W2-+z@0>lIUc|jT-JPMNp?T-drJDQCV?V!%@2U^* z44ap1P*5rqlL_nHH5!aC=DH(?v6j$P&CM0n)Fe#SCwzRSQy($fxlR)jjwTD=?-&>$ zBy@27>`&R?Zl?13q{j92?)Al72A4GFz6!5?-ODY5S@(ovZQC5?jM^yFkBJEviE~CyFXKPIz3$p-`~E0 z)`pJ*3xpHFYDGF2HN<)9WkuSxL9xz)ckdqKJ>nD-%W>Y@Zn`=?+K_a0tzpwTCn9P; z+tos|WQYjDAP*cLr!X_i_WCROJ+Icch3|QvovRyKdYUXXO|bcUO$iA>g~YEp=>31~VUX$x4-A~N-MkM+@VXtVu^uV_n2RB_tM>$;6 zyM*A+A2Sb+*2_ySdiq2A-!ji}n)Ix$<8!vR$BT3m&`>48k-^jy>C20cOT=kuiT0v) z9%@7LVSW7tz{^FznqR3RaNZ*}){7fHVr2iLZDr+_@J~+%bsDY@*ZX-l z&wQFxwdY955-BNlgIW={w;w7dN6||iJhoHSxaj@GQC?VRIKdv?C7m9~{(G0)_2N(t zp0)l`6&!_6pVXL{3Sy&)J|9-$HUGlvnHHkwJh+KwVZP746MvE1(C8Hgv8y*W#%K4|NQ2T`0_$(ro`sfF8ISCTtsbep^Qy9o0w=mH{5$`^lI9TkFR5Q#?Q#;)7qNE zU(I~-;C2}q!L%U~-GxYD=fc#GW^;kOdYjt(`zv6Qq_&iOI3qPpH&!@ogx14UPaxOYwP5!&j;krAW z2Z!q3y)b`V$BBIX?Bc1im;>^_xCoPzFxo! z{M#__XO5ct{`sy}txpTNT(1W`JtlW7AJ9MteSHow6!|kV;;g6JAShNVg5w;#< zHreMPBr$))+=I9ll8kYFZJ}o=`|C(u2~YJEA*Cb9V}|VQwm>Na@ATB?;2JedCt-i& zp+t#FZ%2!SWH&cA^3=Ur(3G?Y`|L)PF)=aEQsVXfW60*pUBHcM6BTL?!sk;56ZK-0ZFCkH1Q5hzq z&`@qm^Pma^eX3z@3qCItB*WC~I#E@XYV=i-ti;)co?pVk=%37!2z77_Hl=v<3>Izu zq0rNNL(5iA`jW}eg!tmrlKeIm+rQOD;F+%O`sK-ugTv9bz*@FqD8z)Gp6xGWQ}505 zAaILY2Cvh~%WFgJ^ZGSgMTO;Jqh3DB{fSbr1q=+ZLB}e>zo)_5`oo2hu%n0ho3HQG z=quZgtn7a;Mp9zcZ!R6jeowrH4eaEUrClq2cx3K*vrS(Y@)@<{-M!^;wtgC^N|oNx zsV0FiaSe@|+nY1!2iE^gb0ZHe+Eia(f0O!RXK(l8)2GRh5GQh>a^vm@K@lfx?2xw& zWCWDDsQ#_!r_{Hdkj^FwR$eLL!5;Mu%KQq|gZ-|iyOGhsSl$m>j35Lk$HF6P3v!v( zHa~o&MauT^m%6NXi`O%*sjJJ&Q&*+tz11jhfDsz)8f%{*22lym+HSuC9@rX@g zzb+#7+64#O%im0Z?a6%Y1o=nrvQl$GHl6r_T|L=4OK+b`0kO!wO&lPuYodt_wt)<$FCje*^g66IvmgiIhsvhMUJ37g5qvO`us=?X9SMNDS)$bs#NmsOj;?FzTJ zjI@ofX&U`>ML+;!jVmusXa|s3;ja;`)p=;y_Yyzp@x*05T9pYeuq3Nal#082dK<&At0@{d)L5 zjz1P=kF(7O9E2uu{-+2C<>fpY8bn`dp1%MYDfV5lxcJzN%=k#BNCy5YA*L;{XWkTa z_2>u)}^jiPoAJ9zaQt;qb>sfD8u>Vogro zf-p?4Lm#3M50FYZIiWbUxFCB=8bXmS^<_RK7VX~Oo=x&VsB2|p(72+teBvw}9H=No zx?HZS@emL!cP$}d$g8Af=HzT%p8O^(x01xhwZ1vEbdX;zX<91oPq>JPU{`L+@Ox%t zR8nABS68=L@5Uf4JV!|(xi`Pd%v#6HGpcvU@=vN)S}L7Gir~G_7+Y0UhJ`UUJd`TU zGBq@03$|Va9;ElxUAI(>><%-bvmd`)Kr)&roZ;oQjMTm3-wK|&Mn;=nH?Cq2@}zrL z>+3UC{p)Yae*7RNAV7g{#$G<-XQ>#V}U)?SvCizD3peC&=6xAKar zo0GQHp>!#5xC4h=Cc~wd?<_3x3)YN{R>>(OzuXXh^ln|^;P`saw;2IJN!8v>q4Q%O zY8N5l$IgB>HfSCB&$e|}xb!(Dp+wV44h?TaEUHbMG zJn-=+q(sA-!!c2P^-Ba=TI0pU7RC#A6A45Uzvdo0k>T8jWj$KANB!K+&hCG;TL==A?t&tjsZI|ttT{Jai*md1Vlg`uHG z^z@Z>bO$qUqodgl53OtjyxR>B^^OIw{a4<-D@I3-`HU(h7p&dj{x!)%&xC$Zr=vbt z$_*>!39qcQjhIfG2*8uQoeV6@KR)>xcdzv_XDjT+UG^O4Qr;>16c!a zMvWHUwRC&?_hw>*JHTshMtF3Bzue@m@Tx@L*Hfp}cBT3WHx3ytb*#a7M_c8}%_Keg)j^&MmFs%3NRE%1|&e&*m}SCFs3BczpE z&oiIEhfu`N^ETjw6KoeV(~rIc_hP+%9cbM9y+`#Z@^xO^Q_ngXx!^ciR$d(b0mlajuBz>O_5ErGGm{N4=f4E;Blc30_ zGr}O>xAo!mH8YfZQkGgK*Y6AOZS z_2}rBctj_szaA~zefUAAj)Nxhe)zXb!KaNK?Q0w;J%jxU78X%UHgU1)s16zwztx%8E!z@(>lhqr^6L(bm)?t)w)6b0sK1Hqc_Q5YKIgmGK=L`R5~NC1h!@ zzxyY@2gAswgm5G75!{8KTTxM3@8MH<>ZGjvu9L(dwfNn=(9F!?RIz{SG*dgFt?s-5 zb-^#1kcg;QenXBoB-jWm&JgD>F4Xh2Yh|B#ho*S>c{gD~@we}AJW-^ZYr%pXeg1{! z;L4d20l~tej9m@Y2c3h&LR$JGd}35zPEO@tBQqG$S0AZ}$jQ67O<%CEc!e`DA`L>7 zadSg+db+);%E=($q9Phg^UU1kGIP2SsU!$T=PR0vppqf{j z$?@|kJ4#JVWQI3^_>t)PnuX-SebpK20F6$sFwEnVyNCz~j!`bpG&JgKF6+Ji%FouS zi}0TXm6V7$)(3z{nTMBm=`S`eZc$E7T%C-ep`lpo-!-KKSpxK){iRk#I=aEi%H%e2 z)l%1c5L@pc*|D*ns?clw1PjmVqHL6SA!a1RM#tY>3H%Gg!wp~G3LqofDp>$$uehu< zpO*H6LgEJ_OY)JKtFxVXJZ=D*HlPu3JPCy!R@K%{U~v6TdIQd*p`js=J|q4mKl1^T zgRZ|`4h{|`R(*Y5eac~N9N-Lx{gsB(KeuRabnNbIwgXTJyQ>uS4GE8h~d{UyzcLy1KeHd3Dx*Pfr)q(RsrD?`vRi(0aY2@4EAPaERVU3JEhdK0PGl zyN5^F&9zQR88-?_lA4;1qRT@_rA{!HGaI4z@bI{E$9HlPc9_%kxh(?1&dv_;W1Twv zR#dRJ+?S=Nr?<7W1+Q0U=d-1yB`_Zi2nbkApk-hx`*vRVQ zs*#I(MozOE?+C-%dQUOs$;sInHz((kO|?WYv5T8qRb?eucz&GwFjHx{a;i^3LD8bM z0$!|Ou*=HI3M$}J7#H(bm6x~uPP;A!r?^V{jn}weVi^=fUcH`M-2Tzsg0!}l@DPtW z361^#xBy}G`1trMPA|ayv?Uo8rv+Bz{rmT2UQd+38Dp>UFS};Bw6?a#T#e)T&;F*S zXA%-9sJ{0g*B2KfWb@b8*IO?%L`VMnYSoot+=X*{p5l|7+>iqUW(6w{mqTCtJdlTn zXMTSEQv}9_UIL#bsW1*9F>%Co{7DJ}52`P?6EnN<-0$wqo3EeQZT2MtQ@q((mRASV zVDi7aOa9;iBEt8wvZGdiT<{zHXX9G&9(=e_QBhMl8u!29>x)IV(kT<+ipg6RP+Ha6?y$GGU|Bo7_{o6%HH zkE-EeY*bXpjK9Dk`G+5Y~A^L>2}4^e%48*H@Hp5nR>oVyj~?=dj$H@cgFgRqkc zJ>j}AKh=&N!QG5>S5g6VDG7=Gz>6kWl%&K&u*}`u+QQi2o12>hXM1?BVDt_vKay~J z>uGFkeCN)c7M5n}pH!cowu47(pSE%txXc6lRtGo*5~~EAp7HUbT&3>rmcuL5(X5W z&z}f+_-*2n(e3;r`_nF`$N z;NpT2xQPWNyh{>Cb5`vd!vFSC%Q|}7-^|?1Si?;_&wkuNp) zxJ&XABO|_#O^Q-e0X9Z$aB^~@k9sM9cBkVZ8oHO0if9>?lmU+K3;nu!?!ASn$HiPh?7&_ z&~T>2PzrWt0|q}oI6;&F+X37=#z^~KYtDj2^k$5OM2=x-_;e6ltk|L;$B0CF1TuIsH>|J6UVee4>dG& z&&i@?0DBkJ~6RJ6kR&s#CebSnB!HanrfaNXGQ=R;RbU}f>#Kef9ci8R6np#qz&al_hi>n4jxww>+qNhCgdJqSb zQ&32z4+)Tg8%sd(#62fXJgA$er-S}R7RQEduZ|c5osGT;qxAaz-NrxSuPT)ZuIkp( z%8SWRhV9l*Rg$nRAeX7C5=_d$f{yrY&Oadn5bfU|7wj)6NWZ!aaJPBZ_vwG8?u|N< zlg;$opH@zJ(l+kEW3#lhY^$I%3Od5%Ar*zS@)8{y(I1_N-;|}c5^52gtp0i(kFqP> zCkma9j?Uwo8+$&><=&psWJ?s}W>H%_*UP_&Wk}B5oj%W~_SNzE9#l9ZK9>;^z6uF> z@zm3z&P#Wr>0>|Ph}P>dd?;WC$P4J?y5dd{MH)Zp{-NG6TR9bis&e4gi=R~gG5J_G z6WlOCp`=tz@IWI!{RnrhLaa|2z4k!dBW{0uabv?7JPfJBA+?}&%%YTG(r3|GSxFfi zPw3Q>#-`}5Y~|kFo#j*R4W`o+eIJ4jjAG>s*&dJBC+Z{@|I zDe7oY&p-+IK+~v1g(6?#SoBT&xrs@)Z`!@IU=c@0EJ>@)Dm~Qu` zrihAk)rEyAeOgV`(dSs(`Yaxk;T)X~q*Xq`!z&AbZX`uS@b|JEbjuT@r1K{yNu!nM zNCwGw1o7>CXJ@xX-DY(fSaC6jaj{2J?((ivty7X_>Nli$QPIU$kJwOAEfkDn<2Ze=&PO209uzmktZ)I0X z;Ncw+bcM%_Wn_9xRrCTn_=Ib?Yv_PVqgC+{F&8v_Jv}-L4Ha~B+CmQRu-5Kw{(k7> zC@<=wqN((CcTZgm{HhSpk!Q!%*yz?&Wx8?S&mbXk{(eTa*wJwq7??FSR#59)yT1BL zd4?K2zy+PqLR4;RkFvq#$VFVdr1a2LUA=#;_d$*&1odYSfg#;Zo(;YG_7TyQK5O1q zOTWa1=iBEnE2CLO1_Pr{R)_RrV!C>VO$G9J?T>*)kr40?4$H%@l=K?LJ z^D}{lBlPq4ANR4cr7I+17MH4UaVmSiDDHxGelS}xCC3uQ<$*J1xedt~`)9JisV+ca z@3Vh$b~<%&qkQWAfu*AVg0iEd!*GF&EW`4>!8>c+(hr<5{%DAlW$k{Ft&N`AVXe)4 zRu+^qb&V;7W%itu3-54^KE!3E8DxIf!$s@-bT#DY*w^2W{qiNv?5wof_@kCDU|i+2 z+!n~>S>%UJ99-+jvUYo;4zsGC?izlFo$=46r(Ge=yp$)BS>}LTSDT-2u{}W(?od&Y zkB!a9S%TqvS4b%4m3rBqS;3l`?IK;dnVBs*TA?Ky19uD!jVZWf2!H77SE!}Wc8{dx zZ}NZC=zmV5T1Wo3Yx?;GOke zW~Cs3PrCs(SI^kko~=z>Zq5f2qbNg;$&%QL%G0jyxtJIrlV5TdCRSHF*VVA}uADl<@9_{>ddJ;h-%W+I zL&g05YE5n==SxOrQl+Im2N!12+ZU=Ml#nZNaO^!je*>mx`1l#Mzq?1-cws#?y;J|3 zXhD_pSEKPrpTk3X80R|v-hnv#uitJHK@19ylPIq|eP?#z=4PthSa`77t-;49`Cf|$ z=N%6p-|5_ZJw;8;M+iiLfpCe?dQi}^A%C!zX3ZC}1K(DCII?fw_I5F9=XwW+oSyxY5&p zBNKelul=|fDGAKMm)pIV(#14Ce^$Ex_{mS$jfck3-U#)Xa)G%{ZLO`OgbqSa8$kpT zy-KV=uBA10>SXlc!=ryovU9JRO~I?&%I(T_68Gw2~;> z(%N2Oak3qa;Qf$7@}s|>Bnl@t2P+p}%wy(KVGq}hbg7@i!wR0BQ(|I_rS6$qH0%S> z;rbPZo!S_tNS;_AH#cQ$^bfo4!2WVO9R>!)HtEVvA}f7| z%o3(Uf4}zj_E~9Z!{^VWqz`)sSDhlG2yN_zw|^(x9Gh`suq6_ck+H%UR8&;=^c3gj z=6!%4+NMNQG_SZ+if&`F+h}%s`+}L-z0NS1lVfc6%Ta-!IrVN609io0(!LB^23q0J zy9PRy7P*<3DhdO}P$TkJ@d*B$8BFntd)FV(!ok6Mcs2oXV{N|vrC2N8X3R(LxJNK` z@PNAQr98l3KBqhPJT8XqT2Yx5cRGgWL>HIB+3D6kK=w{c`v4oI>MT%3HhOH#kxX#8 zv!jEA(z?!|-6(s0$!3z)`~_r=K}FMc%#KI~%9B$Z1*_G=HSCxe*}Zw~Mmq^!(VO0< ze+3>s@Vhxlt^UjV)Bpyq|_0{3*Pi^(WHXHZPOkR8!p07!rXHXU7n79KkKFs|3!PQhFQv-j{cp9kYB2CBEzSP?*%_EB zjeKv>k56&7w^2o0kEh389}Og>FP2ghH5=GMT>?Pd&Sc3q16dmCpz;bzi>a2B2m^N7 z@`zUkyE~&ms}QxP|D?IL6c-m07r*OqyvbXBAMH8%ro`&Tgt#QB{HyJfoXy(uZF2?kVY7%LKe7CUI6`xErmd1v4sI^!K(z-p{hq#PVDD*9oE<-ua{Vqo{FDjyh_=tM*t0{|%bKH-S+iN|{$ zF3hV9%8l~!!Pv)nb#Bgc!zx=vGLBC?uU$6376qV7y&4sy&uaG?Ln;(g^i+yYN)lx4 zD=sgGs|F{TNEPLRe~m`DpY+gk4#9OdI_ms3dpc*6lg^P(sW$jw3JlebZUawy`-2n_ zCV5MHC~lTlgc6Y~^(sBG+CMVnAJ6W`rg;6>s{9y0Ke!FRj16Uh7J1!$PnH<+A|0f3-$C^)$Td?{s)n)QP<6q0!Aj7VMiOF^H(E3F49+th^d@|-0t}6{ zN$=U7E=#yz1v5TOh$~58#>2z&Lb0RG5z}2L4wPvNeHbVt^tY`;XK|h4DRDfrk%{Nn zuYEN&Fi|ygbe>>lF6HKlN|I%K4}<9vL)=PB0&Lu;Vv0{Qr(GNzU~+gXFLey1YW0;n3?I0LKxGMOi8w4Vq$vs-?~AB zu$q${8jT_(TKn!@12Yns5gi;D-`)yM6y}D0Lk&kp{Vb81`gwP^eq+E-x!oA3m2ZEh z;on!kT$3aC*O~DBdbi_;^+mU_Ferdyy2i1k_7=EdHUiioPAeO_C069>D#N;p{DC2N zSze@b`uf5`yx}hE3LO6ojEl0e0(p5N0{ouUwK*UF=1>THeAdLq7X9Ld0t21LuhF`N zaXwF8T6FY)KyNY(W+m;pA8E@MFwtM>{0ugjxt=Y^aQRP1N5f3jpcw3v1B2;ej#l*| z3m#rNh^ne)I!a1;nQM*q8{Z(C<$BTlS|A}gzry^JESkn|^{%=)L&WXWGpOYtUw3eK z*Ms`$-yc3c)qt2pMfv(mxjLU2Z4GbS)l>SEs^4{clYo!UUZ^Rt_8na$HPyPN7LAon zM)jkW9b6HWo3RQ?+k`}S8Ep@O3qoblz>(XVhY)yR?(>{z7q1MBht%!B;Dds~Yw@1?TWctiJ{E{b+1L6H}39Rv|+~)bPh2wSBFPMJzeNp zZ^X^aE(SkGD!82$x}ElA)Yq$vwbquF`a!$)tdEXL%4b+yoREph#m1(%&eKCfCmH!8 zT&VO8orolkfyTbKh5G&O^y{rH;-R4p;G1P9_t5iKX{z%p!MtfnY>r8Yg6jAf;_K#K zii(8(ojX$_*~YA_$uTkG^4cgAp0`9{VQ6x)g}_Ng$G+CJ%hqkI3B==7-`pi1p1?)& zr4|t>Hwo;;M0jSs_w|e7_|^y)!5RuZfbVo@xR?1l{eX~zft8Gv<158wuy2N*UEa!y z_jS2gAL_Hm)WWrg-H~MkbmOhQxL*+jonB&wLdhMYFf6Y0)pAxi_A_dO>q$@F%ioPp zPy__t)YU6yWNRHCWA}8=IXQWL#9hq#$2>DLTL+32De2kwVj=W^TxbNN4Bw#}zbCc5 zu-gI78MJ(~Ov}Px`_Sa@5@%qb`|!{J1}^pWiZA&o-)T{kEj0?2d-o3%>>v()FW2>uw?-L5rN)FmjNOiNRxgffEiG4id$yU7+h%R_JT_VB{cm>XnD=obasDV|K_d_!y({Fzd#(m1_3+EHxXkiQ7!Oijk zwiiHmM&%Dhq=Y0?CyF){WH_s;)NwJo)m07?GmP+z^-Qw7E{_un|0syoQ<-kuSBl1f zbwLosCrnFSs)C_SNJtUPLm`>33Z#j$X=>IqJG?|hbg8KkmX$61m*F;aIkg234l*Sr zQz24)aHXJGmiw4`Uv)Md!Y+>gTw_t|VB_*=u6HuU@*q7YRCPR2Z0wcx&J&l%xweB8 z{MvI(&U*n(UIw(iin9(4h-BA69b2-3584<+XH7H2eY#N?H;Lj;ZDh6G!<_HlvD%rdiU>d9;$r9I zq@$tPjF$$^%*rZ{v$JAC;MeBndpI~{At8rbd?3xys6E~OX|Ml=BUF&-!_}$q`IWSs zFbeW2&fQdLx_AR9nv#WxntIJ2Q0PcoYIS6%rbfn2a0v)}ac7Q*c!G{G1+%%4sX*H3 zm&*`LI-dTXnA!S`rq4n9J5x2Ipg>)^YaO&YgyUGx**Hk@e_p71dgdi2_T*MgR}Hp~ z^I7d&0l)b0Km+dKRTx&&n$cDICB(eVc5Vu-4}VqrL{a|;mm6V0!5kD7v$MnyPq^J* z^d|xlir@NHU2}S?^NZ8ACO|C-uz$FQhdzqfwZ(3i3Gt8;5U7?~r=X$v$A9~#E-87@ zm(7by*|5IKb9U1IEtTxwMXQ$Kap%bam4brN&?Q3y$6c;Z2%L+TFO&BVHD#qIYiqNi zWB97}EU+mf%!0hnX4u%$rSp6?OG+|U(I``*VV;jq z$}KTFHzF=>QCoY(R7C0nWT-b#pumS$FUneyfT(I?uSHAeL2@;;&+&ex<9Fnl7Ax`0 z2)Fb*-*3~}jwf#1y0bDe7qs+F@(O=WV;{?N6Y`2p&$vZLiNLF3VVUlI$3%Rt4Jqku zRP>nj)L~J^YX28XFO}ZUsgGVgdsbLpPQZ|T0XxBZ!IL5Ijq{mzQTipU1UC?qfxeAnxy?gPL99(_1Bn*qC9a4OZb!D5^8fSdp`kb z$If2MyL&}OL2gqkNE&Xeqx#5#sUHNCT@84XZva=tV4)$ajcT@u@=tu4x z5n(w7mK(Rd8Fy-<7kD2aJbA*hOk76=h#&M_#1WBCF)^lca_2I~k;}79o90C2U$i90 zP7JrL%1E?_R3>29+R3gjb1^KvwFH`yl~t}dzq7;3<+Td%K6?}``U!S6D)Oq;><9Ae z2SEAmPBs3lSMo-8fz`?iOLZhb!;`GHi}97hAGqi2(a+WG?HI3H+xg<=26)EZek&#- zd_n>u8yi*3Yy~t)5~?kOkKInTd&$XZg_lt{XPVsZX=vzX&y067xojxJ20q!{-oB4t zih;ot7xR)OZ<9^ymYgK+^A+bk;8V_th9=A`?@TGR6yWywN*WgGgwl1>iy*gM-?5{W z2IT5wUwUJer>Zn4tLNTeOpKLq?I&Jyb}Wpk$tgM*WIc*DVkI^=f7sb-826I-rfHr*Ax1hl^ zje3RoTxMsN;DZYr{2ziLHTiz?!;*;(dP&I+V@)aj+L}uV2}^D5K;4I=?f$rTXDS7) z=C2>ekE3Uy69+rm%dIVP_*R}%QAr{S;%8(4&wsVsAMmGp_oAM301xZ^d(Gz7n}_^5 zaBeSeYQKDH;UvkgaO43mj-!ngvYaH0`|Kj)&_xA)g3!iWQTy*)I<67tK&;>7mv;o^jaJ7CW^~&pd#5k%5oZ($O(F6$l>~ zpz_uhY<-TnkIy+S4z*jBI3y$vq6m-L#0h{@2lWV`I3*=}``x2VFLiV(AhjYaMnpco zHy-&diIB)+u;&LrwbbnL`_)w8f7PpIdga_|Fm{;wKvx0i&diLP{7Y&^jm>Q!HUY+> zqw|1p1pWDg+Z%pPVB`-f!tm55V0~|40<=@z{y0#;`r}$3>`SMpec|PaT3da)zI^C| zp4VZ#Cfkv%IQZb<-cKjCc{-1;vH!;f04}kn7%&4E6lKxSQo;flxj4{MU74%^rbk+p z{`&cUPzDcAz_9}sFo${=+m~#B48hA&ced9!G4v4|gR`r*_D3$0jFeQ*10qbnpC33y z*mmV?iV+2a;Q9bgCx^Z+D5JcAP`1)(`u_bipfxrEhXcbfmxQI`=3;Gc{|S&5EuFRN zhm5mRobcCMjMvwtiisa+X=uPaQ&RlF^PZLMZ#9OU+dyrWrrWY4^|YHEgoVaAp+Uk^Kf-1_&(+9*Y!Cn z8~4POl|{IQbBc>kkGB?^pXaJAeQb5BBHf{o1EX&yBbS(ZN)zB z4P+1EVQXvu34H(|;Uo;Lwr+38WV#aoq52J215Sa10g4B{Xg7bLXMLNNd|VVeG95M9=(V!mUq?F|g)mjGMf>E|Kz+g+ z&>a^SZZki{BoL8MQ-{nqTK^isO0y#Ww}B9s1Q{454Qjp*kqFl!7qdS!#*sfg#=g8X zk&&HW1$3IzMMX!UgJ%ZnCV|^;MD}!HaIaJHuh2 zVPP_a3d>R7F5@Fd61O!j9+`xt8{*>*mah;?ata8vbei(Ei}w)`^+Uz>Sl2T?CMY6; zl8nq`l_Xb4=qn(fK=esW(2}rQQq3+soahLhfXy#+vJY5VI>18*P)fWve~L#~?sA)m zzm=(_Sb+~76u!xwTw$iQ2Tw5E>j4m=7AYlas`-oSnpk#dF%pMZl zJ3GN2+|nGDLH;l|qD@A=|2HJ*pj=-nH0M7Vwzlzub@;sr{1xy~?%q}P2ml`B&eRIu zoNShm(3jKQBdX2i4n}m83wDQQJAWvCjUML}?Y)$)uJ#n=zaT_J zXzHv&Lh!DsQBc7suT&fUHR-Va@}03UR<4nPU#8ss2c$h9e>*xHzP&iAf~xE8-92C+ z3#hbNoL?A2tGS=zrN+RZ`;Fi~jmkhjoBZq72Cb;c4}#uXT&EZQNs3fGIX`${Xy}5E zYN<*gK(@Z&Y}bw{sXg~Bh&;5oQf;8`8dxAw4;=AmJ4cSzK%GND(HTY&otT=lyu1hV zg%2*-mv|)=ui;|zq(3fodFo?5y$LERPZSrL8lTApS3B=jH{1^7sjtA$Lx$Ze$i|i} z_zOQ^umEFvs;fV(==1je&JOhuHuOmVCW2NCz_r4>%PR&)cll{wVJ2S2iS(jn@vZ@J4A%DhK38NLvNOmad5&&9{MlTMB81I_M}VI zfKGtApxKB{w7#zNFc$tS_8MpenOWS@l;X;HjzrzWWegrVrn=)ZXiQar&db(`{-DGW zy=QSPdTHxoxOF8iCT6rRljy!zikeNhH$p;IR#dIqbh!#qV31wT53Bv-L>>2b!jG-` zfKUM>X}zETm@`Fg~C&>+tb5g_WuCD%qH5>f`X03=ajT|n-}(~k5Z#o)zGLJyG~cox}6{}e$SLZ zM&5)F?cjifikkEF4ZxG#UFiOP53;hg0)p)|--z!{E|HPM@z1eR0+oq}r>?Aw1yan$ zESCsOAMF|BB_s@Xryu-Ghan8ao39c0?guR|fra{NU75Ux!4{Mi1sNHCPJT1@fUsYaZSfO!DA4XgL)5P0Rh-=K(>CWRMtnZwx+fpypa`?=-9UCIo7Y8n3_q zD*x!$JalEu1TF0qtdJ?v)A!(9(nh3hT~Se)+yNSlES4y z9@#mYg?SIr5uUw?TY{(j?OQ~7IeNrzQaL%fv!zx~n3=H;#JzknT#b%d8V`LmPHTvLW#uY<)y;iyVgQN-%JNzR#(R;OELv`BW#glARwHd z$DpBX!5l_FSk-dn;U`F6=_}0<5x-$LbqDE?&+>9&l*iz(2%EjtdWKIucB$k|Vy)Zd z%SswZsJy&;rbbczpGf+C&c)@X=Q6q6URyz{0MQsTr`ArQqOOjKH~P49{887(FN!e< zTHo^WvMTwygA$4FdzpeoKVjl&j@{Pqd_zO()tP|FC*i3D@gCl2Gu6Aeg^OG|zkM0o`_O&}kvu7q=hgft!+ zI`TUQ20#$$vJ;NYYU(_-+dEB-%^xbNu|=vX53y1kK<6Tz)%gHeCdhWQx6r$O&sz7; zUt*yhWV~FFs;zJ=|N6CmxhmafM!IajLZDa_1NMs0B7PSJU1|egZverxoyy#aYNh=9F?q*1gejxAI2|T+SAW6sN*O#As;V>@U;z=}mvZvqFjTD| zBXY`lhwwtHTj$RB`a8W*$_Nu`EX3*Zj%1mfz>%T`O)9!#6DGUWZ4i!&jKyOiN^ z1gc7*MIgx}f`mI4_WOncX$4M{*mX3Z6!&AJ68LdRNP8mG>|9*zz5a3xoh-t%p|bM* zU~+wm8pV?1?`lHAHh1@~18FN+QY7AT8`Js4quG3f^|V(N*kelTWv?6Dl_&SO_He@=xfP60?Qm-wLyq$jHZZ z^xyu+7Dq#qf>gh{sFzh~)^muGs;gD-3-|3RU?NuiKBaHS{kuTyBztH34u&MEp5giiqT6z?v_0 zQqIU?uB3KqWN7$OjyuJroFy*IY){7-N*7k*hr}l5mnTF)nTDjXpv^Swq=4Jsgha0U zU|2HBb;qdx+iRl&N{|zwV~?5|XHJZyzr`qK;^O(_3VP|Qvr}%H1!_=SfyCFsY)e6wYwQ=5wO^+OR(pg1tb?$f_#w>L2{Fag zB=AP)Xfv7y{!E?x-ZmYKnE&5ox;83m@ukZBCOr-`e_!i`+qm(U9>3K-f+q#oTj_k~ zvxQyr?HhC4H%XA3hazovNXW@;PxDrI{q=Y<$LxuRXOGhrPLeV^`yQBcuu~-937aGj zT?7Gcrl*(uPxdpVih~o=CLXzJ#4RCVE0Fk2;~k9Fhe5hfAxBH~3}m;TgJQg;rER<} zN2S$>;J*O!J2UMX8q#7in2N)}Khzt$2ADs;HO2nvlY{mCiaTh0S63U-vO<$HPr+#- ztuizcBu~jt*ly1c7|t1NXYO%w?%_}z-@`YMlPkl!zd`*a)Ba8noh=vt0+yw0AKweH z1weZyr*`?drX_GLNU%Y9wl`8h#Tg@?@BuXZ4Yo8TRnB;S*L9QN+E^!JYqVKaNjX zy42qN`(9o^Hz<$bO;sW>|NRbr!H~T=6(iO4i-Y9){mN}@%xU~fSEiV@?jB}Ml|%X{ z9g`S5QccJ^e>P&}pAh{+ux#R@WBL2vzH)YMtUl*;e{%$6GoZcz{Z1j`9SBn`X4XHf z$?o)3DEc)tJOUk>+iCTqa3e)Mj(f1I$6Hj&$}=T2fWOu0Ki`vfa6FNd6?$8Z7uI~e zaOv>jLn=gJkS0-3{6Ct$0xIjR`T7w7NlEDvQMv``E@_l5rAu16TN;#3X`}?CB$ZAP zP+D4$PU-l@`+k4cv+iBjb$$57Idf+A-m^znia7H0Z|Th3b!vWo5SSl?cCS9Muki57 zhOSq-_{A|Xy^Da1*=@k>F9jVPf!;9!c;xSq5U*EE4p7P=GA4bVjp(LOQFxuifUU;hB`-gT(Q85x5 z+YA6cH@6ATn^tkd>zJe@Kl4>BCv83gKyAOY)B=P8>>!9h8(f%gCb!@0&d)$%D$_DG z#{E9;kb(C&Gj=!}B9WY7x>@LB9v3BVB;@16HEOQ)kPf5PR(h?nmp^_!+~pMF=I*Mi zn*+pn<@qg6X-Fc0VS{EOgNDj5Z(ZP8xw*&Qtvu}x}6}U^Whg!-gE8W8L#IK~Neyl^%=GYw%fdGG>_eDj_?Do0-Y+$DY zr_0TCdP>IS{_N+Txw%x($SlIt8+@l?XBVZ!B-ewJo3@UxFYRc_(PQ^CGeEl!7bRU94cM|1(cOr2QBl*L(Jio!Kk$dv8465gZ&) zM^K5fbv`L8u~ySO2FI%KNNy33LTW^1Q?QoX5@d=>(fCV-)y1jsm_cZCWEFIMl@48K zgpA?_#>R67Eo2sUtrMe8p7GLS1;u~T6A};~lz)OL3<06(*oeo<&NaTG3t&<1e@mR+ zKKj=V_|-p!q&lj`WO3moI)*?d^!3rvWpk1Bw125&faw0^%bTiw0_%GNLH;z%pDdZ4 z8UX+SLoSUuv{{IVsb7G*sFh9n-k#C7Urp1UX0ro>mnFdaTg2+==ma%2jfdgffOADv zHQU3_zn>#RTFpoIbrG5~0q3NKjF~!{MPa}aD7HIcw?CCDb0FQCuL(c-)nt`Vm;n&( zmfG_fhy5jjJ%0=Y0;&zVeE$`KBhdYX;k>wwSXerseNqp-$*=++$X?>(_g`MQ6sDx3 zDefesS!bnKRs)&_nqx?9z)k@qcKNkQXh5~1XUD+BBOK=2-1HldUZ2=afb$Ci;q6_W zmevS^UR_!L0s068B&El@ZS~$~qX0BM`z`r^AIgUwAL_ed_A_;!T^Oj<);;u&PRMn(wJCdH#3!u|>A8iPM8FDuMs^U!@+)c|fVqobuyA3|eMMq^_P?0=SH zzm7*_(S7}CuO<=#jN&0u^u%KJ?0kRw?;K}gO|+X+JUG&vGM3u>MIJTYdgX8s%10 zEsMo{uQimEo|edRSeR+3Yu5R{6M9Vc{KfqG;{G!g`yMz^KMh49;@{%ur#w(Iocrg2 z6m}aeuR>7p0**S`93m`K8{-3H#FrQ3ZlK@;ccuS23FlT;6gD=-zA4c?daMnD=4%(#miPE^{h zvF~3XrqWwWBO4jnL#HmdCjcDF0u3I6gIP|FtP1jtkKdW}FD>cM&Cz3EyyAJxdvVr+ z^iD7uV-F3Ze{-GG`)|oJ2tV#AQO=!^>n^v(ihbFcpO|V+ofzdJ+pRaQYRI{NG*;9F zpb3EXIi917ZBD0q<5dbpz}183v7f|YrFR^Y_&AOy{9Sms1f=JRYv(kN?u)ek7~J|$ zwGX4$s=Xj?0)qY0RKMAd@?=n&5`Z#LBQ5VRz2seoT?;-R~VpT$T0Wr+UjmhrdvhnQo9p5aS zX{~Z~Cf$7L4>ELmx%v34^5eMjZ0)~wE4B^w;E&Z9YNjO(Uf(NF&u7W0u^DR}I=?X4 zv2Qhz-z?+b6>WZeD75CC#XZbFe8`_&Uez*85Y}IB&)O3^UvPu|Mv5y{5quC{MraM5 z?mv@_onBj^IND2jmvY+Qxsp=vrs%l;1R-W)qb1eZMu(p&MGMGO-`D$ZT-w}iZ81B* z%K!a{oa%RZLBXJgh77Q9JI{H9|J2r2czwO=)uAm3dQwv34>Vjd60H7NZ!SS*xt(7& z!WQ51T{hXO81VKQ9PukE#*l93s0EhKHm9C|19$za)RT+d@vU`E=FLy>@fgpak!kC0 zJY#sTQm@EDl$dl}bu*UCp6z<$drNTpwv*Emy)vI+V?tKE+F+fsm-C;v@}zNXoY;X` z%>gtdQuMZ5S~aZ+*S{N)A_gK1gb^R@F>LjK#_+QECiLEGQCvCO*I_~IZPkAK;ac|O zG?}UC7ABT{PF{yW>MkQ;|N0ot#nB5|{HGxyiR4dYstk$)px+Y&iWaqQ@8WQ?p|6y> zRLxt+c~qrQihYzcri_Db2eZ76>)r;m+A^W)xKT986UtdsB z-OO(*(ZtO)e|YVLVJ=;mFg{*UQ9-@*7#I1y>cZt&qN^)vboBNeoVg7jmlrc9} zWKCB}>XenGX8lEq937WJN12zT(h}W+j&?fbnL5_f>z3u|+T=1ziqUjfhRrP|y!Kg5 zZtUqbXc!@H6T4~<;lf@-U0t^E353R~pKd{e-ul;|`m1ah>gwM^@a`RE3hf|`PP2PN zVq!(C3dJ4DjMGz&#YLO+G=bx7g_Q&>T(q&Xd-uZMzxVU4BbWbGes*4qhj2Lh1M|)3 zkM6wfTVa0zevSi9j+{?b=0WPzQe91`Cq+fZ$S7U&2Mtw~Ay~2S^=pS$54W@VogWGN z^bazG%qgZlKK{G;U~cY^ljQYo5ly&M%$rlUmGs{?*BASX9ql5C8u;N`YbSrQ{Yad1 zVju#6CxV5U>6W0cw~nKut)e24&kw$MIVPqO-Rczz9%o_#qsa%dxc(CN*M>jlhWcGz zoq#?iOXSYG4bPshjh})n)}Kl0vM?gVRO5!*CDMnu&@c~WrK>o?-(_T^L`FUp6T^5C zyc_FjH~($Ek;iRIG|&i2zDB->g&IxM zTc(p%Z|AW+-*!4IY9AINynQt&lZPiPT+k7g%)lU5t+0{oHQ$HxEYh1B&+!hD#BJ{h4(n_vJ z8yf3>H`)D?P$FY-lpX*;OoA3D>-B9*@5^Y9wBw^|Qm ze^Lgzn)o8ER54ly3t;Iu3lVuD$7Eow96Ut^?fnv z#`)KAP0TIF0ry_4jWEhD{hE+;#uZ{GM_%$_}n?`40H>p$CcQkb6~;EQuF zQaVrdO?mlsN0{Kw{Jfn}&QPXKI!xOtR3ao=wXoaB&(6uE_1RyVZfIaFDS39(%B;=8 zBp~2S$9i#5a+xgbL1@W2q*ZbVPrt+%amqoCdkdZ#*=g)O_ zXNNCt)zIRr>q*J=T9cFeAP`h4M+Xt&d8GE-EJWA{K-i}$jlPW)dCkt6b12}Cf9(mY zs!Ek;QA7$bwI9}Od*rE|*7;Of`BhiMdO*O9SRV4G`%&@tj^*m~nW#M3?Wtxo3v=I8 z0gVuWTd8P)Gfv85Smrdd zB35PV@21YxDb7odKO!czpKo!cIvtpDZKJ~rtkgd0Pb?%Qy$B4PJvvI@WBT>wWz`>2 z?jMtRa;mBP&#%_U=5MZN#1$3yZe9@e0Y7eKM`eC*w7tCq67aFz&gbbGs&T-aBq!C; zb33=i#unt#DzNB+D5|{d)p@E7QM_D9*{kYLnE6R=B>X>r4#6Fx1xn;dNNBPe3Wc0| z$n}nulswXX1J^ErOGDSWwi4XrVzZh4ME3gB#Bq0HLVsYiAoK_F3w(SDb8|9^gy4dw z86dTopPr^9;HG6IJK%oy4C9Gil#_G1?-of@EgFK2Ndvl6|2HE*%zQO@eT=@k*ilL8 z?1y@`MycX01X^HRUqV!r$`ySU5z%Tk|8rrU#8j%Rpj#mlcd2TWlvtNu{op|j!obp3 zGx+uTfDW^?Q;cS75gvA6Q1;tC!pCIdd3aBs-lwJpH;CJUZo2)wZ;%kZrv1BZJw07! zC%YkvwDCLhejS|27aG=Wc^eqa^fr}#uzH011`P=bN#9CW%FOItn;%BF zluQn83D2wZ*F2)46PK4AMJj@e4g?MNMGxXqL=2Q9Byj(ELVnrz+$&R9qGM)m^yX*d zJ7rXy?|l92IgHnNqg&O!GFeryH9-sJST@#aN{ZSAa?mu6T-g)L{`b&%ajoaQs+<<_ zefE!KH_umx#ypR=9$eVh!J>lyfT?zOEjAUInH8@7CQG`Xw*4T>#6{Z;{BCbJ_xaFs ztZ?AxPv5Ns8WEA!58<^U`|1J$Z(3Wkdrdjav9dp`llb_cqfSKX)mt03*`XrdtHQET zWgx^~_v;Ai%I%55Q&Wvgct?;apaHYQy-B!gps~J|a}j07g5?F(-!tcyVurTJ$oO~f zZvEXZQZY3%<0QG8Jh=JJeqJ{!>aMIzV=P@h&lC7@ee1}PI zK=|3&P`&*Gz_ymAqjYM*!j9mRGDjuS!U>)2k4*!I2ltop*4GnRS%Z&Vjcu3%#7=jQ zrE&db9-tvH5C%)-!lk04Z-ru)w6{NSa%p(IZUfTJ(Eb8lD{`|S}u`S85vm83s zAT%#SJGxh~*|V_y*LJTud%88pfBqfJVik6?^Lui3vU~dF3;X6cBTUP9oX>_T_3YW` z$VgT8Z4As(7FM4JwBx$E8(j69In_pz>f+*E@93LS1>^7Iy0#lh)AI9AO{e*ATC}%^ z(miu_b9zRg>l<5kY`R-IO4as9&GUQ4pLmihb3Yfaptbvz|U249r$s3?l?R|tO`7>aRm zY#SV{3NXxvV#|?{c%$*i_mBc6{Md7D)zIYC(YqieE0K~aGph)(m~RbENXQ)=yiz zr_Fz_E>4J9b$<-sf-Dxk{~^7-h4gMvQALIAw+w>2cV%Q_CY?3$(M%^D+*KM|S||}; zeiwYm$jCrLUS)Bm!?!wE>8q};R7?NgLb`I;VAqhuMGsU@S6f>jz_< z&hBmjetu3Z4kA2a;aiOPf!EdYk@WaTe`> z#Ka_T*jQsXRee~b{E)joH#K?UG9{%fIGBQ%nBWobh0Vd~eiP(~+uKE;@9L=mCK%$e z*+A&4y_N7H=WLikcCVGX?p12NW&C`p7ND6WTk$2ZFQsuPt7kqRhSvT~uo`P9E@VaK za`!DKK}S=0X_5!NC|64;IE1ABVtgSvIT*}u`J&0`t6rs!e0GlYN`4-U1#fE!n>=@G z3+r2!%i>FYRSk{j9v%-AZqvEr`CRQkFJh9F%6HbqU05*{G6|i|65i+FMQ_g&lSXQH zi6W=xG>aJBp6Nh$3l;OFq@air5>CzT?3?lOHT!)c=(d1NAwo);t@*Ll(pLEQ*3|Ee zA-25(GjyUzUan`0@3Ch48ePnBs0cY)6xUS6aaZ6G9~^Y=?fLODqa$+(y{EmkD5Gzn zWcRDz#&&zDh6Wc+>+oWCP-Q7Um)6!Kj~X|wf2xMJc>t;!t&cIAB!SuY(g*|>x9F#e zKxCDU;aHsp)hCQrd}miF-;!7lP0hNl&o`-xPy)n4vDT9L3kg6Ft*-v#hEwaKq0dRo zuL6fqd9bq4nZo(dfJ4Ez_o;L_oS950Hy0_ASmm>?aO9N%m~&`q-qrt{Ve|#uc2qL> z#Iul7FPP+ftzU!4p>%zb07lo&wm3I-!JShT47tlK-C(Po){6F1vLq1w~vTW2Med&Ii;(7FggK$BJj0Q zmXmAnI4o>!y{O$m33PF52C8OQ=Q7n;m+Gd;8C;oqnTWVs1OHHAn#E1?WbEOkPy9 zPGX8>alOy3M`vyfYTwpWT43O0O%0Bsy$1=4p-|Tk_3eeP>2&ym&WOc_4OMicw|RJY zn%s6_%)6$R77XObGfzG_IB5T;pG^H^F&ggpEneM)U3p`J?UGPpC9bH;ldIkr}=B5H| zyu5+}0Y1K>qGD%P*Kh{^7|f)xwr=#j^4$15>ml9I{X<uZ~`zH z2?z+lYH^rh$A@OK)uHs5n7f>uoERbP!^6}hB-(m<3hBlmYXO%QDcY*sT=47m7)s-T zU$3U7_G8S)+nd*J_6-eMfEXG!wuY+e-pR@CpFcqH!q76jzbP9V)^KqpB}|f%9hu-O z+_>64g76vQ0}mKKKfjIF7f0&^wi^M|?9saU#vP&9U_B?AMy zDXzTuC!oLKaND5+>F3!YeQa~Bnu?v>)W%P|Pv%xm;jDr3n&TFflqhOyx5iz>o3<$_ zDc9+*!I{#EIXp4(o-Gw;8T6php`e5`Hw*3E;2h0Sayt4NRasKlNqC;qvpse7-g}>! z_;U)91AtW=bcxVRD;)+rCvc=_M>;ydmlNDFhh}Flfh|NwN5>>$0k<*OtWIuj_Moe- zw=?ke_6C0-Fxmlg7fHz=5Td!eyUWXCAZSEIsUy1@8youv2FB8A>*`v;Zp?{mjCU^u zsil~gmseR?nFQ+*4b4liF$4=QQ?AeOQ&dDxM`sFV3SfL=Wo6}l=@&Ed@71G8x_1v8&Zd6;m8=1KK4|~!VKZ!Iprb?ngX-P) z_MzYP*&3j~^78U%!8bp1mfK%IV+q`p5ZI(uR&odlQN;HAo0F|l1viU=ifY*E?J8c#5*FUx-oAJ59{ls{?51>(3=b~{Km)iO zYHAfxf3W0w|B;lKkWeb!?&vwrrMnd-F&oSpEwaM%$7G9JhswtO1^6H)0VI|%F2m{J zVaBW({4FJih^Q{D6yway+}Fs(A9=gZBIWdm8U0GgSli3%qZ~M69sTzjwXStOJ5Uz zSP1{@Z0ex1-H2ih6Ey}x#FzH=Txc{IFV`c)_zkXqKW;;gi$GAY;QydM%2m#~oR@j2 z0CK_xK7^RqLR)k}cee~49^klCu|)<*ZiXXr+KoRzcE6&KJbJQQZ)7(BWtSWsM#!@l zFK~P*T=#CC;GhQO%!xh*r!OgK>03b1kbTE)fS6WQJ!xJrtaQ$!?-x9cCDlO{$(gN9E*(d@X~4Xr!hG6n04iq;@sqQeJab}S)=w63ne zqerVSFQSEV8=Uzd)Q(slm1vX}-1%gr=t@aSdO146Jj=l{ ztx57}+hLCVK2t8+hdJ4@ST^i`YH9J%g6D8vf2lq*Gv-?CjgNsD4;mVzt93#`-rg)0 z!y=BGnpr`&3AQ3|(a0BWNlWPK3$e4aGcjSr_B?s~SPoVwn2qjV#SQM%&-;RBRjQB& z*Od)LbTa#k)s+?1OpPoUjiEo-LjLL~mx+mqO4N6@tIO@C506`jhD)kV>?^`g^)O4>=c3+z z9u6!amyI8Z%v!L~htqf>v$N+XCWsL*PFaBt-+s1XWOh~&J5$K-x*2R>%WI>_pJWMn zJd==+fTeVHxYpIx1y@heR2T3^c=>qemqPmg-V!uYeZ9FEpLGskAavT9#Sm=z0!=G( zt=p`0k4N*fXXDMwG`oj$+%dk5oQf@YhGdCf%WgkdoT)dz9VEFqZa^2``@nu^ zocCo{L}h$E_qqF3qyBT}UC0LAy{T~?#W(}R{`u^KQMO3b-~8+;anV?kaYIzpL$TfL zuVpt!gXwM?z40?0J2C4ZZ(?TLZg5U1!Ongy)e#oSMPn=ly;9DinU4&TPh|p`b4)Z~h#i8^yRMf)821Rh>pgIi}?|9j4 zOrlt_djWIANxn(sjU4R=Jhn8n5bB4UC5qf0>z@#1AOzEh82-0aS^xh=g|iwS^Yicb z%DH)6I74j$khGkz9>7Lz)*7dq6Ti>Tms4ry{=9$xzI}=xIqZ4#8|?wxIy5F|uqss1 zGO>ug8oYb%@#E$#SIQj$=aF$LEp6?tx*b%AQ=a?AR|^aD%F5ldtC$!8N2_-_NHzT4 z@98c%0B%r{e#=z7+G{5%iCA4lV*QaoNWI~Y*L!%Mfq z_#By>ve`#(eTzcCECRp2OZvN|?Y8Gh#dK%z3B~B-jhL2JGBazrg+=V`YTNX#wP6>P zY$s_$U9@~ZUsbx|M)r^EcyVeml^kvLCzrjwQ6(jX0kNTCG$0OmW&2lHc*w`w*x7ji zRpfjPrdDp-I)V}bp#GGHsl}$xU|CtIy_lEHAVNl3eCT`Q zGXhEX&JM9`aq!IKpVAL~;-xf*g^n;X`l6Stuc_$a?$~j4A#G20j>i)Ag(x#>9ym z|9D@_a0^lV!D_LFMzr!}K;7HX6lN{MfA7f@aUK=F5C^ILa8)f&WzCPN)+v7j!1t-3&&;H|pA#TC$Vm8wfIqBKyCx3zg)_GsBR&FQVKMvR zdEd?Dq22xxV@47R(ix*qk)N5~iGYAWZf@=%>lz)S)vuBGu$~Eys-b(}%UwVT={B23 z`QkNUQcL_hg2VkPA=j-Pz<G0v4Xw1kM-P(Hl<;#!$ z{zv!ki`d$tlsw~vfbWZOSY^!Xh*3Dm$H`d*2|I+{_$OWZ-z^{4atY7;Z$rW%$!u+1 zJ&=U`$+#kY=E&dwM{h3{fVu&(RMOt(>YIN^gdB6XewLEU8ZO6TgU5%OMj~7m`RVuU zF)v~99ORJT8Wa@zJk`tETH;$YC(Z(7tODjy1_}yfR4=CdWEluSEOuE}r%1bhA%|Re zADFJvQo;P^bacTWqe>YSBmlq7OdbVpMn+;Ld|W%!oO)3qj{`8~ZZA@y4-O$MCECMX z?zY9jHn6oR9kvpu84Q!6ote4g;R_*~CK)s(xvVLRP^r|^{4l6$H(gbX_T5nO zxtd;BaDaUHa+(K+lk@8}d66mu5s}3s#kkK7M%bT_shFJCvTEwG+C#{kB-)vQ&4TTC z`|bnecE*?IT4?M6GI{Ooni?8Blp@|?W7U;l>*z>Meg!-Uwa6@p9OEO2CsI?b2np3+ z{UXaN^?G@JWC8>gq(QL9muvEIsa_6e-Mr<~(83wp9RBqyN{&ui)`Clmqavh4I*O8+ zilBpAS4xW*s7I&5QyvYiCl}`;&=xe%-Q8AMdGP&yQ+vCKkx{9|(CC(IBm>)Zo$1qs z$twJb3R|+lP4++<7+lxj*S7FWFeY_##F8++S9<-070}wbBgMe+Izil6DdK40z4gU# z;t`r@G5ku$^O~{l=;XD*k($cyt2KOE&^gixbfssXfx#)fA7>}|PoETGDVt`drynvi z3z+r0Qz-wO)c*NJELAYlRGbeJgc2=RpMh|;n?I%sO^yi;{vL5}j9p*O+3gAW-xF;e zoxGq9$h@j-CV2lYKkKz!Sxv%2%O~XyeKD3MMzrWRl}5Jf?$wXx2K zy*i6SZJm)RS^SkQsO>8e>*&}h+2(F`J7XR)Su|~Y!~T%0RPcPe@xf5K$G2~M$^%FN zM@rO0=!gbK0dbngW#vVDd?eeGj(K%;iDT6csN&)x6m~G2`V0<`$cPwWpT?e^9(jFz z@HRE+d+Yp;{$_EDVrlb&L%4;+{L=qB_W_+U6_qm?`3wQRQwkfo7D$Btz~a%=+&XtL z{Fk4>>6?(y{SSbPa%N^~g*QArc?yAD3xW9hmHF@xhg#TLRE~A&>f+yV0))=}e|1w7 zJ_%NY;tu;tP!Nl5esb#B=e)eIF|hRXISi6U3KGAKXeeoYfILbM8VO+D=04Gja5?>o zdrKBA^4&6_u&^0E=`*hpV25tv>I%%=`mZMYZ&^w?IHh1|Ma?afGIk)r7nPCWuAb1; za>enEuWukykdFjf6FR3nbVaXOg_JxzmaEOyz+=a5mL$RXt`=t$Ow2@D2R0Q}Dj0sf zO(28{GVK$$vXYXkTy(R?^D1wT;;bxVV1zmF^&H0;#A($Uj`@KOdK50@3ve8}SwPqx zt|$Y(x3_A%{~oHbabQ3IGX-VP1KKRxNsjcfB?r9z{%7z3vm04?Gl=0D#OhTvCrsiQo!`8}5pjxV8VeV2BtR+Uq_{qs3 zp&~F5z;$+R6X3%-esXnQ3j-jSMMRofTYXj)|Hj2>U=nX&J&2X|_5B>FP~3WbT3l>I zbXiFDkk_vHa>wBBO5bwmNW0vhjdn~7C#y^+boBd_lwB6X5jlW)D*I})7mIv!7YZw- z5TgnD+G)BJaJx=6W)@tGvUwEV!3{kCSKOM)h;Pc?M)z6EmXvL5>N7G(H1fVIs=K@< zl-=Cn$_HcQqsWL7Z*OA_b<6T^SGTbduK3kM33dN`GAkxL@R;b|!g}C) z{de;KJWl-M$6@<*cFz9!GZ+|%fr8S9O>RCjLw{k<$wdNEYE8X3$czC|IZ<|plCwgMJF#1Q?ffMo3Uz@z9 zi>{RwN=cvaqvNc$mjU*kp8J-dpz^VCbiE65l?K-#Nqzk{V@p_JgM-7%-A}=f{ASA^ zkiEQIuANyAu!1%*D}bTLkrsohl6h*Pg1%x-&TSRic)TW|p4yWec-`|4(5g*(+5rxq zv`_f6ejjT%uAORd@CU3){pVwFzH%fAqXoNgXw!kEKGH3?HKCx7yD&ZW2AiDr-P^jD z^T%9+u#MK&8R1j@LKO3oM00WT0xd{Rxm5z>j?)4Hd{H?FX%11o}z_HIB+_BbyB%+4ao0`sd?mXcC z9Bh>r(o;M+I0+E3gIfX$*k z@M+`~k3Vtqvk_J)2lp5UuVyB%Z98bD zGKh%U6@j;mkKcqDK6Q4{cX3__(w)>n1;X}%N>^JOnD#FM=u@{fA{Uk=4{M0TY2pl9 zn9Q_MF)^5O^SJHjzwPckg0tXyzsLCbbC<$XPIFU20K!N5<)6@eaiQbI_T)28u(a8H zgex~Xn!B}bM*?CGE6ZMDLiK-KL&)WOIaN$uH`gV8IxJ)^3OF^-F6_g~^-Q9o)XU0c zjgIIA;}fr5XiJ0RvZ0|4L?>5QD~a|}Sesa-BtBSz;bWje0XpLjitt@*gD!#nNikd7 z(jZ9=)S#HylZ2#I4OS$Cs;VkDhG&ZyU?aZI&XN+mBc;A6X*iw9e`oI@EPetxo}1C8xxcZnmFH6@pxRk#XE?adN*e| z5;W5k76WT&Eq}uP(bB^sJVz!*!Z#G^k<`@C)KpZ2Xt2iVSpf*Z-$Y>i*^Dg;)lf|5 zHKG$w!u=+pu#{iHR{#3L;(`hwQ*}iaN05YE@%?t@udOY=dv|TbQr-KKC~N$`gCX0@ zRI0Qz9W-BYZ=b!9$xCA6!NPh?X?pL?*LP{UHAa#@-abTaZ5>E0l}0F&JlxovK_H$z z)6e9*8Qc0lEdZI+bHGzTN0sf0>g#&_$ zDmj^r=jgA&H`;W%pA3s@$@o;Qq4&1ARW*J_b>*6wbxnSss07qU-^9cVzPpUYe!e(v zkxAZ3SG)K9WXnuRO^uOU3Cs)7t^c;w8GZptPh7&v2KKKx@0+>B zC470hw*&;j9$Jy_RT+T#g0)XA%tVL#2Kc%lb}3=3x9>1{?OUsjL;CiY2egyVl80o% z`}=nxUUB@YY1gl*=|)0`co!!nQa)VArpZI?PJKYzj>C$NOC_zHBFbd#qofpB?}im3 zu~@^`h5^bzUfy#!tzj16az|L(M}x!4s?=wi;|*SJ6nEV^zbwRs_56PG#sUT9-k$8D zdGXVX?&x>=Eds`S@lF*Lk1j7K|NK!*>hFFHMV7;BteuT^`bVAzmhwYTA20Xpl9E$H zbOrwQXum376)b0B%EoBlzI757Vr%+5^zs9dc!+tzODlHul9DvY{Uqh(r4$w4gY@fP z^-E$@Bljj8y{`5vu#q2g^B=EXdVo(o=B-;F+OF#S$CfUg-n==Y)O0-F%3EDkhW0Y+ zS`0|Wfp+953!EX5!Ka5p1(Y6mc*DGQ86C{OWz*6GVDy2Ypcg(ti@S0p4SpZ6hf=Z@ z(8sQ$um8QPtFy09+rWU0g~b-|k*DvpH7Z2zFaA8Qu2TgJiYhxl^76m=R8};eXt;3&d4~0GSSG$3UHZMUIP?VLqnP0zTLOA z{S_Xbg@G}=`%}@o7z1m6UKD^}rKIW>?TQ4Qg>*E{Ihr ztFQ0c`K4KAd1F!8!!YvwyWxv@UaL`UqS|38Q`1g3O!!z)klW?#r6pG2jE{MP6u=Sx ztEn6Wg)Pmw|IW<7K%G1+YweKeXc5Hw^70F)KCEja8X72svWm-C%wCnrvufw$-0%6l zTbTDY=aJ*VUW$pG?>T5z4_B?K#G4nzf6_vy!M_C|5qY|o1H)c6zhz#+lV@gb*_?PX zl#(-Up}5x*%LDfb1+i%(R(w3^#R)w~+rISlyj_pRK_idC-<{XGjhNKDw4>|o3vcn% z_}`j1cd!j4Lhofjh{thTWPneRW<|5Z$&URjwZh2&EfbR%W+|j_Z9aOb@1Cb+8hBow zwj?Dflai|aZzV$-!$LG<<>7ZP6q3o&{3_>F%h1q5$8uVjQ2|gE*uW(vtaSY@71tsb z;pBWGAn@t^dx@u3gOD&KvvR*pCf;337#w7Wj8@T)92WT$h*^)fKOG-Ewy+xr3dWZC zw>ZqqqTCq^rMN#g+}mf?5I>j8Qm|xcDeRh^9cxGULtf25q^jiCs zb%{ty+zF^7`7)TC2~tACZZ6ic>-meNRgG%ZmH_W!Wu@Yf{ihTnOvNIY7jL)=*RG~k zT~P3;widJ1MO@|<+*nWNtD1VzdMC5fX!3Mq6eCCUESNNM#ZpGgcZyCHt(aBz@>N+x z#|L159zE=u;R*lz?mo2dagTi;QA5L2fGpc2Jvb<*rNyEv0y8mD>FLuftQ-`5fS!k; zh*Kv3cZKHI*u?VkuM3+oY7GCLdis-Lvs^idR`e>5sQF$F%$kSYDvie9ozqB9E8%R> z(e#(d0gZA|fj@*gb-M1@WF$mFvR|0p@3;|Y$bJ3n?Zn%MYntU4u`$OBiCBrasE}Tf zkxd^S4pe{o!2dpr0FCav5<^Kz)9lM7O3p(^0q504|EfBu{6Ou}>h_W6M2e=S{-mKX zR72fcMR7%j6-*@QAfA=$dC=jTO>uQRFA9B*vIOW3q|F2bg(z|vz-UdJj6m>!Z%O&N zD)%x|?O%O&uHIyqN$Q+#298%qaGJ0M?-$5FwZg&(0i$L}u(+&MH4;BNn!wv$gWxVJ zRo3;gp)rurR4l(hnuVnX6xp{BnVF~U?KkaAAk_W8f*b>@^d(shoicz!SM-k6wLE-| zwExQKJ2=x-O3l81{`}FYqAknK<-GsZxgD8plold*g~32Xte=MdrIMcB;)1xKo?ehq z(*_WBczBBznv{*O3Q_Ke{!8yPO3gV6zQ%V530N4>jV4f@XB6> z_{6``%E}q(9p-<;b8xvxVN*85h|CIg$5P)OsFakU2G$x>+_RPUo#4y@MfAS_erSYN z3N6Be-`M*47+btfhNeC-9vR)^wkT1MKM>0z+A*478+iNn{1!MP>hnLKp?L@j-hm{K zEyCDsGe-Ex%9<0*ch{Ya^p-1i^S*BV6uSgS38tnB{)yS;ZC<^vsxr{^ zth|4Ui#GE|G9E$!_~zV??;RX^cqhQ&c3mB+HVbIq2e!9`;iN4}ZhVXD;VLPt~{?fcm|?2ZxX1QqOcilKX08pcz6jA^J1NF9tPr^`9dn9i22Tnq!lbY!6Yki*YORVqKK9w5mQ4ywIKgGSxzX z7A&o;vmP2;Hr;%N5$OMpK8J08K%7|9NSW^Kd`oHnH@2ZZ#=j>jFqB>ru&OT$ZIu`l zc1Vhc(!(!71V+hh1o|ob1JfxkNnVu-sQRaCiRW9(qhjaV<8`~BBL5l$rdESMuSJtS z0F4_=A|O*(ZvIp)U#Lte`f3>`RdEX7A>Ly%XpGU*^I3%)GQ}pLckq&ykx|GBf0)k0 z=GB(!GqR5VlB;uf8RfLcM3K_OM4A#1Zgh426KnmP5tPx_{}U_f-d%%jBtU{CucGo) zMaAmsTxX%D5(DZA0IY~Kjm!)0-@o5!<-s4DmGumEcA--8#nYvgb$ ziKB!_O;weYxIXnt7sec$zz94rS(cQ%$d&etkKb`#RWuHA)-qoOw~pDpZx7!wHo0~^ zq+3D0^HI0i9m5&L1Z9v%9-!-g+O(YL{LoO|+d=yoNk~XW`8d)@kQZhHbqZ9 zmzSV<&@<=D6e2NIw@nrxCiJ>DCX9+6cU+uW6YL~(RaM1V1Bgje@51=fcX{TCJe;Yg z%=Xx9AQYOJ$<3xy*415BRQf3?IW}1+x3J#{okFd?22{lL(t7DWp9j#9M?1poKRiMM z>;)P@SoO^5*xA2j%`r2lGcl(tDuzB+iI$`D^6H_ZCkFXsLF45<@*tP|YnR2bu}BZ* zO&MF;&4mF%37S`V_N7;lXbxxH`=mpN7CZzcD8r*i4MvitaAu2r!O(tzBoPb95o=j) zULHOBM;16>pa_Bt)$Pe5F;3}Z?Lc)+O>ZI`5F9bJLex>rSlyUGMMTi9KDm=6Wdk zfR(Zt$hUc&C;|IcPyh}(>2PmT-sJEsSC>1E-o>3*;D(#BfBXYc#<00z9GawE1s%#gAQ{yrd4I(XRVq$tqjlAdY>(FQ!8JD4snpTTJ(C5>|Qx952WQ=wA& z9`md;U@vEXlRK^Egv$Hg^@N1oY_6@fKYP08p4)U$Fgsg4ISK9e5iHx7i0@P3D)Rl& zG2d7iidEI(j}Ow;{=8ZKA>yd184ieEj;8E=TscF-5k|(4WVX-4nS$Zc)m3*D6exv- zyYR>!g1n%pTo}k!rMkR$;1GEbFGuN$<-{6dTI*lJP?k4cx&Lrcb1NF$V{VgB-PcFm z5RQRo-q?Bc?+B=u#4got^VI}sDmT|8HT5EvQm>?pB{6QVe~Mp9VG{=^eK>Cl3W=cI z63SB|38kf@E3cmM@(~}R*{KjSpK7@AnwJdQdwEBIzfine# zJMwbwe}_e-H8h3{4BWX=1HZnXDB~1%>hvu(039qb$>}ig$F()r&f9R-!g_kDaPdWe zl@@Rl5s@`OX$UbY>$5jjc{6{?#NN_r_KSZe4^k!pO>_Zulby$%^lB=f*v7C1Shf{o!sZVl~_$-8qttdAbK9~LGjjq{Zd?H{d&*-QvUMW>cY1Ma8a zlyr|c`EdPtc~wlth(o!dR+|C@d`tNo%{EA0t!L_|^U0p))oec1XA1m6FOg)5( ziZNj9aeM}Y37V|ZwQ+m>fBdZd{5j<3&)V)z_e$cE*3+XUJ(*Gklfw6 zwFQ+PE$y|><*AS2pbSNfmEa~sl?ThuU%y_>lMQKazXSv;CPs#gY*wTE)$Uxd%|x|j z1gWs)VHz0amU(Xm7KfOO0o0q31CdL$h+EE=y^RgXTr&wAHQnWHl{n?~M=8nuv$qK_? zXqX7`6il+{(H{vDKN8%W)9?OiXBr)gl$6Kpxqt z-WUS#PMIYeGxK31`< zvhqZ9=7xp+X0C{Kq-X;LA(4Z4Og1vHc5HNZGQY(5yjzkLsXgrgxkr<*pzFTR|qv|{CnJdwHejlVd#JWLeOd+9}Ogzw2vO~xv~s16kJt8JJ-X4 zIK{#vUfGu%#Ssy^K3USvej6?r)05iJ4MP7&q3;#^iiSqz<^M>pqar!Lj@Whc-L5YQ zcC_f!)$?m>x_vISC9^}|YbK{i9aNdncEJaa_+ITbbi#tcvtv&T3UtLe>C*Q8kyTgs z*DTL1#k@JTHB(l$a&=wbUp@g{CII>$elj&MmF3pf&h)K&tEp*ZlfJwVXtj~s4ht#Z zELH(cki;!z<*!v$dcK;G<+Zh5+tZO#Q!fx=Y%hGjy_ZwhsT4aex7n%Xd|HCfEk6dnaQr=?ZnOwc3S{Os8oiluT?gE#?35)j-E za(t3I`X7BW6n6tF#Pvj3HTi!k`}_d0*9=5lI@$FWGf9Noltod91(o6n4%d_?`` z;F1Hu+qccYH#arz9W}yUJl82U-PJ=2kvKgAm5xx{d$4YE18`O-;RDe@DW^ZJk!3Le z2KZ!Y-B%I8EiGTGOx!H}a#i01-9EAjj7or%UnzrOa}iHN8y1S$V36YX60qO3N6cH(r7LXDt>FyF~>F#dnzKi$$?l;E$ai4L9gLCBY#NK=D z6?4ut3=oa@uV*Fh%>7;{t~UVd zTItCbfB(dt8GdlR3Up_T%zpM<#&x?lr%1yB*jvbO+EkZ5Up!btC&jMn6$SP&(8U7+ zRQw9~8%tlteg6`>x;AT5S6mz|&6igc!IJWcV>Uu1TtXq2~!zlxj3tm@u-@Tijc6)Dg8}O(g zkFTr}UFXuDloVj`F#HO75CbhM?dwm#VJ3=D^#`e7OL9XUZe)P}gV;mh+Lv1vud=%@ z`#{RNr9}-LXL56Ob#1FgUT#|9oSo6KSFh+{X_?b~GK%%p26m6nl4;U3f6`z4b3fKd zNKnWeLB}W1wVd(tdr5n}Y7(%!mrCH>CG-rmK%90ErqxoD}-WVPr^Uu|ymXx+h7?hN!EXzTQW2 zaGJ-$0ymJyY4g8ef!J@~@Nu%tj5AZy(neP(Jmlq{A_(z=@$tgrV^8R*^jcYdMyD!% z07oPs;3$qg45&P>p7<~S32RKDlmBuGIpa({k87bHE*q<>BvVu3fjU5-{yJQtUCpr4 zo7{!R4~6gD%`rlRoAu{cyDmzK;R)HwrURi0SHHZ4626@9X4Yx{m}VKN{Q~GD$eW&iv!w> z5o$9R*OEMc2M2leUPIC=C8eEX3MEt$2>}EILqqPY^i6<4WsXo|p#Ckh1jaEe$2z%9 zb%u42ylAeVX7aBR4U|lSjOX#Tw)nXKe>L>kQQ%-i4wX#phtAESWHW{{5Vb!x6TlU>@XMm-+65N|sX^|IT|~f(Ir&{w4B8 zeST2M{=4QuA^_`ucfBOP(MTvP8H7S(cs~@Xy9Qx1-}Jp4f?XF`8|Kap3s7N01{$lnFFJ0~kI1$h#0 zO}?We(azL_)8?p>zCO}VLuXLB{hRSROI~Ge;dz>3N~Nn_2sF%v*~)$5P1H21ehASi zF2!a_X36)g($dZ`-o@qaNiPZoROHj?+L6If51k+~av--VBs+b_EyBgVKo0=tkA)N( z&TAAw?$zl1oeYy+CfaYg=Xt2jvTW)Do z4Tj%)> zEUUo4Hops|3P%!2dj)eC^2z~$`G0z^_q!7wLCx>*;LA6`^VM~?xrKJJz=anyc2I@* zCTI&AxUg)OuwIz?Nc>ylE1+qz`cfej@d@k;w8m00X{Bgiqm@X9OE225P`rL(gz(AF zH-M}`I!%Gl@gVTavt4hw(@DJb5uuu@J~k#DX|hx_C#HMF!^&ZSb7 z_w{AjugJq%UIa3xv^Vwx3%TZYImNUd?Ra~ ze%BFtIIRz6i-{>de19OSqZ3!{p8n$rOsMg>jOzCyJo0vSjc11u!so<(qN$2MV3u)P z#shb_ad&uySvUR>wT`ST7IcBlDe%oZ*C6HOkru!pPZcTo%!*rAF*vo z{H@$pH9PyyILIDDet)I?-+r2eI4T5skRlp;ZN1$bgv)N+Woou=XzsCyfhkW+JbZm6 z81eFIh6xSr(c{OZ>Bak=Qc^;30wpr!k&%(iIyJEz@BTIf;l%v>`BNcTs4(A?-qA6M zglUnV-#j}fZ0#~SS+}gV77eG}?i{;#`T-l85HIhonfm&v1_Z5FfDPw!MH+BPfT60Y z7E|rvD)>zNg{&+vK>?og)s7b!piy)RU!#}aAK2i1?i(DOTOzu=I0a^o<#0iAD_E=W zhYMgxK@iVHpfK4`@rk&coYkS396Ni`Twbpc+bz+C@ISyOBLH*`3dJz+eYdB$8HgFF zd~S+-2K_238K8kqKu3S)xxDdz`O3gJZWq0W78Vut+QK3?iU2EzAD9@22M14{+WwQ$ zzu)C%4>c5s8v%qAOHG8@#1|O8rXc-+8Gt(A41)X%G4EDzaB#=(gYs+C_cpkZkxl*m z_x=2m;llH{t?A{zIS}H{t824h7?B!*KqSWHJ0LqD!sq9$y}THQhuJGEJ-d?@-`yUe3fGN;loT|O8VS4uNZa#d-USPD^M;#M{vOIYP{V?POZ1m?u+AW~-S#;; z91>pK@?shqUmh0AX=soIwfKv8F;3SPfX)#n0FVHp94^XgBq634z5~#E*ti8q5 zwuYv{f2g-9q@Q2tH=)KgG~D>gK}n{Gjv(CtM{7$9P=XGxj@E~AfH`VduN_O&uL52kd}q)*XzE`U|YuWjAk4 z9i8dn;WnpKs(L&CV#4GCbby5=N>NdTxswQ0Zd$L(acc+(Eb6o?{>`u6NsiUWq<;gg zr2SYlq&}T_n0VJ)-0$s?zvxeMPD-)`yK1qDgRGDF+{yC$+=5|r!ntGT*Jq$J^z2z! ziD|RmkL>KRTK94wVS$_~^r8krG4-QINC<#n^E_Z;XSYAv9J92v1bn?(zE;H7uU=;d z?-Ufmva{FD4zD}aAT3NsOPiUOS8F-J#q}He^cE|Jviys&O4ofAsrK1C&6S)T7uyTAWBS$Aq`3fnL?2J~BRc)!T2 zXpJDMz-5q>l=OdzwoMZg3By9Yp`@4lf{cuL$IbAS+Pu6i7=#jAO(0+c>x_nmhV1@* z;G?6Upv=^`0#OdYtCFdTC#R?IiEfRHXmt{B%*6Od#>V1?lL7)-|Ca(B(mc1iBN^|q zc@Mg?Q93&~TwhglZdCb*#P;mYShJ8024IQGZOe)~2fE6c>l2o+&!Wp#9XJX3D1Yh+{uYXx|boCcPbo^wqBi;G5F z7}%$8K`Jpgbn4)E1_zKU#Kc)M^##i}E-pysT5Yeby#rotY3UtYTm@)Tg8(uZ&yA$U zIOsHVCkqQdy*WB2Cu_2^-vMuYZ*OmGYz!(&Kmy#}-iEi@+S;e5r|JyDLqjS$SKhb# zBxkDRgpnN`9aU9T;a6(g!})wjvC;bOh>44%TDH{G)F7jv0872*Z71$6bQi0Z)#RO8 zO8CufUS3|{0Uj(YZ`>UBiHSk^OAR5SshLn&3BBgU_4V~#TzDwLfVp^Gf3z)-8_e&C zI9U|Jcu|4Boq&P5i^%=xGw$P}yrnwjR$5x+xN%i7p`q!RGc+|kB_xspHu5@`^N}h;R=XfA&&9K)^7zt0qaFcE9J?r8-%DY9^=O zG_iUDNa<3Po(EITGq17-x7&yHPD)E=s2=nlIYD>jfE+d9oeh2}PH!Yqs@{W?!OqTw zlf5BSWUIL*Z+gP2tB-5?pC9llX=#DliX0Ul9_pJK7h4#DO8XTZx3$NpqLA_FN#tcW z>3QJrwo*$ztsf7SHKBV7>!B^r160?dztRYSTi9sD4r?vRUT*ip+Pf1g7bdJjDC$oh zA)d#Ch2i>Asay0i#{^)JfG4rMv;+f4DT-I}6A>(~^aPr8lLs}|{`>O`*6_1uketX^ z=}9`@uHH%9A^$pJxpKE*VNdX5>7g5T61pgDl%uc#&x0O=!UGoFdNYEEhU+M>q}ke(B(qhvCG&xzqXYg0kd zK74Olgi;}>d9R0GYSg0br^;(IQxXJrc-GFi|G&Lda^8RKuKP~R+Gjh4?W*oB*m{qt z(EMKM=y=UGAQg{Ij*gN7!~wPkBevicbd`p5rR?IxZs6Ds=e}83S&8}jRgwyiNw9joQ8xQ*dFi2h+EOocHLe{UgDI_8tf_-j?3@RBxX z=l@6YpPmlof4=2I2Tjio@-7)8%J={l&4eU3m6ATf)0WQJO;hUqTy*$VMm>r z6q!|3WS7^|>Mr^4C!V86-AK8Cp zW->BtPBGV2><;qZY6v(p!G`QZ1Fmpxm1p(aj>uZF&_dm^v1e$0?;G_#h#MSpwFfoM z*(lRH&iW$F?qy`zV`2_xrHj`bjXUquI(O-@2%iZeusvz;Z(n*sLu}yII}9haw21R1 z_2{wmIsQ^-Na%K|3y{gcIhS<~d(?-1fH>+~_;3d|Z2xllvLYZT2#BnnKw;A?vsg1M z?it8#XWgmee}J=MaY?#pXkIuvoG+LdOIl)l$GXo6Q$%>ZT(TrRJ$xW*&B@*eYnp(l5E%(cly&}1UD@~2@lfw~N{m;TIb_`k-eU&v1Yf2=N^Ek5@ z0!iELj5IWhIR$lYRmW9fy+ZuV_#Gz~hb)zpq~Fi>TS7k?EG_4ACRpw-ZxIJCURJzC z1cu(iQtC}~#R_WfNvhtMZA>O-LB5YbNT&b&8z|_`RC|5Z)fo4j(&v3&FCw6b0T?H-VQ3QYC{#VyZ6Oq;SD5npY-8WZQp0bQ{-#dS5dX{j^ixD6~KH1on2HcZLa`5KmqY)h2M-d@uNg_V3y zz*qHa)MH`RJPHlN-P$OKxs&?F4e2BgX)S7HL$hdv4Ar>O=eMLn> zvB`|r@l@heHFHnwo`j=gLe3*d-m}b3yYINTSO05xAFWKk*Kdw8+lFRlgB$T-rqX^7 zF7*TBiBgH_Qf9ClT#59bwN0J>(zc}i08kl9^+&9sxy@3Y1$v}FheWqF1lm}J(fV%IVHrm z*30w1&eOa~uO4dD30zJ&+Y1PG7y4K(`^1U9cp&*astA0;F4 zM5bJE3_~1?zneA+ivV2C#>mdf3Kk|NDs@C+V~X+HR+G230|UG^{1_CkUq@{o*Uv1> ziGsYG9C7Es&>W&K8I3?@88?8wfxP&!oKGBuqS6TkE`gU~x3>myibFii!ji{?njQ`v{HtCAz` zmV}EUX2ZZcYqf9uY8@+BAP3lOY;I@g;=~oxzVMlBX=lB!Av{a<{zx8wWU_9p>waSN zGj=U<90bbm!(i0)Khf@#UM@fDblA*?SDmNhaANEbXNv0T=P~scqhr}Re#}p??e1cfxa&^5u_i_rD&~CX}jX--=j z^ILbG=QQrF=)i=oP(L}YPp-Ak3TO|}Ew^%0!cQka9LQ6@0O0No5H;3P4miv)W z&D!L55!+%<2=`BYFFZtDD=|U>ig5MxhDKy(+&22As>vxmcANe!Md_DWv4~X|LaE`y z)Hd{_tTmMK@~m|@JMbUTRY>M|IzA+dG@A*!-p~y4jq32pU)c`t(@rc4uBoBBNV87L=5PO#C8u)Rbx5r)cv0O<-DVV=~>+PVLme$ z^^cWvBEQ;cH@6xL=)wYuTCTMBUaQd)23(PX6OTr8%8Ms4<})7l>&aIK0v<{YzaK{Y zfGG?%=FlvuQSZe|Y{^a`(AhC8+|?t+PJsu>Z6z>0ov#JsiR=B_zsF85-F8E~DLXaQ z{`xAiIjCU4Cf0So?Q#w`j+NCy4gHqS1S@IR`4N%#>EmSiEQ?VV`>P8=Qyui?=;k?q zk1p<;e++>FeI6mE?RZJWfkV%ir-hA;I{BY*u%RJcaJhBw!v3wXvD*+2@bhdm{N~`m zzx_r0yO7K7`ti(luJXFQ9exZ`5|1kz`Zq45zUN>)3cLk9uRK&F+kQX@EXHcVl4x3* z*%`C*@6;FUXWYyCq`wncA3cS|6HkVeXQOBHK^)}A_W%9c{zOSx__lMh(D3=qpfa(4 zfpd*n2)Y(|z|BFYfd-M~rho+!rk8hcj~yMg5EU^K<)Bp~^hSp%UeNs@@DBSU>I*IS zszO1jitUvLQ8F{=%KsYMB%qTtF|tY7L?Jb@t2~NQ=ph%>AbYS`>$ss6%Y^Hb8Y9ia z$>9JY?Z#+f(bum`IPKnzzF#ClXd5id5jk3G zLCYG04*v;!dF}7iBPlDbDu)>97D#Kj%{A@y3Xfx88VyU2%fkas z^KV%LPxEmweS(y-4^B^gVPVZ1q$*`A$Y8!uSOGOTI=Y|*8UjO4me*t5&25G%u}Ty z$qAZ}l-I0v8}DQmmP(7zf)Hf;?FkLOd}%4UN$)hTds$IgS#xi%ecPv&v0^EOMAAE9 zMF>UuLogm|6V?ST?gP_a{OKZ=~UW<^^y=0-A+hYvfx5VDszO#ih1jg z5F+L&Gs)IuN4-lSE!$t~ZnEhb*M-?s8bmEwV6gvd&sq-VoujehXk^iZFx>9AR}D*u zPd0LLMG8W^&SwW(EiJPk$ne(qvz?>3p3&V96<1ehSc}~Wa*}C}A3qj=dHJp9eGzU$ zX|5`NGV{sRd2)ePCCUB!zuXQ7dF|Vp1W^#4q&;vZsi1$GV=}N=S94;?RJ2Hg2F#oZvr|O zgW0xqbsTC^=#o_sWkW-DD1$IXz5C`ZbTyPC2V-?)^=me9Z;_k_2MQM|hBm4k)m#JNidEy~zX4Z0c$WE*9 z*%rq0$=a)<_l+svA7z0%^O9Cz{+1Px!IOkM&%rnT_;GnwuOI-comofVAxrq$dIf^? zCso8rv{>r->B?DTWEH&5k244{SvfhW1qEpt8EIKrNhy?l?gAfdZ$P0p<_pH_*N>*X zy_eHpus9(fNYD>0uBgGz1D5%~&0a|fBVO31Qq*P))k+Lb%VWELvX>y1%EK{e0`_FA zxLxFp1L7Mw4Sp>_h)Qc~6MPMn6UQf_vC$moTYi+3tgd_u`51!bV=cw9Nklm4aWr=N z^XKrU#dbU=2y-=oZL@iV6O{JzClTYhqW09s_JzJ8+_<xvLQOffiaMdZ~bh_mjnrwYPj^Krtx7_2@!<- za#uQ7JsBAuFb3Ocd2$iSx|ahALn8$vhAcORMc2c2@?h<@%~#~U9jXWyHvHhKl9JSt zlEU2F!m29h0xm95*cKKh4VS>f%Ev>x9CfQ1G)6bLXS7cD+BI2OK{O;w)G{+7vsT-6 zTkA2{^k?QA33(kIb7Ny#6k%9`&wb8CR!D^GmvQ*SgIfP}^~j3^tv2inA<%GW@D&v3 zhamI-nJh((arM^&#^wCq)5Z+j13%v<`I`8kXYOQSuMY(in-c64Bt-z=i^-L6)pq|i zC{-cCjssb9hP)sz@hSq3@mwS;s(%8|&ZO4XxUg0mP-vq{VPZhuWq&0HurT$)hTu*l zCbqnYN;zRb_#xp3U!@MkTTPi&Ip$=47gN@m&Q)Cfp=_X}^t-}V-_-0b9wJK2XD+2w zrO?@W4wikk^1OLLMxIt2l6^id-T!(}k&%1>Vk893Jw5Wj|9qt6W_s}L6M}orhG%RQL$eLu~ilkq%Xszu|H(ezHzPm@%?)xT!G4vS>fo# zFM)%ixiA zN~km33^9hFY{*Cdr6ua59zxj3xfq!QlTh-E5EXbd_$ZJ_Q&A~ZRZel0uzwxZHD`m0 z#zuhe3om?p--=19*cDW43CsX1*v~J|WlJ;`WSKK^H8>yB25!OG7T6N<)bc06<7jOa zi;(Uy9_U|u_#Y=r-n@ZPIwSr*_qJ~Rw4#MQj_=IGsH&DhbDx`k)ynT-8>5PjTDXCk2wLc! z`xO-__C4*5VhwUdC1f=U>g!rou&AjoK++hJC*rXTt#UjMK;lkPs6G<{5A7+L4E!wl z(1pGEte3$7Lhl;LIXFA4CQU{5gO-hXae_iaux=J{lm8DeA_se^m3$%y5m<6I%(PL5 z+fzs5gINAZ zbPv>KQwBQnam@VxntlohDD|jI`SnYcb^zS{r9~QJ6MHa;RP8AFkE7ldXy-69TIS|j zRJxaI=Ws@J_zw<#_=FAQFL46{mY1054dIAj|LS6O3mBQ`XhyMA@h608s%6qNW~id8 z4t6dTltIlDoPUy=_f~8!o{QC_njqT{93K9yb;knL>__;vSj3-n3#kR!{`L-uh7um{ z$byC}Jw5){uUw-RN5KSX5LejnCUi3qe(da&D7Olxrx$m0#IK$L=j8bc*GqXE1$msH zMqY@HVP!x8L>rvk05Mz7+LC;EEj2oooI5wDb@!Gww3e1%ybrEpNsoTKy6Ss}RPj~P zu&X=oWI5p(Y-?~^5PunWN&CJLNB3&?EWk= z*z4>UswzVoZ^qoto%TUzo-Zj_x`mDw4N?+ZR$8N@h5F%>$Si}R)T|F+l2`G)@T?Vo z@?~&Dc6}p*oLmM~loZ>{DBW7zU)L!8<^?~9`%@mUBl&e%IcwEw9B-9Nz`p$O;dJL$ zIjtfi>VxhL68dN%VO@|bc&){tOn(TW_u5)wZtltAq7A9aEws3)ZIOxIq~c&x4#@{N z_wTL6#FBn8#<_i4lqDJi(R`Z*zd1_Mu*O?gLzlVMTX(##FZha!j1jmIXMd?5y@5q^ z_b#s8r(GLeQ$;f~y*UH|pZJBis4|*g3OFD$b@Nelox$Q4k&g*r zwZwsGx{B=|94u;U`+oNlxq$^OxCP_8(wYQyr8Er*W~*2#sonDMPhqtlz z;U!7}m&(#lvFfamw+4&d^ZcW^Ie%oN*jI>HyuDg`BnmC zl(0C4F+FP zQCvZHBt$a>4Sos5}k@fNZ+Jp4d5quCcP zGU7q^4wvEr0K{12;Ym?ZJkHzsfBq0xPrV0OU+ALv%l)`6KDyP>@z>>Z+JSuS^W^W; zsZ-kx3xyM9wG|$xi`&mew>~Fu-|sK76-yl*h!S`!!w^OyY^m|!+3YIl(`bfLt6a<&sthY&ehKjO`7C3s9M20IzX*wV(Sg>Z|{RTHwXO z3LP2B2!Sj&m`fuYaCT@SW(iQwf?5qgwHy-G+?y@4Gl(N zXIV8>RVKue`HVoEA%am|RG|zKGblDaIXMJ+R}nuZ#=o$|wHX(uZJeCC7L6VFAdK~> zqPjED(cEsKvcNX~{{2f_T+%=!FBLU9*Yhn(NN<2Y9VV>L@*Ad7xwZGZ4@V8d8{JS| z*lee?)@Ql4pKD#PrS#&t$#rQlaF8*+c+n_85z`(5ab_T`&@MxlagH>NwOJ%57j$vu zONd{D&}w*?i6b~;;Aww91BZ!-H+ZA^Ma+l>g7@Oc*i>o#)Db@*h%+dZp;rkJw+j|$ zjQH^wpXdyMEsBSXw6eAJ-sy`$;p)|u198ab&lfn@MmYVNlDmTp#1pZspqT4f;0@OV zF}&A)_r`N8;)V6~GT{q-Z}XhL#^;v4{`xFGicRPs?fG|rmxYzd1ruD%42kK#-$kUV zVX7v?8*OdLlz69v;W7$La>I+dX{3@xYXvlVuxX`fe9V6vX#|T8P3IGaK$oSeJh_L& zIedJ|V0lB^KIA{AnMXk;WgwpF?TzX-J~?suH3rwYy(I^VCtwUy+6Q-=SFm*4wjwU?`>4a#|yUSAbI3$`Xh{8A82aicEQ{Ty&pc}$Q9&CJ^r+$D zaz4DHWOcF>!&i@mR981X3>P{SIrnmdNVbQEsgMu{IM6@7ELwf@z8a`@o~W*eEflI( zXns69#am9*LuPdNwm~?I4l7D@j*i-z<-|`21KTURbSi%JT<%l%=`s)}h=1Q+b?Kv- z=uiD3J-CYU<;W>x%tAuVkmUyw(x()v%z9z={~(-*@ES01j&N{}e2>%-KKwqveGE5_w0r=U<@IiIh{Nt$GkddCAHZ_}j&*a?8(ML)8 zlhyPyg=cZCwtnI0fm`vI#n49gYEi4fz=j-gh+GysHy78~mO3*tebm};Qq9Ktcy*N* z|0s%IJ2V!-hI@N};mc#eRoxw^Ri}j&++t(E68n}d4<6t8-#;PqVKIQ8(*oblTuRl8Wd`g z|9+HW8``tR3R_i|ih`WyXko2p zrJYOT`An83SuhR%ENPUW8>_|S=g2;bHZx+&Yt(bfS4hS4^NlqvYXA?Pccbrg4t+GmR@&x;2{>t`=EslmRp1Y{Gi1=< zf9ptRBUR>rV%rmJwCIlXiz6aoVLlBCq?BCM^VSefunPTaglg@7ll%6&hhF)#zbze) zmZ_D=i0Le~tHiNv`_k#i7MBTuuE*-E7A0ff+Lj!wl7qvHfS~iUv%l&LRpsSD<=l6+ zly8TTA`s2sx+4xgzoZTCz~)NmZ|9?pBC1`1G!=ccX!d4dinYa;R4n@FRH;9rX%VE@ z^ieO~vORs7i5_nZzCT&$rz>NYC#ywSbYsnaKtArWmOS3Bz1VAa6{q%sKsiR2LfDnf zgoZ`~oWdF{@eKThd1P(!&R=i2G>I_D&j=BhE;1Qrh3Z=uSu$@$gj-i9rR2e;u!MIQ z^uypK$gS9nt`Z=@{uCl1C0wca3=hE)*+_)vlO;tx*B|_v!sKnW+$6GBt7RJA9G z$E;@%r9-h%)qHU6C0XdJ0`6-kENry+cLLH}s}7h+@@sn^;c5q>UZ&#pPx^^H#E#BN zl5)m(}GP$ok(dyseEl|x~bb&n}Y-pP39>gv4T6+rmE0T3xC^-!<@_9Eej1kI)?plEH-9SU4q3OKT8T!Ks=0;L*EI5NPO>z4 z6Xl%HTB}fbP{Mu5RfEY{^<@EyQ$PQHcXz8ri7^n|IC8?u={r0#qj8!Ze^NsLiX3lE zicMS#{F9$7q+Mu!Z_-%T9ccX;|JF)M;c}4O&YKpYn*E`SA1y^O5>*JsmI9e^G(3ctyJaA*k_d78`ei_L%p1R(AsT^_I2w#?_zH=Rs|s?lmvj zolh?x&v+*%CO)8~ypCn%fn62+d4AU-XrBDB-LSta_1w@dsF_uH9nOwZI_^XDLBkSq zG+;-v*b}-{OULzC)WLC($>5I5Me~!$;Uo)%+sz$_gAd_1$rx#)B(gc6jI!Mvk%WPo z2=%_P0$e#<;7zVNe7t#g)uyK?An?2XA`1180Qx>Zriwu5sf(WT3m#6ujA#V)u`c>( zD9>*k!h`!H#9pSpNfwG!D>}H*4Rz~0uGntX2x%)0jXuX*)oPiy@HlFny4P_+T3y_f zSV;XFQ(&v&OZwZNDju#w8&Nz#zPho}tG2Q<1zlp?_F8{SP5%M#geDc9$9^|=EiFFu z8QIzcVfnOvQ%`FG(QxRUf)lj=dk8uTA7m+z05C@9RsW}EeG4x1f8j^aQ`z;eK$BVN zh6C<+%Ai>q#9w$VMnx$Z%9~C>#nLt4NC&N^*spzO{yx+Vvwg@+YGG;`iuDhrYqaa9wTqj;I4}G+F8nBK8LM4y(_i6C=9QXoWwncTI z@+FDU%x5c8hf31o?|u80u3NPgq5m5R+@6Ov9cYLPOmYM8#eD@zl-do?GXD8#XR(i2 zIB|4~#K046o)g*em<>PQ5i&yaI2b@dw~@jEgzBxTtUB5n%RG*hMvYB`zSfdtV2ltb$Xm<)R38d<(vlAz zVNet2n3;`xpYuV2&4AUZ`q9&;CmAtH5avT?5>M+t28D|&E6kc@AmV=nKzhJrUjgH||M{i;5Z;9xi(~klEMQ zmmwQd2iP_7c|X<-SdkiK7Guz1g)&ZBF&hLo8z#y%3)O>~--~KuQy6zd22b&C8y1dI z>^scakdkeA>xlA)rFL?V-3w}lah=|Kgy9SDTKwC$(e9vt;(>EG5Oybh$1Jv{OK;ca zwCRPzIL5I@K_0{5^J{BUmzGRu+|m|$-x=B!yojRpyuLh!+mXTpK&W_z5-TY-swiB( zFBK^^1RcB&pmVnTiaYdb!9#5{D7345u(fH#l~7$yl%kzLVItsH&JCUKVH0N**0uR( zW*mhIlzS%P(4rP&ZYSAu1sIy7h6bK!T|Jedz+-aXOD_s>zy z(h`TMc<1+Fj=Jd#N*>N6PjNY>|?&SvM~d;H^=@w56Xw^)2xkp&d|{+H#{PQ z750M7!O%Dk0DKHLhF{Nks(pzk<8|I1g{-d7PkTaQ;$)#h2KSN-=^?ELQJ+wCmaQJ z-kG=a - + USB Host Shield 2.0: XBOXRECV.cpp Source File @@ -31,7 +31,7 @@ - + @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
23 //#define PRINTREPORT // Uncomment to print the report send by the Xbox 360 Controller
24 
- +
26 pUsb(p), // pointer to USB class instance - mandatory
27 bAddress(0), // device address - mandatory
28 bPollEnable(false) { // don't start polling before dongle is connected
@@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
37  pUsb->RegisterDeviceClass(this); //set devConfig[] entry
38 }
39 
-
40 uint8_t XBOXRECV::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
40 uint8_t XBOXRECV::Init(uint8_t parent, uint8_t port, bool lowspeed) {
41  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
42  uint8_t rcode;
43  UsbDevice *p = NULL;
@@ -146,7 +146,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
55 #ifdef DEBUG_USB_HOST
56  Notify(PSTR("\r\nAddress in use"), 0x80);
57 #endif
- +
59  }
60 
61  // Get pointer to pseudo device with address 0 assigned
@@ -156,14 +156,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
65 #ifdef DEBUG_USB_HOST
66  Notify(PSTR("\r\nAddress not found"), 0x80);
67 #endif
- +
69  }
70 
71  if (!p->epinfo) {
72 #ifdef DEBUG_USB_HOST
73  Notify(PSTR("\r\nepinfo is null"), 0x80);
74 #endif
- +
76  }
77 
78  // Save old pointer to EP_RECORD of address 0
@@ -175,7 +175,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
84  p->lowspeed = lowspeed;
85 
86  // Get device descriptor
-
87  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
+
87  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
88  // Restore p->epinfo
89  p->epinfo = oldep_ptr;
90 
@@ -198,7 +198,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
107  bAddress = addrPool.AllocAddress(parent, false, port);
108 
109  if (!bAddress)
- +
111 
112  // Extract Max Packet Size from device descriptor
113  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0;
@@ -226,7 +226,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
135  //get pointer to assigned address record
136  p = addrPool.GetUsbDevicePtr(bAddress);
137  if (!p)
- +
139 
140  p->lowspeed = lowspeed;
141 
@@ -332,7 +332,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
241 #ifdef DEBUG_USB_HOST
242  NotifyFailUnknownDevice(VID,PID);
243 #endif
- +
245 
246 Fail:
247 #ifdef DEBUG_USB_HOST
@@ -344,7 +344,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
253 }
254 
255 /* Performs a cleanup after failed Init() attempt */
-
256 uint8_t XBOXRECV::Release() {
+
256 uint8_t XBOXRECV::Release() {
257  XboxReceiverConnected = false;
258  for (uint8_t i = 0; i < 4; i++)
259  Xbox360Connected[i] = 0x00;
@@ -354,7 +354,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
263  return 0;
264 }
265 
-
266 uint8_t XBOXRECV::Poll() {
+
266 uint8_t XBOXRECV::Poll() {
267  if (!bPollEnable)
268  return 0;
269  if (!timer || ((millis() - timer) > 3000)) { // Run checkStatus every 3 seconds
@@ -471,7 +471,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
380 #endif
381 }
382 
-
383 uint8_t XBOXRECV::getButtonPress(Button b, uint8_t controller) {
+
383 uint8_t XBOXRECV::getButtonPress(Button b, uint8_t controller) {
384  if (b == L2) // These are analog buttons
385  return (uint8_t)(ButtonState[controller] >> 8);
386  else if (b == R2)
@@ -479,7 +479,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
388  return (bool)(ButtonState[controller] & ((uint32_t)pgm_read_word(&XBOXBUTTONS[(uint8_t)b]) << 16));
389 }
390 
-
391 bool XBOXRECV::getButtonClick(Button b, uint8_t controller) {
+
391 bool XBOXRECV::getButtonClick(Button b, uint8_t controller) {
392  if (b == L2) {
393  if (L2Clicked[controller]) {
394  L2Clicked[controller] = false;
@@ -499,11 +499,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
408  return click;
409 }
410 
-
411 int16_t XBOXRECV::getAnalogHat(AnalogHat a, uint8_t controller) {
+
411 int16_t XBOXRECV::getAnalogHat(AnalogHat a, uint8_t controller) {
412  return hatValue[controller][a];
413 }
414 
-
415 bool XBOXRECV::buttonChanged(uint8_t controller) {
+
415 bool XBOXRECV::buttonChanged(uint8_t controller) {
416  bool state = buttonStateChanged[controller];
417  buttonStateChanged[controller] = false;
418  return state;
@@ -528,7 +528,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
437  ControllerStatus[controller] & 0x4000 // 0
438  ControllerStatus[controller] & 0x8000 // 0
439  */
-
440 uint8_t XBOXRECV::getBatteryLevel(uint8_t controller) {
+
440 uint8_t XBOXRECV::getBatteryLevel(uint8_t controller) {
441  return ((controllerStatus[controller] & 0x00C0) >> 6);
442 }
443 
@@ -552,7 +552,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
461 #endif
462 }
463 
-
464 void XBOXRECV::setLedRaw(uint8_t value, uint8_t controller) {
+
464 void XBOXRECV::setLedRaw(uint8_t value, uint8_t controller) {
465  writeBuf[0] = 0x00;
466  writeBuf[1] = 0x00;
467  writeBuf[2] = 0x08;
@@ -561,16 +561,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
470  XboxCommand(controller, writeBuf, 4);
471 }
472 
-
473 void XBOXRECV::setLedOn(LED led, uint8_t controller) {
+
473 void XBOXRECV::setLedOn(LED led, uint8_t controller) {
474  if (led != ALL) // All LEDs can't be on a the same time
475  setLedRaw(pgm_read_byte(&XBOXLEDS[(uint8_t)led]) + 4, controller);
476 }
477 
-
478 void XBOXRECV::setLedBlink(LED led, uint8_t controller) {
+
478 void XBOXRECV::setLedBlink(LED led, uint8_t controller) {
479  setLedRaw(pgm_read_byte(&XBOXLEDS[(uint8_t)led]), controller);
480 }
481 
-
482 void XBOXRECV::setLedMode(LEDMode ledMode, uint8_t controller) { // This function is used to do some speciel LED stuff the controller supports
+
482 void XBOXRECV::setLedMode(LEDMode ledMode, uint8_t controller) { // This function is used to do some speciel LED stuff the controller supports
483  setLedRaw((uint8_t)ledMode, controller);
484 }
485 
@@ -600,7 +600,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
509  }
510 }
511 
-
512 void XBOXRECV::setRumbleOn(uint8_t lValue, uint8_t rValue, uint8_t controller) {
+
512 void XBOXRECV::setRumbleOn(uint8_t lValue, uint8_t rValue, uint8_t controller) {
513  writeBuf[0] = 0x00;
514  writeBuf[1] = 0x01;
515  writeBuf[2] = 0x0f;
@@ -628,12 +628,104 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
537  setLedOn(led, controller);
538  }
539 }
+
uint8_t bmRcvToggle
Definition: address.h:41
+ + +
#define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID
Definition: XBOXRECV.h:49
+
bool getButtonClick(Button b, uint8_t controller=0)
Definition: XBOXRECV.cpp:391
+
EpInfo * epinfo
Definition: address.h:76
+ +
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+
virtual uint8_t Poll()
Definition: XBOXRECV.cpp:266
+
void setRumbleOn(uint8_t lValue, uint8_t rValue, uint8_t controller=0)
Definition: XBOXRECV.cpp:512
+
uint8_t bmNakPower
Definition: address.h:42
+
#define XBOX_WIRELESS_RECEIVER_PID
Definition: XBOXRECV.h:48
+
uint8_t bAddress
Definition: XBOXRECV.h:227
+ + +
#define NotifyFail(...)
Definition: message.h:55
+
uint8_t Xbox360Connected[4]
Definition: XBOXRECV.h:221
+ +
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+
bool buttonChanged(uint8_t controller=0)
Definition: XBOXRECV.cpp:415
+ + +
#define XBOX_OUTPUT_PIPE_3
Definition: XBOXRECV.h:39
+ +
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
const uint16_t XBOXBUTTONS[]
Definition: xboxEnums.h:40
+
const uint8_t XBOXLEDS[]
Definition: xboxEnums.h:32
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+ +
#define EP_MAXPKTSIZE
Definition: PS3USB.h:25
+
virtual void FreeAddress(uint8_t addr)=0
+ +
uint8_t epAttribs
Definition: address.h:37
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
#define Notify(...)
Definition: message.h:44
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
uint8_t epAddr
Definition: address.h:33
+
#define XBOX_INPUT_PIPE_2
Definition: XBOXRECV.h:36
+
#define NotifyFailUnknownDevice(...)
Definition: message.h:54
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+ +
#define XBOX_VID
Definition: XBOXOLD.h:36
+
virtual uint8_t Release()
Definition: XBOXRECV.cpp:256
+
#define EP_INTERRUPT
Definition: PS3USB.h:28
+
Definition: address.h:32
+
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:290
+ +
bool XboxReceiverConnected
Definition: XBOXRECV.h:215
+
void setLedBlink(LED l, uint8_t controller=0)
Definition: XBOXRECV.cpp:478
+ +
void setLedOn(LED l, uint8_t controller=0)
Definition: XBOXRECV.cpp:473
+
uint8_t getBatteryLevel(uint8_t controller=0)
Definition: XBOXRECV.cpp:440
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
#define XBOX_OUTPUT_PIPE_1
Definition: XBOXRECV.h:35
+
LEDMode
Definition: xboxEnums.h:24
+
uint8_t bmSndToggle
Definition: address.h:40
+
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+
XBOXRECV(USB *pUsb)
Definition: XBOXRECV.cpp:25
+
#define MADCATZ_VID
Definition: XBOXOLD.h:37
+
#define XBOX_INPUT_PIPE_1
Definition: XBOXRECV.h:34
+
#define USB_NAK_NOWAIT
Definition: address.h:29
+
void setLedMode(LEDMode lm, uint8_t controller=0)
Definition: XBOXRECV.cpp:482
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: XBOXRECV.cpp:40
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
void setLedRaw(uint8_t value, uint8_t controller=0)
Definition: XBOXRECV.cpp:464
+
#define XBOX_MAX_ENDPOINTS
Definition: XBOXOLD.h:49
+
#define bmRCVTOG0
Definition: max3421e.h:185
+
int16_t getAnalogHat(AnalogHat a, uint8_t controller=0)
Definition: XBOXRECV.cpp:411
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
Button
+
#define bmSNDTOG0
Definition: max3421e.h:187
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
Definition: UsbCore.h:152
+
#define XBOX_INPUT_PIPE_3
Definition: XBOXRECV.h:38
+
#define XBOX_CONTROL_PIPE
Definition: XBOXOLD.h:31
+
uint8_t getButtonPress(Button b, uint8_t controller=0)
Definition: XBOXRECV.cpp:383
+
#define XBOX_INPUT_PIPE_4
Definition: XBOXRECV.h:40
+
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
AnalogHat
+ +
#define XBOX_OUTPUT_PIPE_4
Definition: XBOXRECV.h:41
+
USB * pUsb
Definition: XBOXRECV.h:225
+
#define XBOX_OUTPUT_PIPE_2
Definition: XBOXRECV.h:37
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
EpInfo epInfo[XBOX_MAX_ENDPOINTS]
Definition: XBOXRECV.h:229
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+ diff --git a/_x_b_o_x_r_e_c_v_8h.html b/_x_b_o_x_r_e_c_v_8h.html index 2913084d..b7856c37 100644 --- a/_x_b_o_x_r_e_c_v_8h.html +++ b/_x_b_o_x_r_e_c_v_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXRECV.h File Reference @@ -31,7 +31,7 @@ - + @@ -92,22 +92,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
XBOXRECV.h File Reference
-
#include "Arduino.h"
-#include "Usb.h"
+
#include "Usb.h"
#include "xboxEnums.h"
Include dependency graph for XBOXRECV.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -165,7 +164,7 @@ Macros
-

Definition at line 33 of file XBOXRECV.h.

+

Definition at line 27 of file XBOXRECV.h.

@@ -179,7 +178,7 @@ Macros
-

Definition at line 36 of file XBOXRECV.h.

+

Definition at line 30 of file XBOXRECV.h.

@@ -193,7 +192,7 @@ Macros
-

Definition at line 39 of file XBOXRECV.h.

+

Definition at line 33 of file XBOXRECV.h.

@@ -207,7 +206,7 @@ Macros
-

Definition at line 40 of file XBOXRECV.h.

+

Definition at line 34 of file XBOXRECV.h.

@@ -221,7 +220,7 @@ Macros
-

Definition at line 41 of file XBOXRECV.h.

+

Definition at line 35 of file XBOXRECV.h.

@@ -235,7 +234,7 @@ Macros
-

Definition at line 42 of file XBOXRECV.h.

+

Definition at line 36 of file XBOXRECV.h.

@@ -249,7 +248,7 @@ Macros
-

Definition at line 43 of file XBOXRECV.h.

+

Definition at line 37 of file XBOXRECV.h.

@@ -263,7 +262,7 @@ Macros
-

Definition at line 44 of file XBOXRECV.h.

+

Definition at line 38 of file XBOXRECV.h.

@@ -277,7 +276,7 @@ Macros
-

Definition at line 45 of file XBOXRECV.h.

+

Definition at line 39 of file XBOXRECV.h.

@@ -291,7 +290,7 @@ Macros
-

Definition at line 46 of file XBOXRECV.h.

+

Definition at line 40 of file XBOXRECV.h.

@@ -305,7 +304,7 @@ Macros
-

Definition at line 47 of file XBOXRECV.h.

+

Definition at line 41 of file XBOXRECV.h.

@@ -319,7 +318,7 @@ Macros
-

Definition at line 50 of file XBOXRECV.h.

+

Definition at line 44 of file XBOXRECV.h.

@@ -333,7 +332,7 @@ Macros
-

Definition at line 51 of file XBOXRECV.h.

+

Definition at line 45 of file XBOXRECV.h.

@@ -347,7 +346,7 @@ Macros
-

Definition at line 52 of file XBOXRECV.h.

+

Definition at line 46 of file XBOXRECV.h.

@@ -361,7 +360,7 @@ Macros
-

Definition at line 54 of file XBOXRECV.h.

+

Definition at line 48 of file XBOXRECV.h.

@@ -375,7 +374,7 @@ Macros
-

Definition at line 55 of file XBOXRECV.h.

+

Definition at line 49 of file XBOXRECV.h.

@@ -389,7 +388,7 @@ Macros
-

Definition at line 57 of file XBOXRECV.h.

+

Definition at line 51 of file XBOXRECV.h.

@@ -398,7 +397,7 @@ Macros diff --git a/_x_b_o_x_r_e_c_v_8h__dep__incl.map b/_x_b_o_x_r_e_c_v_8h__dep__incl.map index 18a1d67c..d6d8f0db 100644 --- a/_x_b_o_x_r_e_c_v_8h__dep__incl.map +++ b/_x_b_o_x_r_e_c_v_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/_x_b_o_x_r_e_c_v_8h__dep__incl.md5 b/_x_b_o_x_r_e_c_v_8h__dep__incl.md5 index 5974498f..4ca65192 100644 --- a/_x_b_o_x_r_e_c_v_8h__dep__incl.md5 +++ b/_x_b_o_x_r_e_c_v_8h__dep__incl.md5 @@ -1 +1 @@ -da8c8dffcc2c6c32bb9e72c31be9afcd \ No newline at end of file +74b9b88b9a5da90f0879a3aae3ebebb6 \ No newline at end of file diff --git a/_x_b_o_x_r_e_c_v_8h__dep__incl.png b/_x_b_o_x_r_e_c_v_8h__dep__incl.png index 960c7075d1637d831e63c0b1e613e7a40c47144a..d9b5a15a9a8dfe101de9926662e9ea5cae8d2eff 100644 GIT binary patch literal 4689 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 ChTEtB literal 2535 zcmb`Ji9b~9AIA?D*_Vhi33rApm#I`-Nn)DJ*d}BdvSe*YerB>}P1cKsEZHa9AWdS% zI^@dsix>teOO0(LTxAIpzvI5{>;475&v~8mJm+;@=XuWaeZHUf_atJ>uZsxE3IYHi zf-*)}f~^C1dhm0D*BThVB-rrXHo1-f4i1lEdPN2R2;`#>SFMBdSMu+eN;*KIW`-{s z9Fsx_Cj{5TaOb{kG)Us(tv-ry+>O5_1xG3>pry{V*39*1NUkFOK&;ZS$HA$-#Sm?st6*6Ub3yGYVeA zk6et2Nhx-LsyruN%-0WZZf$kUu4JdX^`tg6H;c9;o*kyfb-29$_%Sap@1Xw;n?$3H zb#_AG@O$rTpoLICL7ZPtPcH&(SsyUhOT0m2{fCDaa5_zMkoQ z9(e6?=D0AQ$K3jCkG{UXjg8GoQLlsjpL(a(ChEL^zt{|@g~cFgXRAaCzkBztv$LeE?9t$&4}>e~sg@V5p~2S1#xfk8492l&aHiqj%)&t4 z=>W{Ewqd%vrR6ZAdTieN+wyt z5Z3DIDRFTCSYKb4*MIP7J=lTf%UJE|?q1mWz9=dx3OptfYai?c=odxqZQV68GP;{h zDh?HS*l~PY;>I5{#(sV;9v;fb)UDO zF#M1HbTz8Cv$LzGQb+$57ZBe$(Go;yXb3{1(T0XG(b3UV>LzFBJ1SidzhLU_4m-BV z>Pp_)+7dW!aAKtisUl_0(R3nV$fI8>tt!k*iTnEz(#h9Sev@46B|=9kEaV6A17aP$ zz22-8_VThtD{+lyhC~9r^`2kwZ=3xQxH%utq^zv0Ya9c!SIgwe`-wWT#~qcGB@KsD z&N_!%6zD1ujU%u&&g%;)>wDWsbMsfI3_ilkOPbj&VcV-jT551ATR0_-5ODOr?nyI| z+v0-SLwUj+!Px}FH>9!^VBktZl#mXJhBhF5gA~uYr+`9+s+xM=#m=ObDM&K-m5wUSyect3@NUGqc+!XWLi#G*rE+6L=FcBY$z3@ z%QQ8@ubJpe)t^{eU9BOLE1cTI9(6>;#Ne=&&x!{U>>RbePQAjK?Qhybud3WHWXO1H zSz;7UEO8muj7`!VN@gF_4|&E8j6vp!Ndx;!@Tlvt99|W*P*+z8vmj~b;)A9I+h6|S zjg;@d==r~N=d1h7jwT|!W|+eBqw2o{r4<#+5#xu%YukN^W5+`0TJQxOE@w732;0}- zhTh)ngt`|`&>moB`c;GzVJO^rHR^8N>b6OGseuAUtvy#YsYl}9PwV!Coj!dUWFasY z5E2~Rh%8an)ZF@ZC|&f zE*~hWs3d$K8pE))x4XJiAVNYyX>ymwCOPwabTXM-SXd~p`pF?qv=unBOGQ>%H#au+ zy1%*{wv~YRH63PUWp!_|k;L$R;oN>oR`vsvImc$J5RIqXBirwcl!H^u+-Q}Mj3!K3IUS~&iMD;= zxYJ3w0GiQz;C*=!UMC;K83^>;oSYv!J2x@|njDogDo1fbLdh%^DI+cv0n~lX(FUI-+7?6tfh)Pl5&==s)U-62M8y97 z{s;Hm++0z4{pS?Q+VZl4v$MsN!?)np!J;cZZ$Xl~UB1?>r#Le)u>)2jLlVXTzcx)z zO-=3YMnWKYAfn|i1!6YG#>Q^ly44vs*?fO__!^25QNnmiM+rnF1JLBdKrVrvVbC=?1Tub?U`D;*mA=#dBdfMeSO z``@Isp7w)D^4AWhzuz<{X#0egr#KHWJ6qc~L0U8WLTaj0qd$pG5BKt_ zp!Iv!_2Arnq02#r;<46h1ujr@S%AO4|Hcg2x(dW>I&7B3!uj}srIq-t{Tze1d1*({ zhv2W1ANf-xqp!5N|Jk+VKT=XE^}&^iviF!v@kfsz*YOQG`6mR1X3F+yK-y LbHocnmze(nXfn - - - - - - - - - - - + + + diff --git a/_x_b_o_x_r_e_c_v_8h__incl.md5 b/_x_b_o_x_r_e_c_v_8h__incl.md5 index 41e72d74..59a0ccbc 100644 --- a/_x_b_o_x_r_e_c_v_8h__incl.md5 +++ b/_x_b_o_x_r_e_c_v_8h__incl.md5 @@ -1 +1 @@ -e0c357b5d8753a6656811410c807b605 \ No newline at end of file +ce5138122fc59e139125ea0dd172d247 \ No newline at end of file diff --git a/_x_b_o_x_r_e_c_v_8h__incl.png b/_x_b_o_x_r_e_c_v_8h__incl.png index 009080566b00a4a75603d7e68823c186a8287929..ccfd021f0570ed1841de9223a643c19d2c126f54 100644 GIT binary patch literal 8980 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 diff --git a/_x_b_o_x_r_e_c_v_8h_source.html b/_x_b_o_x_r_e_c_v_8h_source.html index ca3f8ab6..68309e86 100644 --- a/_x_b_o_x_r_e_c_v_8h_source.html +++ b/_x_b_o_x_r_e_c_v_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXRECV.h Source File @@ -31,7 +31,7 @@ - + @@ -111,132 +111,169 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
21 #define _xboxrecv_h_
22 
-
23 #if defined(ARDUINO) && ARDUINO >= 100
-
24 #include "Arduino.h"
-
25 #else
-
26 #include "WProgram.h"
-
27 #endif
+
23 #include "Usb.h"
+
24 #include "xboxEnums.h"
+
25 
+
26 /* Data Xbox 360 taken from descriptors */
+
27 #define EP_MAXPKTSIZE 32 // max size for data via USB
28 
-
29 #include "Usb.h"
-
30 #include "xboxEnums.h"
-
31 
-
32 /* Data Xbox 360 taken from descriptors */
-
33 #define EP_MAXPKTSIZE 32 // max size for data via USB
-
34 
-
35 /* Endpoint types */
-
36 #define EP_INTERRUPT 0x03
-
37 
-
38 /* Names we give to the 9 Xbox360 pipes */
-
39 #define XBOX_CONTROL_PIPE 0
-
40 #define XBOX_INPUT_PIPE_1 1
-
41 #define XBOX_OUTPUT_PIPE_1 2
-
42 #define XBOX_INPUT_PIPE_2 3
-
43 #define XBOX_OUTPUT_PIPE_2 4
-
44 #define XBOX_INPUT_PIPE_3 5
-
45 #define XBOX_OUTPUT_PIPE_3 6
-
46 #define XBOX_INPUT_PIPE_4 7
-
47 #define XBOX_OUTPUT_PIPE_4 8
-
48 
-
49 // PID and VID of the different devices
-
50 #define XBOX_VID 0x045E // Microsoft Corporation
-
51 #define MADCATZ_VID 0x1BAD // For unofficial Mad Catz receivers
-
52 #define JOYTECH_VID 0x162E // For unofficial Joytech controllers
-
53 
-
54 #define XBOX_WIRELESS_RECEIVER_PID 0x0719 // Microsoft Wireless Gaming Receiver
-
55 #define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID 0x0291 // Third party Wireless Gaming Receiver
-
56 
-
57 #define XBOX_MAX_ENDPOINTS 9
-
58 
-
64 class XBOXRECV : public USBDeviceConfig {
-
65 public:
-
70  XBOXRECV(USB *pUsb);
-
71 
-
80  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
85  virtual uint8_t Release();
-
90  virtual uint8_t Poll();
-
91 
-
96  virtual uint8_t GetAddress() {
-
97  return bAddress;
-
98  };
-
99 
-
104  virtual bool isReady() {
-
105  return bPollEnable;
-
106  };
-
107 
-
114  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
-
115  return ((vid == XBOX_VID || vid == MADCATZ_VID || vid == JOYTECH_VID) && (pid == XBOX_WIRELESS_RECEIVER_PID || pid == XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID));
-
116  };
-
132  uint8_t getButtonPress(Button b, uint8_t controller = 0);
-
133  bool getButtonClick(Button b, uint8_t controller = 0);
-
143  int16_t getAnalogHat(AnalogHat a, uint8_t controller = 0);
-
144 
-
149  void setAllOff(uint8_t controller = 0) {
-
150  setRumbleOn(0, 0, controller);
-
151  setLedOff(controller);
-
152  };
-
153 
-
158  void setRumbleOff(uint8_t controller = 0) {
-
159  setRumbleOn(0, 0, controller);
-
160  };
-
167  void setRumbleOn(uint8_t lValue, uint8_t rValue, uint8_t controller = 0);
-
175  void setLedRaw(uint8_t value, uint8_t controller = 0);
-
176 
-
181  void setLedOff(uint8_t controller = 0) {
-
182  setLedRaw(0, controller);
-
183  };
-
189  void setLedOn(LED l, uint8_t controller = 0);
-
195  void setLedBlink(LED l, uint8_t controller = 0);
-
201  void setLedMode(LEDMode lm, uint8_t controller = 0);
-
207  uint8_t getBatteryLevel(uint8_t controller = 0);
-
213  bool buttonChanged(uint8_t controller = 0);
-
214 
-
219  void attachOnInit(void (*funcOnInit)(void)) {
-
220  pFuncOnInit = funcOnInit;
-
221  };
- -
227  uint8_t Xbox360Connected[4];
-
228 
-
229 protected:
- -
233  uint8_t bAddress;
- -
236 
-
237 private:
-
244  void onInit(uint8_t controller);
-
245  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
-
246 
-
247  bool bPollEnable;
-
248 
-
249  /* Variables to store the buttons */
-
250  uint32_t ButtonState[4];
-
251  uint32_t OldButtonState[4];
-
252  uint16_t ButtonClickState[4];
-
253  int16_t hatValue[4][4];
-
254  uint16_t controllerStatus[4];
-
255  bool buttonStateChanged[4]; // True if a button has changed
-
256 
-
257  bool L2Clicked[4]; // These buttons are analog, so we use we use these bools to check if they where clicked or not
-
258  bool R2Clicked[4];
-
259 
-
260  unsigned long timer; // Timing for checkStatus() signals
+
29 /* Endpoint types */
+
30 #define EP_INTERRUPT 0x03
+
31 
+
32 /* Names we give to the 9 Xbox360 pipes */
+
33 #define XBOX_CONTROL_PIPE 0
+
34 #define XBOX_INPUT_PIPE_1 1
+
35 #define XBOX_OUTPUT_PIPE_1 2
+
36 #define XBOX_INPUT_PIPE_2 3
+
37 #define XBOX_OUTPUT_PIPE_2 4
+
38 #define XBOX_INPUT_PIPE_3 5
+
39 #define XBOX_OUTPUT_PIPE_3 6
+
40 #define XBOX_INPUT_PIPE_4 7
+
41 #define XBOX_OUTPUT_PIPE_4 8
+
42 
+
43 // PID and VID of the different devices
+
44 #define XBOX_VID 0x045E // Microsoft Corporation
+
45 #define MADCATZ_VID 0x1BAD // For unofficial Mad Catz receivers
+
46 #define JOYTECH_VID 0x162E // For unofficial Joytech controllers
+
47 
+
48 #define XBOX_WIRELESS_RECEIVER_PID 0x0719 // Microsoft Wireless Gaming Receiver
+
49 #define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID 0x0291 // Third party Wireless Gaming Receiver
+
50 
+
51 #define XBOX_MAX_ENDPOINTS 9
+
52 
+
58 class XBOXRECV : public USBDeviceConfig {
+
59 public:
+
64  XBOXRECV(USB *pUsb);
+
65 
+
74  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
79  virtual uint8_t Release();
+
84  virtual uint8_t Poll();
+
85 
+
90  virtual uint8_t GetAddress() {
+
91  return bAddress;
+
92  };
+
93 
+
98  virtual bool isReady() {
+
99  return bPollEnable;
+
100  };
+
101 
+
108  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
+
109  return ((vid == XBOX_VID || vid == MADCATZ_VID || vid == JOYTECH_VID) && (pid == XBOX_WIRELESS_RECEIVER_PID || pid == XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID));
+
110  };
+
126  uint8_t getButtonPress(Button b, uint8_t controller = 0);
+
127  bool getButtonClick(Button b, uint8_t controller = 0);
+
137  int16_t getAnalogHat(AnalogHat a, uint8_t controller = 0);
+
138 
+
143  void setAllOff(uint8_t controller = 0) {
+
144  setRumbleOn(0, 0, controller);
+
145  setLedOff(controller);
+
146  };
+
147 
+
152  void setRumbleOff(uint8_t controller = 0) {
+
153  setRumbleOn(0, 0, controller);
+
154  };
+
161  void setRumbleOn(uint8_t lValue, uint8_t rValue, uint8_t controller = 0);
+
169  void setLedRaw(uint8_t value, uint8_t controller = 0);
+
170 
+
175  void setLedOff(uint8_t controller = 0) {
+
176  setLedRaw(0, controller);
+
177  };
+
183  void setLedOn(LED l, uint8_t controller = 0);
+
189  void setLedBlink(LED l, uint8_t controller = 0);
+
195  void setLedMode(LEDMode lm, uint8_t controller = 0);
+
201  uint8_t getBatteryLevel(uint8_t controller = 0);
+
207  bool buttonChanged(uint8_t controller = 0);
+
208 
+
213  void attachOnInit(void (*funcOnInit)(void)) {
+
214  pFuncOnInit = funcOnInit;
+
215  };
+ +
221  uint8_t Xbox360Connected[4];
+
222 
+
223 protected:
+ +
227  uint8_t bAddress;
+ +
230 
+
231 private:
+
238  void onInit(uint8_t controller);
+
239  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
+
240 
+
241  bool bPollEnable;
+
242 
+
243  /* Variables to store the buttons */
+
244  uint32_t ButtonState[4];
+
245  uint32_t OldButtonState[4];
+
246  uint16_t ButtonClickState[4];
+
247  int16_t hatValue[4][4];
+
248  uint16_t controllerStatus[4];
+
249  bool buttonStateChanged[4]; // True if a button has changed
+
250 
+
251  bool L2Clicked[4]; // These buttons are analog, so we use we use these bools to check if they where clicked or not
+
252  bool R2Clicked[4];
+
253 
+
254  unsigned long timer; // Timing for checkStatus() signals
+
255 
+
256  uint8_t readBuf[EP_MAXPKTSIZE]; // General purpose buffer for input data
+
257  uint8_t writeBuf[7]; // General purpose buffer for output data
+
258 
+
259  void readReport(uint8_t controller); // read incoming data
+
260  void printReport(uint8_t controller, uint8_t nBytes); // print incoming date - Uncomment for debugging
261 
-
262  uint8_t readBuf[EP_MAXPKTSIZE]; // General purpose buffer for input data
-
263  uint8_t writeBuf[7]; // General purpose buffer for output data
-
264 
-
265  void readReport(uint8_t controller); // read incoming data
-
266  void printReport(uint8_t controller, uint8_t nBytes); // print incoming date - Uncomment for debugging
-
267 
-
268  /* Private commands */
-
269  void XboxCommand(uint8_t controller, uint8_t* data, uint16_t nbytes);
-
270  void checkStatus();
-
271 };
-
272 #endif
+
262  /* Private commands */
+
263  void XboxCommand(uint8_t controller, uint8_t* data, uint16_t nbytes);
+
264  void checkStatus();
+
265 };
+
266 #endif
+
#define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID
Definition: XBOXRECV.h:49
+
bool getButtonClick(Button b, uint8_t controller=0)
Definition: XBOXRECV.cpp:391
+
virtual uint8_t Poll()
Definition: XBOXRECV.cpp:266
+
void setRumbleOn(uint8_t lValue, uint8_t rValue, uint8_t controller=0)
Definition: XBOXRECV.cpp:512
+
#define XBOX_WIRELESS_RECEIVER_PID
Definition: XBOXRECV.h:48
+
uint8_t bAddress
Definition: XBOXRECV.h:227
+
void setLedOff(uint8_t controller=0)
Definition: XBOXRECV.h:175
+ +
#define EP_MAXPKTSIZE
Definition: XBOXRECV.h:27
+
virtual uint8_t GetAddress()
Definition: XBOXRECV.h:90
+
uint8_t Xbox360Connected[4]
Definition: XBOXRECV.h:221
+
bool buttonChanged(uint8_t controller=0)
Definition: XBOXRECV.cpp:415
+
void setRumbleOff(uint8_t controller=0)
Definition: XBOXRECV.h:152
+ + +
virtual bool isReady()
Definition: XBOXRECV.h:98
+ +
#define XBOX_VID
Definition: XBOXRECV.h:44
+
void setAllOff(uint8_t controller=0)
Definition: XBOXRECV.h:143
+
virtual uint8_t Release()
Definition: XBOXRECV.cpp:256
+
Definition: address.h:32
+
bool XboxReceiverConnected
Definition: XBOXRECV.h:215
+
void setLedBlink(LED l, uint8_t controller=0)
Definition: XBOXRECV.cpp:478
+
void setLedOn(LED l, uint8_t controller=0)
Definition: XBOXRECV.cpp:473
+
uint8_t getBatteryLevel(uint8_t controller=0)
Definition: XBOXRECV.cpp:440
+
LEDMode
Definition: xboxEnums.h:24
+
XBOXRECV(USB *pUsb)
Definition: XBOXRECV.cpp:25
+
#define JOYTECH_VID
Definition: XBOXRECV.h:46
+
void setLedMode(LEDMode lm, uint8_t controller=0)
Definition: XBOXRECV.cpp:482
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: XBOXRECV.cpp:40
+
#define MADCATZ_VID
Definition: XBOXRECV.h:45
+
void setLedRaw(uint8_t value, uint8_t controller=0)
Definition: XBOXRECV.cpp:464
+
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: XBOXRECV.h:108
+
int16_t getAnalogHat(AnalogHat a, uint8_t controller=0)
Definition: XBOXRECV.cpp:411
+
Button
+
Definition: UsbCore.h:152
+
void attachOnInit(void(*funcOnInit)(void))
Definition: XBOXRECV.h:213
+
uint8_t getButtonPress(Button b, uint8_t controller=0)
Definition: XBOXRECV.cpp:383
+
AnalogHat
+ +
USB * pUsb
Definition: XBOXRECV.h:225
+
EpInfo epInfo[XBOX_MAX_ENDPOINTS]
Definition: XBOXRECV.h:229
+
#define XBOX_MAX_ENDPOINTS
Definition: XBOXRECV.h:51
diff --git a/_x_b_o_x_u_s_b_8cpp.html b/_x_b_o_x_u_s_b_8cpp.html index dbf6c35c..e7ca9ca8 100644 --- a/_x_b_o_x_u_s_b_8cpp.html +++ b/_x_b_o_x_u_s_b_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXUSB.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for XBOXUSB.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for XBOXUSB.cpp: diff --git a/_x_b_o_x_u_s_b_8cpp__incl.map b/_x_b_o_x_u_s_b_8cpp__incl.map index 49a63b01..1e45a4a3 100644 --- a/_x_b_o_x_u_s_b_8cpp__incl.map +++ b/_x_b_o_x_u_s_b_8cpp__incl.map @@ -1,14 +1,6 @@ - - - - - - - - - - - - + + + + diff --git a/_x_b_o_x_u_s_b_8cpp__incl.md5 b/_x_b_o_x_u_s_b_8cpp__incl.md5 index 6e831383..b8265da5 100644 --- a/_x_b_o_x_u_s_b_8cpp__incl.md5 +++ b/_x_b_o_x_u_s_b_8cpp__incl.md5 @@ -1 +1 @@ -a1144df8abc2e97cc5b957e2a2e9cc4d \ No newline at end of file +bf6f13928de61e73244f2efd80b18c87 \ No newline at end of file diff --git a/_x_b_o_x_u_s_b_8cpp__incl.png b/_x_b_o_x_u_s_b_8cpp__incl.png index 5c7ea80a0833658d2ea433bb43a70504b405ec69..c6c8e499a40c90f87d72249f49638ea7581069c3 100644 GIT binary patch literal 11817 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

_pb2MsH@~qn#^h)%+nky>! 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 N9^6-zFO@Y8`9A@TLc0I} diff --git a/_x_b_o_x_u_s_b_8cpp_source.html b/_x_b_o_x_u_s_b_8cpp_source.html index 4d0bc577..5e2d18dd 100644 --- a/_x_b_o_x_u_s_b_8cpp_source.html +++ b/_x_b_o_x_u_s_b_8cpp_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXUSB.cpp Source File @@ -31,7 +31,7 @@ - + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

20 //#define EXTRADEBUG // Uncomment to get even more debugging data
21 //#define PRINTREPORT // Uncomment to print the report send by the Xbox 360 Controller
22 
- +
24 pUsb(p), // pointer to USB class instance - mandatory
25 bAddress(0), // device address - mandatory
26 bPollEnable(false) { // don't start polling before dongle is connected
@@ -126,7 +126,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
35  pUsb->RegisterDeviceClass(this); //set devConfig[] entry
36 }
37 
-
38 uint8_t XBOXUSB::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
38 uint8_t XBOXUSB::Init(uint8_t parent, uint8_t port, bool lowspeed) {
39  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
40  uint8_t rcode;
41  UsbDevice *p = NULL;
@@ -144,7 +144,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
53 #ifdef DEBUG_USB_HOST
54  Notify(PSTR("\r\nAddress in use"), 0x80);
55 #endif
- +
57  }
58 
59  // Get pointer to pseudo device with address 0 assigned
@@ -154,14 +154,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
63 #ifdef DEBUG_USB_HOST
64  Notify(PSTR("\r\nAddress not found"), 0x80);
65 #endif
- +
67  }
68 
69  if (!p->epinfo) {
70 #ifdef DEBUG_USB_HOST
71  Notify(PSTR("\r\nepinfo is null"), 0x80);
72 #endif
- +
74  }
75 
76  // Save old pointer to EP_RECORD of address 0
@@ -173,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
82  p->lowspeed = lowspeed;
83 
84  // Get device descriptor
-
85  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
+
85  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf); // Get device descriptor - addr, ep, nbytes, data
86  // Restore p->epinfo
87  p->epinfo = oldep_ptr;
88 
@@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
92  VID = ((USB_DEVICE_DESCRIPTOR*)buf)->idVendor;
93  PID = ((USB_DEVICE_DESCRIPTOR*)buf)->idProduct;
94 
-
95  if (VID != XBOX_VID && VID != MADCATZ_VID && VID != JOYTECH_VID) // Check VID
+
95  if (VID != XBOX_VID && VID != MADCATZ_VID && VID != JOYTECH_VID && VID != GAMESTOP_VID) // Check VID
96  goto FailUnknownDevice;
97  if (PID == XBOX_WIRELESS_PID) {
98 #ifdef DEBUG_USB_HOST
@@ -195,14 +195,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
104  Notify(PSTR("\r\nThis library only supports Xbox 360 controllers via USB"), 0x80);
105 #endif
106  goto FailUnknownDevice;
-
107  } else if (PID != XBOX_WIRED_PID) // Check PID
+
107  } else if (PID != XBOX_WIRED_PID && PID != GAMESTOP_WIRED_PID) // Check PID
108  goto FailUnknownDevice;
109 
110  // Allocate new address according to device class
111  bAddress = addrPool.AllocAddress(parent, false, port);
112 
113  if (!bAddress)
- +
115 
116  // Extract Max Packet Size from device descriptor
117  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0;
@@ -230,7 +230,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
139  //get pointer to assigned address record
140  p = addrPool.GetUsbDevicePtr(bAddress);
141  if (!p)
- +
143 
144  p->lowspeed = lowspeed;
145 
@@ -297,7 +297,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
206 #ifdef DEBUG_USB_HOST
207  NotifyFailUnknownDevice(VID, PID);
208 #endif
- +
210 
211 Fail:
212 #ifdef DEBUG_USB_HOST
@@ -309,7 +309,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
218 }
219 
220 /* Performs a cleanup after failed Init() attempt */
-
221 uint8_t XBOXUSB::Release() {
+
221 uint8_t XBOXUSB::Release() {
222  Xbox360Connected = false;
224  bAddress = 0;
@@ -317,7 +317,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
226  return 0;
227 }
228 
-
229 uint8_t XBOXUSB::Poll() {
+
229 uint8_t XBOXUSB::Poll() {
230  if (!bPollEnable)
231  return 0;
232  uint16_t BUFFER_SIZE = EP_MAXPKTSIZE;
@@ -368,7 +368,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
277 #endif
278 }
279 
- +
281  if (b == L2) // These are analog buttons
282  return (uint8_t)(ButtonState >> 8);
283  else if (b == R2)
@@ -376,7 +376,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
285  return (ButtonState & ((uint32_t)pgm_read_word(&XBOXBUTTONS[(uint8_t)b]) << 16));
286 }
287 
- +
289  if (b == L2) {
290  if (L2Clicked) {
291  L2Clicked = false;
@@ -396,7 +396,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
305  return click;
306 }
307 
- +
309  return hatValue[a];
310 }
311 
@@ -406,7 +406,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
315  pUsb->ctrlReq(bAddress, epInfo[XBOX_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x00, 0x02, 0x00, nbytes, nbytes, data, NULL);
316 }
317 
-
318 void XBOXUSB::setLedRaw(uint8_t value) {
+
318 void XBOXUSB::setLedRaw(uint8_t value) {
319  writeBuf[0] = 0x01;
320  writeBuf[1] = 0x03;
321  writeBuf[2] = value;
@@ -414,20 +414,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
323  XboxCommand(writeBuf, 3);
324 }
325 
- +
327  if (led != ALL) // All LEDs can't be on a the same time
328  setLedRaw((pgm_read_byte(&XBOXLEDS[(uint8_t)led])) + 4);
329 }
330 
- +
332  setLedRaw(pgm_read_byte(&XBOXLEDS[(uint8_t)led]));
333 }
334 
-
335 void XBOXUSB::setLedMode(LEDMode ledMode) { // This function is used to do some speciel LED stuff the controller supports
+
335 void XBOXUSB::setLedMode(LEDMode ledMode) { // This function is used to do some speciel LED stuff the controller supports
336  setLedRaw((uint8_t)ledMode);
337 }
338 
-
339 void XBOXUSB::setRumbleOn(uint8_t lValue, uint8_t rValue) {
+
339 void XBOXUSB::setRumbleOn(uint8_t lValue, uint8_t rValue) {
340  writeBuf[0] = 0x00;
341  writeBuf[1] = 0x08;
342  writeBuf[2] = 0x00;
@@ -446,12 +446,100 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
355  else
356  setLedOn(LED1);
357 }
+
#define XBOX_WIRED_PID
Definition: XBOXUSB.h:41
+
uint8_t bmRcvToggle
Definition: address.h:41
+ +
#define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID
Definition: XBOXRECV.h:49
+
EpInfo * epinfo
Definition: address.h:76
+ +
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+
uint8_t bmNakPower
Definition: address.h:42
+
#define XBOX_WIRELESS_RECEIVER_PID
Definition: XBOXRECV.h:48
+ +
void setLedMode(LEDMode lm)
Definition: XBOXUSB.cpp:335
+
#define NotifyFail(...)
Definition: message.h:55
+ +
USB * pUsb
Definition: XBOXUSB.h:193
+
#define XBOX_REPORT_BUFFER_SIZE
Definition: XBOXUSB.h:47
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+ + +
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: XBOXUSB.cpp:38
+
uint8_t getButtonPress(Button b)
Definition: XBOXUSB.cpp:280
+
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
const uint16_t XBOXBUTTONS[]
Definition: xboxEnums.h:40
+
const uint8_t XBOXLEDS[]
Definition: xboxEnums.h:32
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+ +
bool getButtonClick(Button b)
Definition: XBOXUSB.cpp:288
+
#define EP_MAXPKTSIZE
Definition: PS3USB.h:25
+
virtual void FreeAddress(uint8_t addr)=0
+ +
uint8_t epAttribs
Definition: address.h:37
+
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)
Definition: Usb.cpp:126
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
#define Notify(...)
Definition: message.h:44
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
uint8_t epAddr
Definition: address.h:33
+
#define NotifyFailUnknownDevice(...)
Definition: message.h:54
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+
#define XBOX_VID
Definition: XBOXOLD.h:36
+
int16_t getAnalogHat(AnalogHat a)
Definition: XBOXUSB.cpp:308
+
#define XBOX_INPUT_PIPE
Definition: XBOXOLD.h:32
+
uint8_t bAddress
Definition: XBOXUSB.h:195
+
#define EP_INTERRUPT
Definition: PS3USB.h:28
+
Definition: address.h:32
+
#define XBOX_WIRELESS_PID
Definition: XBOXUSB.h:42
+ +
bool Xbox360Connected
Definition: XBOXUSB.h:185
+ + +
#define HID_REQUEST_SET_REPORT
Definition: BTD.h:39
+
#define JOYTECH_VID
Definition: XBOXOLD.h:38
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
LEDMode
Definition: xboxEnums.h:24
+
uint8_t bmSndToggle
Definition: address.h:40
+
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+
void setRumbleOn(uint8_t lValue, uint8_t rValue)
Definition: XBOXUSB.cpp:339
+
XBOXUSB(USB *pUsb)
Definition: XBOXUSB.cpp:23
+
#define MADCATZ_VID
Definition: XBOXOLD.h:37
+
#define XBOX_OUTPUT_PIPE
Definition: XBOXOLD.h:33
+
#define USB_NAK_NOWAIT
Definition: address.h:29
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
#define GAMESTOP_VID
Definition: XBOXUSB.h:39
+
void setLedBlink(LED l)
Definition: XBOXUSB.cpp:331
+
#define XBOX_MAX_ENDPOINTS
Definition: XBOXOLD.h:49
+
void setLedOn(LED l)
Definition: XBOXUSB.cpp:326
+
#define bmRCVTOG0
Definition: max3421e.h:185
+
#define bmREQ_HID_OUT
Definition: BTD.h:38
+
void setLedRaw(uint8_t value)
Definition: XBOXUSB.cpp:318
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
Button
+
#define bmSNDTOG0
Definition: max3421e.h:187
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
Definition: UsbCore.h:152
+
#define XBOX_CONTROL_PIPE
Definition: XBOXOLD.h:31
+
virtual uint8_t Release()
Definition: XBOXUSB.cpp:221
+
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
AnalogHat
+ +
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
virtual uint8_t Poll()
Definition: XBOXUSB.cpp:229
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+
EpInfo epInfo[XBOX_MAX_ENDPOINTS]
Definition: XBOXUSB.h:197
+
#define GAMESTOP_WIRED_PID
Definition: XBOXUSB.h:45
+ diff --git a/_x_b_o_x_u_s_b_8h.html b/_x_b_o_x_u_s_b_8h.html index 8c384f4d..1cfaafea 100644 --- a/_x_b_o_x_u_s_b_8h.html +++ b/_x_b_o_x_u_s_b_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXUSB.h File Reference @@ -31,7 +31,7 @@ - + @@ -92,22 +92,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
XBOXUSB.h File Reference
-
#include "Arduino.h"
-#include "Usb.h"
+
#include "Usb.h"
#include "xboxEnums.h"
Include dependency graph for XBOXUSB.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -135,6 +134,8 @@ Macros   #define JOYTECH_VID   0x162E   +#define GAMESTOP_VID   0x0E6F +  #define XBOX_WIRED_PID   0x028E   #define XBOX_WIRELESS_PID   0x028F @@ -143,6 +144,8 @@ Macros   #define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID   0x0291   +#define GAMESTOP_WIRED_PID   0x0401 +  #define XBOX_REPORT_BUFFER_SIZE   14   #define bmREQ_HID_OUT   USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE @@ -163,7 +166,7 @@ Macros
-

Definition at line 31 of file XBOXUSB.h.

+

Definition at line 25 of file XBOXUSB.h.

@@ -177,7 +180,7 @@ Macros
-

Definition at line 34 of file XBOXUSB.h.

+

Definition at line 28 of file XBOXUSB.h.

@@ -191,7 +194,7 @@ Macros
-

Definition at line 37 of file XBOXUSB.h.

+

Definition at line 31 of file XBOXUSB.h.

@@ -205,7 +208,7 @@ Macros
-

Definition at line 38 of file XBOXUSB.h.

+

Definition at line 32 of file XBOXUSB.h.

@@ -219,7 +222,7 @@ Macros
-

Definition at line 39 of file XBOXUSB.h.

+

Definition at line 33 of file XBOXUSB.h.

@@ -233,7 +236,7 @@ Macros
-

Definition at line 42 of file XBOXUSB.h.

+

Definition at line 36 of file XBOXUSB.h.

@@ -247,7 +250,7 @@ Macros
-

Definition at line 43 of file XBOXUSB.h.

+

Definition at line 37 of file XBOXUSB.h.

@@ -261,7 +264,21 @@ Macros
-

Definition at line 44 of file XBOXUSB.h.

+

Definition at line 38 of file XBOXUSB.h.

+ +
+ + +
+
+ + + + +
#define GAMESTOP_VID   0x0E6F
+
+ +

Definition at line 39 of file XBOXUSB.h.

@@ -275,7 +292,7 @@ Macros
-

Definition at line 46 of file XBOXUSB.h.

+

Definition at line 41 of file XBOXUSB.h.

@@ -289,7 +306,7 @@ Macros
-

Definition at line 47 of file XBOXUSB.h.

+

Definition at line 42 of file XBOXUSB.h.

@@ -303,7 +320,7 @@ Macros
-

Definition at line 48 of file XBOXUSB.h.

+

Definition at line 43 of file XBOXUSB.h.

@@ -317,7 +334,21 @@ Macros
-

Definition at line 49 of file XBOXUSB.h.

+

Definition at line 44 of file XBOXUSB.h.

+ +
+ + +
+
+ + + + +
#define GAMESTOP_WIRED_PID   0x0401
+
+ +

Definition at line 45 of file XBOXUSB.h.

@@ -331,7 +362,7 @@ Macros
-

Definition at line 51 of file XBOXUSB.h.

+

Definition at line 47 of file XBOXUSB.h.

@@ -345,7 +376,7 @@ Macros
-

Definition at line 54 of file XBOXUSB.h.

+

Definition at line 50 of file XBOXUSB.h.

@@ -359,7 +390,7 @@ Macros
-

Definition at line 55 of file XBOXUSB.h.

+

Definition at line 51 of file XBOXUSB.h.

@@ -373,7 +404,7 @@ Macros
-

Definition at line 57 of file XBOXUSB.h.

+

Definition at line 53 of file XBOXUSB.h.

@@ -382,7 +413,7 @@ Macros diff --git a/_x_b_o_x_u_s_b_8h__dep__incl.map b/_x_b_o_x_u_s_b_8h__dep__incl.map index 23ac7a2d..241202bb 100644 --- a/_x_b_o_x_u_s_b_8h__dep__incl.map +++ b/_x_b_o_x_u_s_b_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/_x_b_o_x_u_s_b_8h__dep__incl.md5 b/_x_b_o_x_u_s_b_8h__dep__incl.md5 index e2871605..03f735e5 100644 --- a/_x_b_o_x_u_s_b_8h__dep__incl.md5 +++ b/_x_b_o_x_u_s_b_8h__dep__incl.md5 @@ -1 +1 @@ -f71133bf381aea861d91b2082208595d \ No newline at end of file +aef1e874621fe82e06208994ca6c31c1 \ No newline at end of file diff --git a/_x_b_o_x_u_s_b_8h__dep__incl.png b/_x_b_o_x_u_s_b_8h__dep__incl.png index 492dd91c2ed2410e9f68a8d4c2e571ce3b769cb5..32230501bd0030571b7784c932130946ac3123ee 100644 GIT binary patch literal 4477 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 literal 2081 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 diff --git a/_x_b_o_x_u_s_b_8h__incl.map b/_x_b_o_x_u_s_b_8h__incl.map index 105f55bd..99f369dc 100644 --- a/_x_b_o_x_u_s_b_8h__incl.map +++ b/_x_b_o_x_u_s_b_8h__incl.map @@ -1,13 +1,5 @@ - - - - - - - - - - - + + + diff --git a/_x_b_o_x_u_s_b_8h__incl.md5 b/_x_b_o_x_u_s_b_8h__incl.md5 index a6ca13b4..f6913543 100644 --- a/_x_b_o_x_u_s_b_8h__incl.md5 +++ b/_x_b_o_x_u_s_b_8h__incl.md5 @@ -1 +1 @@ -99bca373ca57a28c752a0a1198ff9fde \ No newline at end of file +fbb46adf1eb28c436edfb4eb5f8dd91c \ No newline at end of file diff --git a/_x_b_o_x_u_s_b_8h__incl.png b/_x_b_o_x_u_s_b_8h__incl.png index 7ba725d1735623ea3dec99c8f8ddb9469ad30828..10c181dbe58613ab6991d4acc51cd7e2fc1871a6 100644 GIT binary patch literal 8994 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 Y9{dw$6bXC4yDtdxGAh!QlBU7`195`iu@|69-Z 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 B-(gdfxuH1D1UAze}7G7iLN4b$ydXuA)V454q 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 diff --git a/_x_b_o_x_u_s_b_8h_source.html b/_x_b_o_x_u_s_b_8h_source.html index 4246ab3c..f63fe8cb 100644 --- a/_x_b_o_x_u_s_b_8h_source.html +++ b/_x_b_o_x_u_s_b_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXUSB.h Source File @@ -31,7 +31,7 @@ - + @@ -109,127 +109,164 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
18 #ifndef _xboxusb_h_
19 #define _xboxusb_h_
20 
-
21 #if defined(ARDUINO) && ARDUINO >= 100
-
22 #include "Arduino.h"
-
23 #else
-
24 #include "WProgram.h"
-
25 #endif
+
21 #include "Usb.h"
+
22 #include "xboxEnums.h"
+
23 
+
24 /* Data Xbox 360 taken from descriptors */
+
25 #define EP_MAXPKTSIZE 32 // max size for data via USB
26 
-
27 #include "Usb.h"
-
28 #include "xboxEnums.h"
-
29 
-
30 /* Data Xbox 360 taken from descriptors */
-
31 #define EP_MAXPKTSIZE 32 // max size for data via USB
-
32 
-
33 /* Endpoint types */
-
34 #define EP_INTERRUPT 0x03
-
35 
-
36 /* Names we give to the 3 Xbox360 pipes */
-
37 #define XBOX_CONTROL_PIPE 0
-
38 #define XBOX_INPUT_PIPE 1
-
39 #define XBOX_OUTPUT_PIPE 2
+
27 /* Endpoint types */
+
28 #define EP_INTERRUPT 0x03
+
29 
+
30 /* Names we give to the 3 Xbox360 pipes */
+
31 #define XBOX_CONTROL_PIPE 0
+
32 #define XBOX_INPUT_PIPE 1
+
33 #define XBOX_OUTPUT_PIPE 2
+
34 
+
35 // PID and VID of the different devices
+
36 #define XBOX_VID 0x045E // Microsoft Corporation
+
37 #define MADCATZ_VID 0x1BAD // For unofficial Mad Catz controllers
+
38 #define JOYTECH_VID 0x162E // For unofficial Joytech controllers
+
39 #define GAMESTOP_VID 0x0E6F // Gamestop controller
40 
-
41 // PID and VID of the different devices
-
42 #define XBOX_VID 0x045E // Microsoft Corporation
-
43 #define MADCATZ_VID 0x1BAD // For unofficial Mad Catz controllers
-
44 #define JOYTECH_VID 0x162E // For unofficial Joytech controllers
-
45 
-
46 #define XBOX_WIRED_PID 0x028E // Microsoft 360 Wired controller
-
47 #define XBOX_WIRELESS_PID 0x028F // Wireless controller only support charging
-
48 #define XBOX_WIRELESS_RECEIVER_PID 0x0719 // Microsoft Wireless Gaming Receiver
-
49 #define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID 0x0291 // Third party Wireless Gaming Receiver
-
50 
-
51 #define XBOX_REPORT_BUFFER_SIZE 14 // Size of the input report buffer
+
41 #define XBOX_WIRED_PID 0x028E // Microsoft 360 Wired controller
+
42 #define XBOX_WIRELESS_PID 0x028F // Wireless controller only support charging
+
43 #define XBOX_WIRELESS_RECEIVER_PID 0x0719 // Microsoft Wireless Gaming Receiver
+
44 #define XBOX_WIRELESS_RECEIVER_THIRD_PARTY_PID 0x0291 // Third party Wireless Gaming Receiver
+
45 #define GAMESTOP_WIRED_PID 0x0401 // Gamestop wired controller
+
46 
+
47 #define XBOX_REPORT_BUFFER_SIZE 14 // Size of the input report buffer
+
48 
+
49 // Used in control endpoint header for HID Commands
+
50 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
+
51 #define HID_REQUEST_SET_REPORT 0x09
52 
-
53 // Used in control endpoint header for HID Commands
-
54 #define bmREQ_HID_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
-
55 #define HID_REQUEST_SET_REPORT 0x09
-
56 
-
57 #define XBOX_MAX_ENDPOINTS 3
-
58 
-
60 class XBOXUSB : public USBDeviceConfig {
-
61 public:
-
66  XBOXUSB(USB *pUsb);
-
67 
-
76  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
81  virtual uint8_t Release();
-
86  virtual uint8_t Poll();
-
87 
-
92  virtual uint8_t GetAddress() {
-
93  return bAddress;
-
94  };
-
95 
-
100  virtual bool isReady() {
-
101  return bPollEnable;
-
102  };
-
103 
-
110  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
-
111  return ((vid == XBOX_VID || vid == MADCATZ_VID || vid == JOYTECH_VID) && pid == XBOX_WIRED_PID);
-
112  };
-
127  uint8_t getButtonPress(Button b);
-
128  bool getButtonClick(Button b);
-
137  int16_t getAnalogHat(AnalogHat a);
-
138 
-
140  void setAllOff() {
-
141  setRumbleOn(0, 0);
-
142  setLedRaw(0);
-
143  };
-
144 
-
146  void setRumbleOff() {
-
147  setRumbleOn(0, 0);
-
148  };
-
154  void setRumbleOn(uint8_t lValue, uint8_t rValue);
-
161  void setLedRaw(uint8_t value);
-
162 
-
164  void setLedOff() {
-
165  setLedRaw(0);
-
166  };
-
171  void setLedOn(LED l);
-
176  void setLedBlink(LED l);
-
181  void setLedMode(LEDMode lm);
-
182 
-
187  void attachOnInit(void (*funcOnInit)(void)) {
-
188  pFuncOnInit = funcOnInit;
-
189  };
-
193  bool Xbox360Connected;
-
194 
-
195 protected:
- -
199  uint8_t bAddress;
- -
202 
-
203 private:
-
209  void onInit();
-
210  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
-
211 
-
212  bool bPollEnable;
-
213 
-
214  /* Variables to store the buttons */
-
215  uint32_t ButtonState;
-
216  uint32_t OldButtonState;
-
217  uint16_t ButtonClickState;
-
218  int16_t hatValue[4];
-
219  uint16_t controllerStatus;
-
220 
-
221  bool L2Clicked; // These buttons are analog, so we use we use these bools to check if they where clicked or not
-
222  bool R2Clicked;
-
223 
-
224  uint8_t readBuf[EP_MAXPKTSIZE]; // General purpose buffer for input data
-
225  uint8_t writeBuf[8]; // General purpose buffer for output data
-
226 
-
227  void readReport(); // read incoming data
-
228  void printReport(); // print incoming date - Uncomment for debugging
-
229 
-
230  /* Private commands */
-
231  void XboxCommand(uint8_t* data, uint16_t nbytes);
-
232 };
-
233 #endif
+
53 #define XBOX_MAX_ENDPOINTS 3
+
54 
+
56 class XBOXUSB : public USBDeviceConfig {
+
57 public:
+
62  XBOXUSB(USB *pUsb);
+
63 
+
72  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
77  virtual uint8_t Release();
+
82  virtual uint8_t Poll();
+
83 
+
88  virtual uint8_t GetAddress() {
+
89  return bAddress;
+
90  };
+
91 
+
96  virtual bool isReady() {
+
97  return bPollEnable;
+
98  };
+
99 
+
106  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
+
107  return ((vid == XBOX_VID || vid == MADCATZ_VID || vid == JOYTECH_VID || vid == GAMESTOP_VID) && (pid == XBOX_WIRED_PID || pid == GAMESTOP_WIRED_PID));
+
108  };
+
123  uint8_t getButtonPress(Button b);
+
124  bool getButtonClick(Button b);
+
133  int16_t getAnalogHat(AnalogHat a);
+
134 
+
136  void setAllOff() {
+
137  setRumbleOn(0, 0);
+
138  setLedRaw(0);
+
139  };
+
140 
+
142  void setRumbleOff() {
+
143  setRumbleOn(0, 0);
+
144  };
+
150  void setRumbleOn(uint8_t lValue, uint8_t rValue);
+
157  void setLedRaw(uint8_t value);
+
158 
+
160  void setLedOff() {
+
161  setLedRaw(0);
+
162  };
+
167  void setLedOn(LED l);
+
172  void setLedBlink(LED l);
+
177  void setLedMode(LEDMode lm);
+
178 
+
183  void attachOnInit(void (*funcOnInit)(void)) {
+
184  pFuncOnInit = funcOnInit;
+
185  };
+
189  bool Xbox360Connected;
+
190 
+
191 protected:
+ +
195  uint8_t bAddress;
+ +
198 
+
199 private:
+
205  void onInit();
+
206  void (*pFuncOnInit)(void); // Pointer to function called in onInit()
+
207 
+
208  bool bPollEnable;
+
209 
+
210  /* Variables to store the buttons */
+
211  uint32_t ButtonState;
+
212  uint32_t OldButtonState;
+
213  uint16_t ButtonClickState;
+
214  int16_t hatValue[4];
+
215  uint16_t controllerStatus;
+
216 
+
217  bool L2Clicked; // These buttons are analog, so we use we use these bools to check if they where clicked or not
+
218  bool R2Clicked;
+
219 
+
220  uint8_t readBuf[EP_MAXPKTSIZE]; // General purpose buffer for input data
+
221  uint8_t writeBuf[8]; // General purpose buffer for output data
+
222 
+
223  void readReport(); // read incoming data
+
224  void printReport(); // print incoming date - Uncomment for debugging
+
225 
+
226  /* Private commands */
+
227  void XboxCommand(uint8_t* data, uint16_t nbytes);
+
228 };
+
229 #endif
+
#define XBOX_WIRED_PID
Definition: XBOXUSB.h:41
+
#define MADCATZ_VID
Definition: XBOXUSB.h:37
+
#define XBOX_MAX_ENDPOINTS
Definition: XBOXUSB.h:53
+
#define JOYTECH_VID
Definition: XBOXUSB.h:38
+ +
void setLedMode(LEDMode lm)
Definition: XBOXUSB.cpp:335
+
USB * pUsb
Definition: XBOXUSB.h:193
+
void setLedOff()
Definition: XBOXUSB.h:160
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: XBOXUSB.cpp:38
+
uint8_t getButtonPress(Button b)
Definition: XBOXUSB.cpp:280
+ + +
virtual bool isReady()
Definition: XBOXUSB.h:96
+ +
bool getButtonClick(Button b)
Definition: XBOXUSB.cpp:288
+
void attachOnInit(void(*funcOnInit)(void))
Definition: XBOXUSB.h:183
+
int16_t getAnalogHat(AnalogHat a)
Definition: XBOXUSB.cpp:308
+
uint8_t bAddress
Definition: XBOXUSB.h:195
+
Definition: address.h:32
+
bool Xbox360Connected
Definition: XBOXUSB.h:185
+
LEDMode
Definition: xboxEnums.h:24
+
#define XBOX_VID
Definition: XBOXUSB.h:36
+
void setRumbleOn(uint8_t lValue, uint8_t rValue)
Definition: XBOXUSB.cpp:339
+
XBOXUSB(USB *pUsb)
Definition: XBOXUSB.cpp:23
+
virtual uint8_t GetAddress()
Definition: XBOXUSB.h:88
+
#define GAMESTOP_VID
Definition: XBOXUSB.h:39
+
void setLedBlink(LED l)
Definition: XBOXUSB.cpp:331
+
#define EP_MAXPKTSIZE
Definition: XBOXUSB.h:25
+
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: XBOXUSB.h:106
+
void setRumbleOff()
Definition: XBOXUSB.h:142
+
void setLedOn(LED l)
Definition: XBOXUSB.cpp:326
+
void setLedRaw(uint8_t value)
Definition: XBOXUSB.cpp:318
+
Button
+ +
Definition: UsbCore.h:152
+
void setAllOff()
Definition: XBOXUSB.h:136
+
virtual uint8_t Release()
Definition: XBOXUSB.cpp:221
+
AnalogHat
+
virtual uint8_t Poll()
Definition: XBOXUSB.cpp:229
+
EpInfo epInfo[XBOX_MAX_ENDPOINTS]
Definition: XBOXUSB.h:197
+
#define GAMESTOP_WIRED_PID
Definition: XBOXUSB.h:45
diff --git a/address_8h.html b/address_8h.html index 6e65206b..90b4f233 100644 --- a/address_8h.html +++ b/address_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: address.h File Reference @@ -31,7 +31,7 @@ - + @@ -93,24 +93,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
address.h File Reference
-
#include <inttypes.h>
-#include <stddef.h>
-#include "max3421e.h"
-
-Include dependency graph for address.h:
-
-
- - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - -
-
+

Go to the source code of this file.

diff --git a/address_8h_source.html b/address_8h_source.html index 3613f1a8..31db7a11 100644 --- a/address_8h_source.html +++ b/address_8h_source.html @@ -3,7 +3,7 @@ - +USB Host Shield 2.0: address.h Source File @@ -31,7 +31,7 @@

@@ -299,7 +282,7 @@ Typedefs

- + @@ -105,32 +105,32 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
14 Web : http://www.circuitsathome.com
15 e-mail : support@circuitsathome.com
16  */
-
17 #if !defined(__ADDRESS_H__)
-
18 #define __ADDRESS_H__
-
19 
-
20 #include <inttypes.h>
-
21 #include <stddef.h>
-
22 #include "max3421e.h"
+
17 
+
18 #if !defined(_usb_h_) || defined(__ADDRESS_H__)
+
19 #error "Never include address.h directly; include Usb.h instead"
+
20 #else
+
21 #define __ADDRESS_H__
+
22 
23 
24 
25 /* NAK powers. To save space in endpoint data structure, amount of retries before giving up and returning 0x4 is stored in */
26 /* bmNakPower as a power of 2. The actual nak_limit is then calculated as nak_limit = ( 2^bmNakPower - 1) */
-
27 #define USB_NAK_MAX_POWER 15 //NAK binary order maximum value
-
28 #define USB_NAK_DEFAULT 14 //default 32K-1 NAKs before giving up
-
29 #define USB_NAK_NOWAIT 1 //Single NAK stops transfer
-
30 #define USB_NAK_NONAK 0 //Do not count NAKs, stop retrying after USB Timeout
+
27 #define USB_NAK_MAX_POWER 15 //NAK binary order maximum value
+
28 #define USB_NAK_DEFAULT 14 //default 32K-1 NAKs before giving up
+
29 #define USB_NAK_NOWAIT 1 //Single NAK stops transfer
+
30 #define USB_NAK_NONAK 0 //Do not count NAKs, stop retrying after USB Timeout
31 
-
32 struct EpInfo {
-
33  uint8_t epAddr; // Endpoint address
-
34  uint8_t maxPktSize; // Maximum packet size
+
32 struct EpInfo {
+
33  uint8_t epAddr; // Endpoint address
+
34  uint8_t maxPktSize; // Maximum packet size
35 
36  union {
-
37  uint8_t epAttribs;
+
37  uint8_t epAttribs;
38 
39  struct {
-
40  uint8_t bmSndToggle : 1; // Send toggle, when zero bmSNDTOG0, bmSNDTOG1 otherwise
-
41  uint8_t bmRcvToggle : 1; // Send toggle, when zero bmRCVTOG0, bmRCVTOG1 otherwise
-
42  uint8_t bmNakPower : 6; // Binary order for NAK_LIMIT value
+
40  uint8_t bmSndToggle : 1; // Send toggle, when zero bmSNDTOG0, bmSNDTOG1 otherwise
+
41  uint8_t bmRcvToggle : 1; // Send toggle, when zero bmRCVTOG0, bmRCVTOG1 otherwise
+
42  uint8_t bmNakPower : 6; // Binary order for NAK_LIMIT value
43  } __attribute__((packed));
44  };
45 } __attribute__((packed));
@@ -145,46 +145,46 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
54 // A - device address / port number in case of hub
55 //
56 
- +
58 
59  union {
60 
61  struct {
-
62  uint8_t bmAddress : 3; // device address/port number
-
63  uint8_t bmParent : 3; // parent hub address
-
64  uint8_t bmHub : 1; // hub flag
-
65  uint8_t bmReserved : 1; // reserved, must be zerro
+
62  uint8_t bmAddress : 3; // device address/port number
+
63  uint8_t bmParent : 3; // parent hub address
+
64  uint8_t bmHub : 1; // hub flag
+
65  uint8_t bmReserved : 1; // reserved, must be zerro
66  } __attribute__((packed));
-
67  uint8_t devAddress;
+
67  uint8_t devAddress;
68  };
69 } __attribute__((packed));
70 
-
71 #define bmUSB_DEV_ADDR_ADDRESS 0x07
-
72 #define bmUSB_DEV_ADDR_PARENT 0x38
-
73 #define bmUSB_DEV_ADDR_HUB 0x40
+
71 #define bmUSB_DEV_ADDR_ADDRESS 0x07
+
72 #define bmUSB_DEV_ADDR_PARENT 0x38
+
73 #define bmUSB_DEV_ADDR_HUB 0x40
74 
-
75 struct UsbDevice {
-
76  EpInfo *epinfo; // endpoint info pointer
-
77  uint8_t address; // address
-
78  uint8_t epcount; // number of endpoints
-
79  bool lowspeed; // indicates if a device is the low speed one
+
75 struct UsbDevice {
+
76  EpInfo *epinfo; // endpoint info pointer
+
77  uint8_t address; // address
+
78  uint8_t epcount; // number of endpoints
+
79  bool lowspeed; // indicates if a device is the low speed one
80  // uint8_t devclass; // device class
81 } __attribute__((packed));
82 
-
83 class AddressPool {
+
83 class AddressPool {
84 public:
85  virtual UsbDevice* GetUsbDevicePtr(uint8_t addr) = 0;
86  virtual uint8_t AllocAddress(uint8_t parent, bool is_hub = false, uint8_t port = 0) = 0;
87  virtual void FreeAddress(uint8_t addr) = 0;
88 };
89 
-
90 typedef void (*UsbDeviceHandleFunc)(UsbDevice *pdev);
+
90 typedef void (*UsbDeviceHandleFunc)(UsbDevice *pdev);
91 
-
92 #define ADDR_ERROR_INVALID_INDEX 0xFF
-
93 #define ADDR_ERROR_INVALID_ADDRESS 0xFF
+
92 #define ADDR_ERROR_INVALID_INDEX 0xFF
+
93 #define ADDR_ERROR_INVALID_ADDRESS 0xFF
94 
95 template <const uint8_t MAX_DEVICES_ALLOWED>
-
96 class AddressPoolImpl : public AddressPool {
+
96 class AddressPoolImpl : public AddressPool {
97  EpInfo dev0ep; //Endpoint data structure used during enumeration for uninitialized device
98 
99  uint8_t hubCounter; // hub counter is kept
@@ -247,7 +247,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
156 
157 public:
158 
-
159  AddressPoolImpl() : hubCounter(0) {
+
159  AddressPoolImpl() : hubCounter(0) {
160  // Zero address is reserved
161  InitEntry(0);
162 
@@ -262,7 +262,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
171  };
172  // Returns a pointer to a specified address entry
173 
-
174  virtual UsbDevice* GetUsbDevicePtr(uint8_t addr) {
+
174  virtual UsbDevice* GetUsbDevicePtr(uint8_t addr) {
175  if(!addr)
176  return thePool;
177 
@@ -273,7 +273,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
182 
183  // Performs an operation specified by pfunc for each addressed device
184 
- +
186  if(!pfunc)
187  return;
188 
@@ -283,7 +283,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
192  };
193  // Allocates new address
194 
-
195  virtual uint8_t AllocAddress(uint8_t parent, bool is_hub = false, uint8_t port = 0) {
+
195  virtual uint8_t AllocAddress(uint8_t parent, bool is_hub = false, uint8_t port = 0) {
196  /* if (parent != 0 && port == 0)
197  USB_HOST_SERIAL.println("PRT:0"); */
198 
@@ -310,63 +310,94 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
219  }
220 
221  UsbDeviceAddress addr;
-
222 
-
223  addr.bmParent = ((UsbDeviceAddress*) & parent)->bmAddress;
-
224 
-
225  if(is_hub) {
-
226  addr.bmHub = 1;
-
227  addr.bmAddress = ++hubCounter;
-
228  } else {
-
229  addr.bmHub = 0;
-
230  addr.bmAddress = port;
-
231  }
-
232  thePool[index].address = *((uint8_t*) & addr);
-
233  /*
-
234  USB_HOST_SERIAL.print("Addr:");
-
235  USB_HOST_SERIAL.print(addr.bmHub, HEX);
-
236  USB_HOST_SERIAL.print(".");
-
237  USB_HOST_SERIAL.print(addr.bmParent, HEX);
-
238  USB_HOST_SERIAL.print(".");
-
239  USB_HOST_SERIAL.println(addr.bmAddress, HEX);
-
240  */
-
241  return thePool[index].address;
-
242  };
-
243  // Empties pool entry
-
244 
-
245  virtual void FreeAddress(uint8_t addr) {
-
246  // if the root hub is disconnected all the addresses should be initialized
-
247  if(addr == 0x41) {
-
248  InitAllAddresses();
-
249  return;
-
250  }
-
251  uint8_t index = FindAddressIndex(addr);
-
252  FreeAddressByIndex(index);
-
253  };
-
254  // Returns number of hubs attached
-
255  // It can be rather helpfull to find out if there are hubs attached than getting the exact number of hubs.
-
256  //uint8_t GetNumHubs()
-
257  //{
-
258  // return hubCounter;
-
259  //};
-
260  //uint8_t GetNumDevices()
-
261  //{
-
262  // uint8_t counter = 0;
-
263 
-
264  // for (uint8_t i=1; i<MAX_DEVICES_ALLOWED; i++)
-
265  // if (thePool[i].address != 0);
-
266  // counter ++;
-
267 
-
268  // return counter;
-
269  //};
-
270 };
-
271 
-
272 #endif // __ADDRESS_H__
+
222  addr.devAddress = 0; // Ensure all bits are zero
+
223 
+
224  addr.bmParent = ((UsbDeviceAddress*) & parent)->bmAddress;
+
225 
+
226  if(is_hub) {
+
227  addr.bmHub = 1;
+
228  addr.bmAddress = ++hubCounter;
+
229  } else {
+
230  addr.bmHub = 0;
+
231  addr.bmAddress = port;
+
232  }
+
233  thePool[index].address = *((uint8_t*) & addr);
+
234  /*
+
235  USB_HOST_SERIAL.print("Addr:");
+
236  USB_HOST_SERIAL.print(addr.bmHub, HEX);
+
237  USB_HOST_SERIAL.print(".");
+
238  USB_HOST_SERIAL.print(addr.bmParent, HEX);
+
239  USB_HOST_SERIAL.print(".");
+
240  USB_HOST_SERIAL.println(addr.bmAddress, HEX);
+
241  */
+
242  return thePool[index].address;
+
243  };
+
244  // Empties pool entry
+
245 
+
246  virtual void FreeAddress(uint8_t addr) {
+
247  // if the root hub is disconnected all the addresses should be initialized
+
248  if(addr == 0x41) {
+
249  InitAllAddresses();
+
250  return;
+
251  }
+
252  uint8_t index = FindAddressIndex(addr);
+
253  FreeAddressByIndex(index);
+
254  };
+
255  // Returns number of hubs attached
+
256  // It can be rather helpfull to find out if there are hubs attached than getting the exact number of hubs.
+
257  //uint8_t GetNumHubs()
+
258  //{
+
259  // return hubCounter;
+
260  //};
+
261  //uint8_t GetNumDevices()
+
262  //{
+
263  // uint8_t counter = 0;
+
264 
+
265  // for (uint8_t i=1; i<MAX_DEVICES_ALLOWED; i++)
+
266  // if (thePool[i].address != 0);
+
267  // counter ++;
+
268 
+
269  // return counter;
+
270  //};
+
271 };
+
272 
+
273 #endif // __ADDRESS_H__
+
uint8_t bmRcvToggle
Definition: address.h:41
+ +
EpInfo * epinfo
Definition: address.h:76
+
bool lowspeed
Definition: address.h:79
+
uint8_t bmNakPower
Definition: address.h:42
+ + +
uint8_t bmReserved
Definition: address.h:65
+
virtual void FreeAddress(uint8_t addr)=0
+
uint8_t epAttribs
Definition: address.h:37
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
uint8_t epAddr
Definition: address.h:33
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)
Definition: address.h:174
+
void(* UsbDeviceHandleFunc)(UsbDevice *pdev)
Definition: address.h:90
+
Definition: address.h:32
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
uint8_t bmSndToggle
Definition: address.h:40
+
uint8_t devAddress
Definition: address.h:67
+
uint8_t bmAddress
Definition: address.h:62
+
uint8_t bmParent
Definition: address.h:63
+ +
uint8_t epcount
Definition: address.h:78
+
void ForEachUsbDevice(UsbDeviceHandleFunc pfunc)
Definition: address.h:185
+
uint8_t maxPktSize
Definition: address.h:34
+
uint8_t address
Definition: address.h:77
+
virtual void FreeAddress(uint8_t addr)
Definition: address.h:246
+ +
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)
Definition: address.h:195
+
uint8_t bmHub
Definition: address.h:64
diff --git a/adk_8cpp.html b/adk_8cpp.html index a80f6a3c..5a467497 100644 --- a/adk_8cpp.html +++ b/adk_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: adk.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for adk.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for adk.cpp: diff --git a/adk_8cpp__incl.map b/adk_8cpp__incl.map index 647da2b7..9aeec6c2 100644 --- a/adk_8cpp__incl.map +++ b/adk_8cpp__incl.map @@ -1,14 +1,4 @@ - - - - - - - - - - - - + + diff --git a/adk_8cpp__incl.md5 b/adk_8cpp__incl.md5 index 2062add1..a794ca89 100644 --- a/adk_8cpp__incl.md5 +++ b/adk_8cpp__incl.md5 @@ -1 +1 @@ -22a1d6c17eb44da2442e9541f592fe47 \ No newline at end of file +d6ef7cc264e9225e78397a4cf8f08152 \ No newline at end of file diff --git a/adk_8cpp__incl.png b/adk_8cpp__incl.png index 26bc548b6a459353ddd446f9eb3b144067d9181d..9a19e07671283d0406d9a6016080046b85db9d05 100644 GIT binary patch literal 4070 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 literal 137354 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 diff --git a/adk_8cpp_source.html b/adk_8cpp_source.html index f2dfa0ff..51f4de0e 100644 --- a/adk_8cpp_source.html +++ b/adk_8cpp_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: adk.cpp Source File @@ -31,7 +31,7 @@ - + @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
22 const uint8_t ADK::epDataInIndex = 1;
23 const uint8_t ADK::epDataOutIndex = 2;
24 
-
25 ADK::ADK(USB *p, const char* manufacturer,
+
25 ADK::ADK(USB *p, const char* manufacturer,
26  const char* model,
27  const char* description,
28  const char* version,
@@ -149,12 +149,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
58  }
59 }
60 
-
61 uint8_t ADK::ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed) {
+
61 uint8_t ADK::ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed) {
62  return Init(parent, port, lowspeed); // Just call Init. Yes, really!
63 }
64 
65 /* Connection initialization of an Android phone */
-
66 uint8_t ADK::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
66 uint8_t ADK::Init(uint8_t parent, uint8_t port, bool lowspeed) {
67 
68  uint8_t buf[sizeof (USB_DEVICE_DESCRIPTOR)];
69  uint8_t rcode;
@@ -165,25 +165,25 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
74  // get memory address of USB device address pool
75  AddressPool &addrPool = pUsb->GetAddressPool();
76 
-
77  USBTRACE("\r\nADK Init");
+
77  USBTRACE("\r\nADK Init");
78 
79  // check if address has already been assigned to an instance
80  if (bAddress) {
-
81  USBTRACE("\r\nAddress in use");
- +
81  USBTRACE("\r\nAddress in use");
+
83  }
84 
85  // Get pointer to pseudo device with address 0 assigned
86  p = addrPool.GetUsbDevicePtr(0);
87 
88  if (!p) {
-
89  USBTRACE("\r\nAddress not found");
- +
89  USBTRACE("\r\nAddress not found");
+
91  }
92 
93  if (!p->epinfo) {
-
94  USBTRACE("epinfo is null\r\n");
- +
94  USBTRACE("epinfo is null\r\n");
+
96  }
97 
98  // Save old pointer to EP_RECORD of address 0
@@ -195,7 +195,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
104  p->lowspeed = lowspeed;
105 
106  // Get device descriptor
-
107  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf);
+
107  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf);
108 
109  // Restore p->epinfo
110  p->epinfo = oldep_ptr;
@@ -228,7 +228,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
137  //get pointer to assigned address record
138  p = addrPool.GetUsbDevicePtr(bAddress);
139  if (!p) {
- +
141  }
142 
143  p->lowspeed = lowspeed;
@@ -242,7 +242,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
151  //check if ADK device is already in accessory mode; if yes, configure and exit
152  if (((USB_DEVICE_DESCRIPTOR*)buf)->idVendor == ADK_VID &&
153  (((USB_DEVICE_DESCRIPTOR*)buf)->idProduct == ADK_PID || ((USB_DEVICE_DESCRIPTOR*)buf)->idProduct == ADB_PID)) {
-
154  USBTRACE("\r\nAcc.mode device detected");
+
154  USBTRACE("\r\nAcc.mode device detected");
155  /* go through configurations, find first bulk-IN, bulk-OUT EP, fill epInfo and quit */
156  num_of_conf = ((USB_DEVICE_DESCRIPTOR*)buf)->bNumConfigurations;
157 
@@ -289,7 +289,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
198  // USBTRACE2("\r\nMax.pkt.size: ", epInfo[epDataInIndex].maxPktSize );
199  // USBTRACE2("\r\nAttr: ", epInfo[epDataInIndex].epAttribs );
200 
-
201  USBTRACE("\r\nConfiguration successful");
+
201  USBTRACE("\r\nConfiguration successful");
202  ready = true;
203  return 0; //successful configuration
204  }//if( buf->idVendor == ADK_VID...
@@ -301,7 +301,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
210  if (rcode) {
211  goto FailGetProto; //init fails
212  }
-
213  USBTRACE2("\r\nADK protocol rev. ", adkproto);
+
213  USBTRACE2("\r\nADK protocol rev. ", adkproto);
214  }
215 
216  //sending ID strings
@@ -318,7 +318,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
227  if (rcode) {
228  goto FailSwAcc; //init fails
229  }
- +
231  delay(1000); // Give Android a chance to do its reset. This is a guess, and possibly could be lower.
232  goto SwAttempt; //switch to accessory mode attempted
233 
@@ -349,19 +349,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
258 
259 FailGetProto:
260 #ifdef DEBUG_USB_HOST
-
261  USBTRACE("\r\ngetProto:");
+
261  USBTRACE("\r\ngetProto:");
262  goto Fail;
263 #endif
264 
265 FailSwAcc:
266 #ifdef DEBUG_USB_HOST
-
267  USBTRACE("\r\nswAcc:");
+
267  USBTRACE("\r\nswAcc:");
268  goto Fail;
269 #endif
270 
271 SwAttempt:
272 #ifdef DEBUG_USB_HOST
-
273  USBTRACE("\r\nAccessory mode switch attempt");
+
273  USBTRACE("\r\nAccessory mode switch attempt");
274 #endif
275  //FailOnInit:
276  // USBTRACE("OnInit:");
@@ -375,7 +375,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
284 }
285 
286 /* Extracts bulk-IN and bulk-OUT endpoint information from config descriptor */
-
287 void ADK::EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *pep) {
+
287 void ADK::EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *pep) {
288  //ErrorMessage<uint8_t>(PSTR("Conf.Val"), conf);
289  //ErrorMessage<uint8_t>(PSTR("Iface Num"),iface);
290  //ErrorMessage<uint8_t>(PSTR("Alt.Set"), alt);
@@ -403,7 +403,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
312 }
313 
314 /* Performs a cleanup after failed Init() attempt */
-
315 uint8_t ADK::Release() {
+
315 uint8_t ADK::Release() {
317 
318  bNumEP = 1; //must have to be reset to 1
@@ -413,38 +413,108 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
322  return 0;
323 }
324 
-
325 uint8_t ADK::RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr) {
+
325 uint8_t ADK::RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr) {
326  //USBTRACE2("\r\nAddr: ", bAddress );
327  //USBTRACE2("\r\nEP: ",epInfo[epDataInIndex].epAddr);
328  return pUsb->inTransfer(bAddress, epInfo[epDataInIndex].epAddr, bytes_rcvd, dataptr);
329 }
330 
-
331 uint8_t ADK::SndData(uint16_t nbytes, uint8_t *dataptr) {
+
331 uint8_t ADK::SndData(uint16_t nbytes, uint8_t *dataptr) {
332  return pUsb->outTransfer(bAddress, epInfo[epDataOutIndex].epAddr, nbytes, dataptr);
333 }
334 
- +
336  Notify(PSTR("Endpoint descriptor:"), 0x80);
337  Notify(PSTR("\r\nLength:\t\t"), 0x80);
-
338  D_PrintHex<uint8_t > (ep_ptr->bLength, 0x80);
+
338  PrintHex<uint8_t > (ep_ptr->bLength, 0x80);
339  Notify(PSTR("\r\nType:\t\t"), 0x80);
-
340  D_PrintHex<uint8_t > (ep_ptr->bDescriptorType, 0x80);
+
340  PrintHex<uint8_t > (ep_ptr->bDescriptorType, 0x80);
341  Notify(PSTR("\r\nAddress:\t"), 0x80);
-
342  D_PrintHex<uint8_t > (ep_ptr->bEndpointAddress, 0x80);
+
342  PrintHex<uint8_t > (ep_ptr->bEndpointAddress, 0x80);
343  Notify(PSTR("\r\nAttributes:\t"), 0x80);
-
344  D_PrintHex<uint8_t > (ep_ptr->bmAttributes, 0x80);
+
344  PrintHex<uint8_t > (ep_ptr->bmAttributes, 0x80);
345  Notify(PSTR("\r\nMaxPktSize:\t"), 0x80);
-
346  D_PrintHex<uint16_t > (ep_ptr->wMaxPacketSize, 0x80);
+
346  PrintHex<uint16_t > (ep_ptr->wMaxPacketSize, 0x80);
347  Notify(PSTR("\r\nPoll Intrv:\t"), 0x80);
-
348  D_PrintHex<uint8_t > (ep_ptr->bInterval, 0x80);
+
348  PrintHex<uint8_t > (ep_ptr->bInterval, 0x80);
349  Notify(PSTR("\r\n"), 0x80);
350 }
+
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
Definition: Usb.cpp:761
+ +
#define ADB_PID
Definition: adk.h:27
+
#define ACCESSORY_STRING_MODEL
Definition: adk.h:39
+
static const uint8_t epDataInIndex
Definition: adk.h:65
+
uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr)
Definition: adk.cpp:325
+
EpInfo * epinfo
Definition: address.h:76
+
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+ +
virtual uint8_t Release()
Definition: adk.cpp:315
+ +
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr)
Definition: adk.cpp:331
+ + + +
#define ACCESSORY_STRING_URI
Definition: adk.h:42
+
#define ACCESSORY_STRING_MANUFACTURER
Definition: adk.h:38
+
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: adk.cpp:287
+
USB * pUsb
Definition: adk.h:69
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)
Definition: adk.cpp:61
+
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
static const uint8_t epDataOutIndex
Definition: adk.h:66
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
#define ADK_PID
Definition: adk.h:26
+
virtual void FreeAddress(uint8_t addr)=0
+
uint8_t epAttribs
Definition: address.h:37
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
#define Notify(...)
Definition: message.h:44
+ + +
#define USBTRACE2(s, r)
Definition: macros.h:61
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
#define NotifyFailGetConfDescr(...)
Definition: message.h:52
+
uint8_t epAddr
Definition: address.h:33
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+
bool ready
Definition: adk.h:74
+
#define ACCESSORY_STRING_SERIAL
Definition: adk.h:43
+
Definition: address.h:32
+
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:290
+
uint16_t wMaxPacketSize
Definition: usb_ch9.h:146
+
#define ACCESSORY_STRING_VERSION
Definition: adk.h:41
+
ADK(USB *pUsb, const char *manufacturer, const char *model, const char *description, const char *version, const char *uri, const char *serial)
Definition: adk.cpp:25
+
EpInfo epInfo[ADK_MAX_ENDPOINTS]
Definition: adk.h:77
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
uint8_t bEndpointAddress
Definition: usb_ch9.h:144
+
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+
#define ADK_MAX_ENDPOINTS
Definition: adk.h:45
+ +
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
Definition: adk.cpp:335
+
#define USB_NAK_NOWAIT
Definition: address.h:29
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: adk.cpp:66
+
Definition: UsbCore.h:152
+
#define ACCESSORY_STRING_DESCRIPTION
Definition: adk.h:40
+
uint8_t bNumEP
Definition: adk.h:73
+
#define ADK_VID
Definition: adk.h:25
+
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
uint8_t bConfNum
Definition: adk.h:71
+
#define USBTRACE(s)
Definition: macros.h:60
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+
uint8_t bAddress
Definition: adk.h:70
+
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET
Definition: UsbCore.h:72
+ diff --git a/adk_8h.html b/adk_8h.html index 00a179bc..8cd79904 100644 --- a/adk_8h.html +++ b/adk_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: adk.h File Reference @@ -31,7 +31,7 @@ - + @@ -92,31 +92,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
adk.h File Reference
-
#include <inttypes.h>
-#include <avr/pgmspace.h>
-#include "avrpins.h"
-#include "max3421e.h"
-#include "usbhost.h"
-#include "usb_ch9.h"
-#include "Usb.h"
-#include "Arduino.h"
-#include "printhex.h"
-#include "hexdump.h"
-#include "message.h"
-#include "confdescparser.h"
+
#include "Usb.h"
Include dependency graph for adk.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -170,7 +159,7 @@ Macros
-

Definition at line 43 of file adk.h.

+

Definition at line 25 of file adk.h.

@@ -184,7 +173,7 @@ Macros
-

Definition at line 44 of file adk.h.

+

Definition at line 26 of file adk.h.

@@ -198,7 +187,7 @@ Macros
-

Definition at line 45 of file adk.h.

+

Definition at line 27 of file adk.h.

@@ -212,7 +201,7 @@ Macros
-

Definition at line 49 of file adk.h.

+

Definition at line 31 of file adk.h.

@@ -226,7 +215,7 @@ Macros
-

Definition at line 50 of file adk.h.

+

Definition at line 32 of file adk.h.

@@ -240,7 +229,7 @@ Macros
-

Definition at line 51 of file adk.h.

+

Definition at line 33 of file adk.h.

@@ -254,7 +243,7 @@ Macros
-

Definition at line 53 of file adk.h.

+

Definition at line 35 of file adk.h.

@@ -268,7 +257,7 @@ Macros
-

Definition at line 54 of file adk.h.

+

Definition at line 36 of file adk.h.

@@ -282,7 +271,7 @@ Macros
-

Definition at line 56 of file adk.h.

+

Definition at line 38 of file adk.h.

@@ -296,7 +285,7 @@ Macros
-

Definition at line 57 of file adk.h.

+

Definition at line 39 of file adk.h.

@@ -310,7 +299,7 @@ Macros
-

Definition at line 58 of file adk.h.

+

Definition at line 40 of file adk.h.

@@ -324,7 +313,7 @@ Macros
-

Definition at line 59 of file adk.h.

+

Definition at line 41 of file adk.h.

@@ -338,7 +327,7 @@ Macros
-

Definition at line 60 of file adk.h.

+

Definition at line 42 of file adk.h.

@@ -352,7 +341,7 @@ Macros
-

Definition at line 61 of file adk.h.

+

Definition at line 43 of file adk.h.

@@ -366,7 +355,7 @@ Macros
-

Definition at line 63 of file adk.h.

+

Definition at line 45 of file adk.h.

@@ -375,7 +364,7 @@ Macros diff --git a/adk_8h__dep__incl.map b/adk_8h__dep__incl.map index 42ffc63d..f9c307f6 100644 --- a/adk_8h__dep__incl.map +++ b/adk_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/adk_8h__dep__incl.md5 b/adk_8h__dep__incl.md5 index 59bd7ba7..ddb1727d 100644 --- a/adk_8h__dep__incl.md5 +++ b/adk_8h__dep__incl.md5 @@ -1 +1 @@ -7415f18909a82a0e8e3e1084341b5721 \ No newline at end of file +c99e1b47b64e7d137c66cdf8662c2d34 \ No newline at end of file diff --git a/adk_8h__dep__incl.png b/adk_8h__dep__incl.png index 7203aad87c6521253ffa26c09d39d90f678ef96d..452deec95ed42eb3c6ec9f02b367c18b9c5e4b20 100644 GIT binary patch literal 2776 zcmcJR`#%%&QKFDO8hNt|MoU$M^gT-yh!Z_Ya@f5AXNq{dhcI?+jEn7Sq5-005#7?QM{l8v;u{v3L|#!EcDNP+IvxC7M>Mf8GZ7TIxu8s^Dpx z&u_($+fvdpIk{kB(TT2`QeP_Oi%8vv9b)TB!B0wUYHHFwnl_u0c)b3vVFO{yraamN zts}gyykBj2Jb3w&Pv~-De|wU-V|^~v4vdK?e^PJ^s00Jqap)l&IVop@jEI2fjc@L8 z8{Z0K^P)}%G%m2CfbL@Qo^c5<&1G4uTgXe2Y=R`UX9f0d`WO12Pyvrw1r$0 zfIf3mf=xKfYsZN)bg|Dk-$&}c?(?=7G2e$tzJhEM6ktWld(Izu+PLaK*_^22iM4o z{`Y_851J?KtffKqeI0YutqUukTx=?n*YR-XSMa5zcc|Kh?D4m^{R6X@hQ;UZQm#(s1nyzuD<5u2 zsG8Z><){@Lx}BMsm&lCzB6@^TsPBj7Z7w}3DN)(o+iAS)J@G8;QEF;xfB?Cxj|va@ z`cH*n`3u6518-}&nK2iHJZ}k^B0H(A?d?P>nhnq_^LF^(;`XT{u_kzcW@zpIQqU}Z zv({1h;L>TpN)ea;7%qqX`&ByR(dNevCc`Re;DMI-i8Sm223Ad+f9)E~IBfibAqHS|{f9TjDzR1EC3SXp<9ki~)(=c$5Gpe%L@sqkwQf?` zzoW>S*zpM7JWA-)p}<0Z3n$;v8K3c7h{}#%olSFu<3~AH;od_=Qy&A2ECXJHv0*pa zgIO>B+<4ueQPGgG5|67=&WqJTC~{?TGAUyd2B83fqQ|p62e!9w zyd01{qibq9R1@_DKlN#cxIQzyugYy%LH|EKAa63xjW+Ag|eOOY&5;Xpah+U{ZNXOk1DN~T40hfC3k~pwVncUTkbj(7Z2C1BuhbsPD%Mn45(*>23@@^c{rn1%aF_>Z_`Vbmp%(Uz`bZe=~e{f9vq> z#z>iWp6Iiwrp+`nu-!yW;% z+#a2~W7u#oGO{|?gYB+U0E%g*h{13vryFoM&Z%5MJq{hz-CI_QY(&VkAjr_eM>Erf z`hfP+Bv)Zb$-U`zknML8NDR2eAuCl#jQ^N?ajfU}#r3X9AGJ5eoT>JBtudSZ6ae%F z+$($amT-1B5$Nk!%5 z`a(mXNX(Cq#RwlC3_|1MV^94`p->c^plTG973e2~is7U2OJfuUBgcns&Ppx#BoVxu zM!-J9p9rbH>x4$@jkm40Ezg<9lM^0yzK-g6bF8xXgQto~1Y#N@BI#w|U)Pezd&cl5 z+~`VW&VHzIo8=QW;Gc5)hQy#4g{>cxvW~X88&ExO?eV5it!)D#=GN_u4Cy^_?NQce z%c6=4wHKQl3f>~_Dv?q(!s#J10TKi`E9^FyEup^scywc?iM2pQY4SV zHWFmndir5MrrJZHb7yDPMI1RMKiOthjR=GFHufO~zh`O;_i2N!?=5x%LWD>M$9H~8Z%o%xjww|a!u1<&Ev-@;wv2w1e*yC z4!6ft04tZ{g;kBwjLz6Ybo6UvQU{<@%6pOv$)`|Gz8!QS{Mw7X;L&u&-9GY;sdxx@ z-jtn~zO4sX)IyJ}Jc0i#@g}dq965X+HY4AMW<`B`@@(7+NdU8(s2WV_TW7^WpG~&L$R?;|);98Tn5Gb4|J!aH@mCB6tjpIw@XN{cAvux` zRLpU)3k+4Ynm$L*Ne94agMrYc_4Kjod!EVNcDdl78U-hs#R*I>d`^-P8Ao7|DTCZ8O-!5@E<(jVlH@*oy-5!} z5b|7yHvhBo>eo3o6d!s!kAE8}c*4-)An7{slgw literal 1426 zcmV;D1#S9?P)1;LGqrF0=`8mkN2kOrGuv5GXluCJ>_uOOtvsxdkyG4r^K>9y0?PK-Ho zZbRqW{pZZg|8e*;|0FphV_6nL5c&Tt@IWMQyo9PZAuzYNxY*IrflbASqN1YK*4CfR z$^`Bw<>loTizO!~M;tLB>~{P1_O^hV(0T(vPEJl|XD4ba|5z-R?(S}Z146aFC2zb) z-aMW?djQd;0WgFnNPrZu8brKa7wYRrtG#b5LuSTQk>+6e)i=!xto6X9~ zN=!@~92_hzEE~aee;b&nNeR zs||u606;Fs)DWb;gBQsgFQMw~=YF!jzTVW-^sq~Ny-@_=mdU6GoO^zLE_{HHcSA$N z15$EaT`AYr{zy)~OiOb<>tbpo?OeJ2>Yx~7MR|4c}TUR~{$%Y*IecM+w&8HSyj zS^3iuZ>PpT2y#1OTN{@$#irj1;1Hzj|dQ2n7Imz4Y|7)$65^r$Fz0 zb3@I{tWnfgSEtkS{{7#`v!M5W_ioqa^4x|5A?IoxE$F=s1}p!mkfLa#al_@hL7N4! zH%WR-rcIh=_=9dY_4e&H+C+%GjmE!jEBjjxxy)erh&B;oZ-e3E-S3Vx&CJd1I2>qx zf#5*teRf99&+q#b2?xuvZ{BPm%!ShX_3MovN&^7P!qgPX287aEsZ{)Iie*`@6Cr~Y zjie;q%*?7t7Z26%4U#urByYS(-guF`@gjNSMe@dr$|5>%Fm7US3X;B!47S>s#{1%kS;o-rf!XFJ8PjJUm2lLBF8! z-r3m!fWyN>pHIDb1ib&-X0x@lw8Y29XJ%#=7Z>;S_0crVU*`V){-mU&%F0Rr*x%pp z>grOdRApslySuwqs}%qW3k!8RU2ktMKMYhO;Ps{`s=mHnqtT3wjSUP8G&eVojEpeM z*KH7OZEa^~XPh(u3=IwS^z@95jz&a8oS&c9*4FCv`sL+im&@f7itar=K0ZG`pOKNF zR4OknF4Sr@06cp1h?^}dD_dAta5}&4Ew$V2(b3TWpin3PAR!?E08}a!w>jS@42XbF zP^;A|D=W{RKfk%TDJdzbudh!`O!Rua+^j~UNli`F>2%fA)q8t;4Gj&Ajg8^q;Uy&{ z0HD+9a&vRDv$K^-<=rqa_)ULeVgl~5v%}$VFbw1Icqoc;yWJ#73LH#Pl*i*?S+=F6 zWov88;c#%{KA|vLtyZhm{`C3e{!0%3y`;kxfB*`Gf;%QJFE1u0hCBCe7$^wdC%Gq8 zRaF9Ep#0wb5LHhgq`Kn^QmmxNx gTHlg4UP9ITUxTo4?P_TE1ONa407*qoM6N<$f~N1mhyVZp diff --git a/adk_8h__incl.map b/adk_8h__incl.map index 8db56f9d..b3bc1b15 100644 --- a/adk_8h__incl.map +++ b/adk_8h__incl.map @@ -1,13 +1,3 @@ - - - - - - - - - - - + diff --git a/adk_8h__incl.md5 b/adk_8h__incl.md5 index 61adbdb5..12b6b5d1 100644 --- a/adk_8h__incl.md5 +++ b/adk_8h__incl.md5 @@ -1 +1 @@ -6eadaefbd54a8adf81cb7df1e42b7cca \ No newline at end of file +60a0d9759961c77b6c4712add13727e1 \ No newline at end of file diff --git a/adk_8h__incl.png b/adk_8h__incl.png index 9be04e2b0ea3bf921b8e1dd46907bd18732541c6..b7cb7f83d44ae424053bbefb207eaae2a4a63285 100644 GIT binary patch literal 2344 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

kS#?X9_s6fG?#`9F`> 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 S@L;2Kh`F(iQ3cZD{(k{X*Kc9~ diff --git a/adk_8h_source.html b/adk_8h_source.html index ed70e588..3998c2b2 100644 --- a/adk_8h_source.html +++ b/adk_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: adk.h Source File @@ -31,7 +31,7 @@ - + @@ -111,144 +111,163 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

20 #if !defined(_ADK_H_)
21 #define _ADK_H_
22 
-
23 #include <inttypes.h>
-
24 #include <avr/pgmspace.h>
-
25 #include "avrpins.h"
-
26 #include "max3421e.h"
-
27 #include "usbhost.h"
-
28 #include "usb_ch9.h"
-
29 #include "Usb.h"
+
23 #include "Usb.h"
+
24 
+
25 #define ADK_VID 0x18D1
+
26 #define ADK_PID 0x2D00
+
27 #define ADB_PID 0x2D01
+
28 
+
29 /* requests */
30 
-
31 #if defined(ARDUINO) && ARDUINO >=100
-
32 #include "Arduino.h"
-
33 #else
-
34 #include <WProgram.h>
-
35 #endif
-
36 
-
37 #include "printhex.h"
-
38 #include "hexdump.h"
-
39 #include "message.h"
-
40 
-
41 #include "confdescparser.h"
-
42 
-
43 #define ADK_VID 0x18D1
-
44 #define ADK_PID 0x2D00
-
45 #define ADB_PID 0x2D01
+
31 #define ADK_GETPROTO 51 //check USB accessory protocol version
+
32 #define ADK_SENDSTR 52 //send identifying string
+
33 #define ADK_ACCSTART 53 //start device in accessory mode
+
34 
+
35 #define bmREQ_ADK_GET USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_VENDOR|USB_SETUP_RECIPIENT_DEVICE
+
36 #define bmREQ_ADK_SEND USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_VENDOR|USB_SETUP_RECIPIENT_DEVICE
+
37 
+
38 #define ACCESSORY_STRING_MANUFACTURER 0
+
39 #define ACCESSORY_STRING_MODEL 1
+
40 #define ACCESSORY_STRING_DESCRIPTION 2
+
41 #define ACCESSORY_STRING_VERSION 3
+
42 #define ACCESSORY_STRING_URI 4
+
43 #define ACCESSORY_STRING_SERIAL 5
+
44 
+
45 #define ADK_MAX_ENDPOINTS 3 //endpoint 0, bulk_IN, bulk_OUT
46 
-
47 /* requests */
+
47 class ADK;
48 
-
49 #define ADK_GETPROTO 51 //check USB accessory protocol version
-
50 #define ADK_SENDSTR 52 //send identifying string
-
51 #define ADK_ACCSTART 53 //start device in accessory mode
-
52 
-
53 #define bmREQ_ADK_GET USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_VENDOR|USB_SETUP_RECIPIENT_DEVICE
-
54 #define bmREQ_ADK_SEND USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_VENDOR|USB_SETUP_RECIPIENT_DEVICE
-
55 
-
56 #define ACCESSORY_STRING_MANUFACTURER 0
-
57 #define ACCESSORY_STRING_MODEL 1
-
58 #define ACCESSORY_STRING_DESCRIPTION 2
-
59 #define ACCESSORY_STRING_VERSION 3
-
60 #define ACCESSORY_STRING_URI 4
-
61 #define ACCESSORY_STRING_SERIAL 5
-
62 
-
63 #define ADK_MAX_ENDPOINTS 3 //endpoint 0, bulk_IN, bulk_OUT
-
64 
-
65 class ADK;
-
66 
-
67 class ADK : public USBDeviceConfig, public UsbConfigXtracter {
-
68 private:
-
69  /* ID strings */
-
70  const char* manufacturer;
-
71  const char* model;
-
72  const char* description;
-
73  const char* version;
-
74  const char* uri;
-
75  const char* serial;
-
76 
-
77  /* ADK proprietary requests */
-
78  uint8_t getProto(uint8_t* adkproto);
-
79  uint8_t sendStr(uint8_t index, const char* str);
-
80  uint8_t switchAcc(void);
-
81 
-
82 protected:
-
83  static const uint8_t epDataInIndex; // DataIn endpoint index
-
84  static const uint8_t epDataOutIndex; // DataOUT endpoint index
-
85 
-
86  /* mandatory members */
- -
88  uint8_t bAddress;
-
89  uint8_t bConfNum; // configuration number
-
90 
-
91  uint8_t bNumEP; // total number of EP in the configuration
-
92  bool ready;
+
49 class ADK : public USBDeviceConfig, public UsbConfigXtracter {
+
50 private:
+
51  /* ID strings */
+
52  const char* manufacturer;
+
53  const char* model;
+
54  const char* description;
+
55  const char* version;
+
56  const char* uri;
+
57  const char* serial;
+
58 
+
59  /* ADK proprietary requests */
+
60  uint8_t getProto(uint8_t* adkproto);
+
61  uint8_t sendStr(uint8_t index, const char* str);
+
62  uint8_t switchAcc(void);
+
63 
+
64 protected:
+
65  static const uint8_t epDataInIndex; // DataIn endpoint index
+
66  static const uint8_t epDataOutIndex; // DataOUT endpoint index
+
67 
+
68  /* mandatory members */
+ +
70  uint8_t bAddress;
+
71  uint8_t bConfNum; // configuration number
+
72 
+
73  uint8_t bNumEP; // total number of EP in the configuration
+
74  bool ready;
+
75 
+
76  /* Endpoint data structure */
+ +
78 
+ +
80 
+
81 public:
+
82  ADK(USB *pUsb, const char* manufacturer,
+
83  const char* model,
+
84  const char* description,
+
85  const char* version,
+
86  const char* uri,
+
87  const char* serial);
+
88 
+
89  // Methods for receiving and sending data
+
90  uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr);
+
91  uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
+
92 
93 
-
94  /* Endpoint data structure */
- -
96 
- +
94  // USBDeviceConfig implementation
+
95  virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
+
96  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
97  virtual uint8_t Release();
98 
-
99 public:
-
100  ADK(USB *pUsb, const char* manufacturer,
-
101  const char* model,
-
102  const char* description,
-
103  const char* version,
-
104  const char* uri,
-
105  const char* serial);
+
99  virtual uint8_t Poll() {
+
100  return 0;
+
101  };
+
102 
+
103  virtual uint8_t GetAddress() {
+
104  return bAddress;
+
105  };
106 
-
107  // Methods for receiving and sending data
-
108  uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr);
-
109  uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
+
107  virtual bool isReady() {
+
108  return ready;
+
109  };
110 
-
111 
-
112  // USBDeviceConfig implementation
-
113  virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed);
-
114  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
115  virtual uint8_t Release();
-
116 
-
117  virtual uint8_t Poll() {
-
118  return 0;
-
119  };
+
111  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
+
112  return (vid == ADK_VID && (pid == ADK_PID || pid == ADB_PID));
+
113  };
+
114 
+
115  //UsbConfigXtracter implementation
+
116  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
+
117 }; //class ADK : public USBDeviceConfig ...
+
118 
+
119 /* get ADK protocol version */
120 
-
121  virtual uint8_t GetAddress() {
-
122  return bAddress;
-
123  };
-
124 
-
125  virtual bool isReady() {
-
126  return ready;
-
127  };
-
128 
-
129  virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid) {
-
130  return (vid == ADK_VID && (pid == ADK_PID || pid == ADB_PID));
-
131  };
-
132 
-
133  //UsbConfigXtracter implementation
-
134  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
-
135 }; //class ADK : public USBDeviceConfig ...
-
136 
-
137 /* get ADK protocol version */
-
138 
-
139 /* returns 2 bytes in *adkproto */
-
140 inline uint8_t ADK::getProto(uint8_t* adkproto) {
-
141  return( pUsb->ctrlReq(bAddress, 0, bmREQ_ADK_GET, ADK_GETPROTO, 0, 0, 0, 2, 2, adkproto, NULL));
-
142 }
-
143 
-
144 /* send ADK string */
-
145 inline uint8_t ADK::sendStr(uint8_t index, const char* str) {
-
146  return( pUsb->ctrlReq(bAddress, 0, bmREQ_ADK_SEND, ADK_SENDSTR, 0, 0, index, strlen(str) + 1, strlen(str) + 1, (uint8_t*) str, NULL));
-
147 }
-
148 
-
149 /* switch to accessory mode */
-
150 inline uint8_t ADK::switchAcc(void) {
-
151  return( pUsb->ctrlReq(bAddress, 0, bmREQ_ADK_SEND, ADK_ACCSTART, 0, 0, 0, 0, 0, NULL, NULL));
-
152 }
-
153 
-
154 #endif // _ADK_H_
+
121 /* returns 2 bytes in *adkproto */
+
122 inline uint8_t ADK::getProto(uint8_t* adkproto) {
+
123  return( pUsb->ctrlReq(bAddress, 0, bmREQ_ADK_GET, ADK_GETPROTO, 0, 0, 0, 2, 2, adkproto, NULL));
+
124 }
+
125 
+
126 /* send ADK string */
+
127 inline uint8_t ADK::sendStr(uint8_t index, const char* str) {
+
128  return( pUsb->ctrlReq(bAddress, 0, bmREQ_ADK_SEND, ADK_SENDSTR, 0, 0, index, strlen(str) + 1, strlen(str) + 1, (uint8_t*) str, NULL));
+
129 }
+
130 
+
131 /* switch to accessory mode */
+
132 inline uint8_t ADK::switchAcc(void) {
+
133  return( pUsb->ctrlReq(bAddress, 0, bmREQ_ADK_SEND, ADK_ACCSTART, 0, 0, 0, 0, 0, NULL, NULL));
+
134 }
+
135 
+
136 #endif // _ADK_H_
+
#define ADB_PID
Definition: adk.h:27
+
static const uint8_t epDataInIndex
Definition: adk.h:65
+
uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr)
Definition: adk.cpp:325
+
virtual uint8_t Release()
Definition: adk.cpp:315
+
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr)
Definition: adk.cpp:331
+ +
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: adk.cpp:287
+
USB * pUsb
Definition: adk.h:69
+
virtual uint8_t ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)
Definition: adk.cpp:61
+
#define ADK_GETPROTO
Definition: adk.h:31
+ + +
virtual bool isReady()
Definition: adk.h:107
+
static const uint8_t epDataOutIndex
Definition: adk.h:66
+
Definition: adk.h:49
+
#define ADK_ACCSTART
Definition: adk.h:33
+
#define ADK_PID
Definition: adk.h:26
+
virtual uint8_t Poll()
Definition: adk.h:99
+
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)
Definition: Usb.cpp:126
+
#define ADK_SENDSTR
Definition: adk.h:32
+
#define bmREQ_ADK_GET
Definition: adk.h:35
+
bool ready
Definition: adk.h:74
+
virtual uint8_t GetAddress()
Definition: adk.h:103
+
Definition: address.h:32
+
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
Definition: adk.h:111
+
ADK(USB *pUsb, const char *manufacturer, const char *model, const char *description, const char *version, const char *uri, const char *serial)
Definition: adk.cpp:25
+
EpInfo epInfo[ADK_MAX_ENDPOINTS]
Definition: adk.h:77
+
#define bmREQ_ADK_SEND
Definition: adk.h:36
+
#define ADK_MAX_ENDPOINTS
Definition: adk.h:45
+ +
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
Definition: adk.cpp:335
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: adk.cpp:66
+
Definition: UsbCore.h:152
+
uint8_t bNumEP
Definition: adk.h:73
+
#define ADK_VID
Definition: adk.h:25
+
uint8_t bConfNum
Definition: adk.h:71
+
uint8_t bAddress
Definition: adk.h:70
diff --git a/annotated.html b/annotated.html index 63adb934..53d4a64a 100644 --- a/annotated.html +++ b/annotated.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Class List @@ -31,7 +31,7 @@ - + @@ -94,75 +94,78 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); oCAddressPool oCAddressPoolImpl oCADK -oCBluetoothService -oCBTD -oCBulkOnly -oCByteSkipper -oCCALL_MGMNT_FUNC_DESCR -oCCapacity -oCCDCAsyncOper -oCCLASS_NOTIFICATION -oCCommandBlockWrapper -oCCommandBlockWrapperBase -oCCommandStatusWrapper -oCConfigDescParser -oCEpInfo -oCFTDI -oCFTDIAsyncOper -oCHexDumper -oCHID -oCHID_CLASS_DESCRIPTOR_LEN_AND_TYPE -oCHIDBoot -oCHidItemPrefix -oCHIDReportParser -oCHIDUniversal -oCHubDescriptor -oCHubEvent -oCInquiryResponse -oCKBDINFO -oCKBDLEDS -oCKeyboardReportParser -oCLINE_CODING -oCMainItemIOFeature -oCMAX3421e -oCMax_LCD -oCMODIFIERKEYS -oCMOUSEINFO -oCMouseReportParser -oCMultiByteValueParser -oCMultiValueBuffer -oCPL2303 -oCPS3BT -oCPS3USB -oCPTPListParser -oCReportDescParser -oCReportDescParser2 -oCReportDescParserBase -oCRequestSenseResponce -oCSETUP_PKT -oCSPi -oCSPP -oCTCom -oCTEL_RINGER_FUNC_DESCR -oCTp_Tc -oCTPin -oCUniversalReportParser -oCUSB -oCUSB_CONFIGURATION_DESCRIPTOR -oCUSB_DEVICE_DESCRIPTOR -oCUSB_ENDPOINT_DESCRIPTOR -oCUSB_HID_DESCRIPTOR -oCUSB_INTERFACE_DESCRIPTOR -oCUsbConfigXtracter -oCUsbDevice -oCUsbDeviceAddress -oCUSBDeviceConfig -oCUSBHub -oCUSBReadParser -oCWII -oCXBOXOLD -oCXBOXRECV -\CXBOXUSB +oCBASICCDB +oCBluetoothService +oCBTD +oCBulkOnly +oCByteSkipper +oCCALL_MGMNT_FUNC_DESCR +oCCapacity +oCCDB10 +oCCDB12 +oCCDB6 +oCCDB_LBA32_16 +oCCDB_LBA64_16 +oCCDCAsyncOper +oCCLASS_NOTIFICATION +oCCommandBlockWrapper +oCCommandBlockWrapperBase +oCCommandStatusWrapper +oCConfigDescParser +oCEpInfo +oCFTDI +oCFTDIAsyncOper +oCHexDumper +oCHID +oCHID_CLASS_DESCRIPTOR_LEN_AND_TYPE +oCHIDBoot +oCHidItemPrefix +oCHIDReportParser +oCHIDUniversal +oCHubDescriptor +oCHubEvent +oCInquiryResponse +oCKBDINFO +oCKBDLEDS +oCKeyboardReportParser +oCLINE_CODING +oCMainItemIOFeature +oCMAX3421e +oCMax_LCD +oCMODIFIERKEYS +oCMOUSEINFO +oCMouseReportParser +oCMultiByteValueParser +oCMultiValueBuffer +oCPL2303 +oCPS3BT +oCPS3USB +oCPTPListParser +oCReportDescParser +oCReportDescParser2 +oCReportDescParserBase +oCRequestSenseResponce +oCSETUP_PKT +oCSPi +oCSPP +oCTEL_RINGER_FUNC_DESCR +oCUniversalReportParser +oCUSB +oCUSB_CONFIGURATION_DESCRIPTOR +oCUSB_DEVICE_DESCRIPTOR +oCUSB_ENDPOINT_DESCRIPTOR +oCUSB_HID_DESCRIPTOR +oCUSB_INTERFACE_DESCRIPTOR +oCUsbConfigXtracter +oCUsbDevice +oCUsbDeviceAddress +oCUSBDeviceConfig +oCUSBHub +oCUSBReadParser +oCWII +oCXBOXOLD +oCXBOXRECV +\CXBOXUSB @@ -170,7 +173,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/avrpins_8h.html b/avrpins_8h.html index d187d47e..566ef76b 100644 --- a/avrpins_8h.html +++ b/avrpins_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: avrpins.h File Reference @@ -31,7 +31,7 @@ - + @@ -85,157 +85,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
avrpins.h File Reference
-
#include <avr/io.h>
-
-Include dependency graph for avrpins.h:
-
-
-
-
-This graph shows which files directly or indirectly include this file:
-
-
- - -
-
+

Go to the source code of this file.

- - - - - - - - -

-Classes

class  TPin< PORT, PIN >
 
class  TCom< TCCR, COM >
 
class  Tp_Tc< Tp_pin, Tc_bit >
 
- - - - - -

-Macros

#define MAKE_PORT(portName, ddrName, pinName, className, ID)
 
#define MAKE_TCCR(TccrName, className)
 
-

Macro Definition Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#define MAKE_PORT( portName,
 ddrName,
 pinName,
 className,
 ID 
)
-
-Value:
class className{\
-
public:\
-
typedef uint8_t DataT;\
-
public:\
-
static void Write(DataT value){portName = value;}\
-
static void ClearAndSet(DataT clearMask, DataT value){portName = (portName & ~clearMask) | value;}\
-
static DataT Read(){return portName;}\
-
static void DirWrite(DataT value){ddrName = value;}\
-
static DataT DirRead(){return ddrName;}\
-
static void Set(DataT value){portName |= value;}\
-
static void Clear(DataT value){portName &= ~value;}\
-
static void Toggle(DataT value){portName ^= value;}\
-
static void DirSet(DataT value){ddrName |= value;}\
-
static void DirClear(DataT value){ddrName &= ~value;}\
-
static void DirToggle(DataT value){ddrName ^= value;}\
-
static DataT PinRead(){return pinName;}\
-
enum{Id = ID};\
-
enum{Width=sizeof(DataT)*8};\
-
};
-
-

Definition at line 88 of file avrpins.h.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
#define MAKE_TCCR( TccrName,
 className 
)
-
-Value:
class className{\
-
public:\
-
typedef uint8_t DataT;\
-
public:\
-
static void Write(DataT value){TccrName = value;}\
-
static void ClearAndSet(DataT clearMask, DataT value){TccrName = (TccrName & ~clearMask) | value;}\
-
static DataT Read(){return TccrName;}\
-
static void Set(DataT value){TccrName |= value;}\
-
static void Clear(DataT value){TccrName &= ~value;}\
-
static void Toggle(DataT value){TccrName ^= value;}\
-
enum{Width=sizeof(DataT)*8};\
-
};
-
-

Definition at line 110 of file avrpins.h.

- -
-
diff --git a/avrpins_8h_source.html b/avrpins_8h_source.html index 1c7d2982..6a5627d8 100644 --- a/avrpins_8h_source.html +++ b/avrpins_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: avrpins.h Source File @@ -31,7 +31,7 @@ - + @@ -108,440 +108,440 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
17 
18 /* derived from Konstantin Chizhov's AVR port templates */
19 
-
20 #ifndef _avrpins_h_
-
21 #define _avrpins_h_
-
22 
-
23 #if defined(__AVR_ATmega2560__)
-
24 /* Uncomment the following if you have Arduino Mega ADK board with MAX3421e built-in */
-
25 //#define BOARD_MEGA_ADK
-
26 #endif
-
27 
-
28 /* Uncomment the following if you are using a Teensy 2.0 */
-
29 //#define BOARD_TEENSY
-
30 
-
31 /* Uncomment the following if you are using a Sanguino */
-
32 //#define BOARD_SANGUINO
-
33 
-
34 #include <avr/io.h>
-
35 
-
36 #ifdef PORTA
-
37 #define USE_PORTA
-
38 #endif
-
39 #ifdef PORTB
-
40 #define USE_PORTB
-
41 #endif
-
42 #ifdef PORTC
-
43 #define USE_PORTC
-
44 #endif
-
45 #ifdef PORTD
-
46 #define USE_PORTD
-
47 #endif
-
48 #ifdef PORTE
-
49 #define USE_PORTE
-
50 #endif
-
51 #ifdef PORTF
-
52 #define USE_PORTF
-
53 #endif
-
54 #ifdef PORTG
-
55 #define USE_PORTG
-
56 #endif
-
57 #ifdef PORTH
-
58 #define USE_PORTH
-
59 #endif
-
60 #ifdef PORTJ
-
61 #define USE_PORTJ
-
62 #endif
-
63 #ifdef PORTK
-
64 #define USE_PORTK
-
65 #endif
-
66 #ifdef PORTL
-
67 #define USE_PORTL
-
68 #endif
-
69 #ifdef PORTQ
-
70 #define USE_PORTQ
-
71 #endif
-
72 #ifdef PORTR
-
73 #define USE_PORTR
-
74 #endif
-
75 
-
76 #ifdef TCCR0A
-
77 #define USE_TCCR0A
-
78 #endif
-
79 #ifdef TCCR1A
-
80 #define USE_TCCR1A
-
81 #endif
-
82 #ifdef TCCR2A
-
83 #define USE_TCCR2A
-
84 #endif
-
85 
-
86 //Port definitions for AtTiny, AtMega families.
-
87 
-
88 #define MAKE_PORT(portName, ddrName, pinName, className, ID) \
-
89  class className{\
-
90  public:\
-
91  typedef uint8_t DataT;\
-
92  public:\
-
93  static void Write(DataT value){portName = value;}\
-
94  static void ClearAndSet(DataT clearMask, DataT value){portName = (portName & ~clearMask) | value;}\
-
95  static DataT Read(){return portName;}\
-
96  static void DirWrite(DataT value){ddrName = value;}\
-
97  static DataT DirRead(){return ddrName;}\
-
98  static void Set(DataT value){portName |= value;}\
-
99  static void Clear(DataT value){portName &= ~value;}\
-
100  static void Toggle(DataT value){portName ^= value;}\
-
101  static void DirSet(DataT value){ddrName |= value;}\
-
102  static void DirClear(DataT value){ddrName &= ~value;}\
-
103  static void DirToggle(DataT value){ddrName ^= value;}\
-
104  static DataT PinRead(){return pinName;}\
-
105  enum{Id = ID};\
-
106  enum{Width=sizeof(DataT)*8};\
-
107  };
-
108 
-
109 // TCCR registers to set/clear Arduino PWM
-
110 #define MAKE_TCCR(TccrName, className) \
-
111  class className{\
-
112  public:\
-
113  typedef uint8_t DataT;\
-
114  public:\
-
115  static void Write(DataT value){TccrName = value;}\
-
116  static void ClearAndSet(DataT clearMask, DataT value){TccrName = (TccrName & ~clearMask) | value;}\
-
117  static DataT Read(){return TccrName;}\
-
118  static void Set(DataT value){TccrName |= value;}\
-
119  static void Clear(DataT value){TccrName &= ~value;}\
-
120  static void Toggle(DataT value){TccrName ^= value;}\
-
121  enum{Width=sizeof(DataT)*8};\
-
122  };
-
123 
-
124 #ifdef USE_PORTA
-
125 
-
126 MAKE_PORT(PORTA, DDRA, PINA, Porta, 'A')
-
127 #endif
-
128 #ifdef USE_PORTB
-
129 MAKE_PORT(PORTB, DDRB, PINB, Portb, 'B')
-
130 #endif
-
131 #ifdef USE_PORTC
-
132 MAKE_PORT(PORTC, DDRC, PINC, Portc, 'C')
-
133 #endif
-
134 #ifdef USE_PORTD
-
135 MAKE_PORT(PORTD, DDRD, PIND, Portd, 'D')
-
136 #endif
-
137 #ifdef USE_PORTE
-
138 MAKE_PORT(PORTE, DDRE, PINE, Porte, 'E')
-
139 #endif
-
140 #ifdef USE_PORTF
-
141 MAKE_PORT(PORTF, DDRF, PINF, Portf, 'F')
-
142 #endif
-
143 #ifdef USE_PORTG
-
144 MAKE_PORT(PORTG, DDRG, PING, Portg, 'G')
-
145 #endif
-
146 #ifdef USE_PORTH
-
147 MAKE_PORT(PORTH, DDRH, PINH, Porth, 'H')
-
148 #endif
-
149 #ifdef USE_PORTJ
-
150 MAKE_PORT(PORTJ, DDRJ, PINJ, Portj, 'J')
-
151 #endif
-
152 #ifdef USE_PORTK
-
153 MAKE_PORT(PORTK, DDRK, PINK, Portk, 'K')
-
154 #endif
-
155 #ifdef USE_PORTL
-
156 MAKE_PORT(PORTL, DDRL, PINL, Portl, 'L')
-
157 #endif
-
158 #ifdef USE_PORTQ
-
159 MAKE_PORT(PORTQ, DDRQ, PINQ, Portq, 'Q')
-
160 #endif
-
161 #ifdef USE_PORTR
-
162 MAKE_PORT(PORTR, DDRR, PINR, Portr, 'R')
-
163 #endif
-
164 
-
165 #ifdef USE_TCCR0A
-
166 MAKE_TCCR(TCCR0A, Tccr0a)
-
167 #endif
-
168 #ifdef USE_TCCR1A
-
169 MAKE_TCCR(TCCR1A, Tccr1a)
-
170 #endif
-
171 #ifdef USE_TCCR2A
-
172 MAKE_TCCR(TCCR2A, Tccr2a)
-
173 #endif
-
174 
-
175 // this class represents one pin in a IO port.
-
176 // It is fully static.
-
177 template<typename PORT, uint8_t PIN>
-
178 class TPin {
-
179  // BOOST_STATIC_ASSERT(PIN < PORT::Width);
-
180 public:
-
181  typedef PORT Port;
-
182 
-
183  enum {
-
184  Number = PIN
-
185  };
-
186 
-
187  static void Set() {
-
188  PORT::Set(1 << PIN);
-
189  }
-
190 
-
191  static void Set(uint8_t val) {
-
192  if(val)
-
193  Set();
-
194  else Clear();
-
195  }
-
196 
-
197  static void SetDir(uint8_t val) {
-
198  if(val)
-
199  SetDirWrite();
-
200  else SetDirRead();
-
201  }
-
202 
-
203  static void Clear() {
-
204  PORT::Clear(1 << PIN);
-
205  }
-
206 
-
207  static void Toggle() {
-
208  PORT::Toggle(1 << PIN);
-
209  }
-
210 
-
211  static void SetDirRead() {
-
212  PORT::DirClear(1 << PIN);
-
213  }
-
214 
-
215  static void SetDirWrite() {
-
216  PORT::DirSet(1 << PIN);
-
217  }
-
218 
-
219  static uint8_t IsSet() {
-
220  return PORT::PinRead() & (uint8_t) (1 << PIN);
-
221  }
-
222 
-
223  static void WaiteForSet() {
-
224  while(IsSet() == 0) {
-
225  }
-
226  }
-
227 
-
228  static void WaiteForClear() {
-
229  while(IsSet()) {
-
230  }
-
231  }
-
232 }; //class TPin...
-
233 
-
234 // this class represents one bit in TCCR port.
-
235 // used to set/clear TCCRx bits
-
236 // It is fully static.
-
237 
-
238 template<typename TCCR, uint8_t COM>
-
239 class TCom {
-
240  // BOOST_STATIC_ASSERT(PIN < PORT::Width);
-
241 public:
-
242  typedef TCCR Tccr;
-
243 
-
244  enum {
-
245  Com = COM
-
246  };
-
247 
-
248  static void Set() {
-
249  TCCR::Set(1 << COM);
-
250  }
-
251 
-
252  static void Clear() {
-
253  TCCR::Clear(1 << COM);
-
254  }
-
255 
-
256  static void Toggle() {
-
257  TCCR::Toggle(1 << COM);
-
258  }
-
259 }; //class TCom...
-
260 
-
261 //Short pin definitions
-
262 #ifdef USE_PORTA
-
263 typedef TPin<Porta, 0 > Pa0;
-
264 typedef TPin<Porta, 1 > Pa1;
-
265 typedef TPin<Porta, 2 > Pa2;
-
266 typedef TPin<Porta, 3 > Pa3;
-
267 typedef TPin<Porta, 4 > Pa4;
-
268 typedef TPin<Porta, 5 > Pa5;
-
269 typedef TPin<Porta, 6 > Pa6;
-
270 typedef TPin<Porta, 7 > Pa7;
-
271 #endif
-
272 
-
273 #ifdef USE_PORTB
-
274 typedef TPin<Portb, 0 > Pb0;
-
275 typedef TPin<Portb, 1 > Pb1;
-
276 typedef TPin<Portb, 2 > Pb2;
-
277 typedef TPin<Portb, 3 > Pb3;
-
278 typedef TPin<Portb, 4 > Pb4;
-
279 typedef TPin<Portb, 5 > Pb5;
-
280 typedef TPin<Portb, 6 > Pb6;
-
281 typedef TPin<Portb, 7 > Pb7;
-
282 #endif
-
283 
-
284 #ifdef USE_PORTC
-
285 typedef TPin<Portc, 0 > Pc0;
-
286 typedef TPin<Portc, 1 > Pc1;
-
287 typedef TPin<Portc, 2 > Pc2;
-
288 typedef TPin<Portc, 3 > Pc3;
-
289 typedef TPin<Portc, 4 > Pc4;
-
290 typedef TPin<Portc, 5 > Pc5;
-
291 typedef TPin<Portc, 6 > Pc6;
-
292 typedef TPin<Portc, 7 > Pc7;
-
293 #endif
-
294 
-
295 #ifdef USE_PORTD
-
296 typedef TPin<Portd, 0 > Pd0;
-
297 typedef TPin<Portd, 1 > Pd1;
-
298 typedef TPin<Portd, 2 > Pd2;
-
299 typedef TPin<Portd, 3 > Pd3;
-
300 typedef TPin<Portd, 4 > Pd4;
-
301 typedef TPin<Portd, 5 > Pd5;
-
302 typedef TPin<Portd, 6 > Pd6;
-
303 typedef TPin<Portd, 7 > Pd7;
-
304 #endif
-
305 
-
306 #ifdef USE_PORTE
-
307 typedef TPin<Porte, 0 > Pe0;
-
308 typedef TPin<Porte, 1 > Pe1;
-
309 typedef TPin<Porte, 2 > Pe2;
-
310 typedef TPin<Porte, 3 > Pe3;
-
311 typedef TPin<Porte, 4 > Pe4;
-
312 typedef TPin<Porte, 5 > Pe5;
-
313 typedef TPin<Porte, 6 > Pe6;
-
314 typedef TPin<Porte, 7 > Pe7;
-
315 #endif
-
316 
-
317 #ifdef USE_PORTF
-
318 typedef TPin<Portf, 0 > Pf0;
-
319 typedef TPin<Portf, 1 > Pf1;
-
320 typedef TPin<Portf, 2 > Pf2;
-
321 typedef TPin<Portf, 3 > Pf3;
-
322 typedef TPin<Portf, 4 > Pf4;
-
323 typedef TPin<Portf, 5 > Pf5;
-
324 typedef TPin<Portf, 6 > Pf6;
-
325 typedef TPin<Portf, 7 > Pf7;
-
326 #endif
-
327 
-
328 #ifdef USE_PORTG
-
329 typedef TPin<Portg, 0 > Pg0;
-
330 typedef TPin<Portg, 1 > Pg1;
-
331 typedef TPin<Portg, 2 > Pg2;
-
332 typedef TPin<Portg, 3 > Pg3;
-
333 typedef TPin<Portg, 4 > Pg4;
-
334 typedef TPin<Portg, 5 > Pg5;
-
335 typedef TPin<Portg, 6 > Pg6;
-
336 typedef TPin<Portg, 7 > Pg7;
-
337 #endif
-
338 
-
339 #ifdef USE_PORTH
-
340 typedef TPin<Porth, 0 > Ph0;
-
341 typedef TPin<Porth, 1 > Ph1;
-
342 typedef TPin<Porth, 2 > Ph2;
-
343 typedef TPin<Porth, 3 > Ph3;
-
344 typedef TPin<Porth, 4 > Ph4;
-
345 typedef TPin<Porth, 5 > Ph5;
-
346 typedef TPin<Porth, 6 > Ph6;
-
347 typedef TPin<Porth, 7 > Ph7;
-
348 #endif
-
349 
-
350 #ifdef USE_PORTJ
-
351 typedef TPin<Portj, 0 > Pj0;
-
352 typedef TPin<Portj, 1 > Pj1;
-
353 typedef TPin<Portj, 2 > Pj2;
-
354 typedef TPin<Portj, 3 > Pj3;
-
355 typedef TPin<Portj, 4 > Pj4;
-
356 typedef TPin<Portj, 5 > Pj5;
-
357 typedef TPin<Portj, 6 > Pj6;
-
358 typedef TPin<Portj, 7 > Pj7;
-
359 #endif
-
360 
-
361 #ifdef USE_PORTK
-
362 typedef TPin<Portk, 0 > Pk0;
-
363 typedef TPin<Portk, 1 > Pk1;
-
364 typedef TPin<Portk, 2 > Pk2;
-
365 typedef TPin<Portk, 3 > Pk3;
-
366 typedef TPin<Portk, 4 > Pk4;
-
367 typedef TPin<Portk, 5 > Pk5;
-
368 typedef TPin<Portk, 6 > Pk6;
-
369 typedef TPin<Portk, 7 > Pk7;
-
370 #endif
-
371 
-
372 #ifdef USE_PORTL
-
373 typedef TPin<Portl, 0 > Pl0;
-
374 typedef TPin<Portl, 1 > Pl1;
-
375 typedef TPin<Portl, 2 > Pl2;
-
376 typedef TPin<Portl, 3 > Pl3;
-
377 typedef TPin<Portl, 4 > Pl4;
-
378 typedef TPin<Portl, 5 > Pl5;
-
379 typedef TPin<Portl, 6 > Pl6;
-
380 typedef TPin<Portl, 7 > Pl7;
-
381 #endif
-
382 
-
383 #ifdef USE_PORTQ
-
384 typedef TPin<Portq, 0 > Pq0;
-
385 typedef TPin<Portq, 1 > Pq1;
-
386 typedef TPin<Portq, 2 > Pq2;
-
387 typedef TPin<Portq, 3 > Pq3;
-
388 typedef TPin<Portq, 4 > Pq4;
-
389 typedef TPin<Portq, 5 > Pq5;
-
390 typedef TPin<Portq, 6 > Pq6;
-
391 typedef TPin<Portq, 7 > Pq7;
-
392 #endif
-
393 
-
394 #ifdef USE_PORTR
-
395 typedef TPin<Portr, 0 > Pr0;
-
396 typedef TPin<Portr, 1 > Pr1;
-
397 typedef TPin<Portr, 2 > Pr2;
-
398 typedef TPin<Portr, 3 > Pr3;
-
399 typedef TPin<Portr, 4 > Pr4;
-
400 typedef TPin<Portr, 5 > Pr5;
-
401 typedef TPin<Portr, 6 > Pr6;
-
402 typedef TPin<Portr, 7 > Pr7;
-
403 #endif
-
404 
-
405 #ifdef USE_TCCR0A
-
406 typedef TCom<Tccr0a, COM0A1> Tc0a; //P6
-
407 typedef TCom<Tccr0a, COM0B1> Tc0b; //P5
-
408 #endif
-
409 
-
410 #ifdef USE_TCCR1A
-
411 typedef TCom<Tccr1a, COM1A1> Tc1a; //P9
-
412 typedef TCom<Tccr1a, COM1B1> Tc1b; //P10
-
413 #endif
-
414 
-
415 #ifdef USE_TCCR2A
-
416 typedef TCom<Tccr2a, COM2A1> Tc2a; //P11
-
417 typedef TCom<Tccr2a, COM2B1> Tc2b; //P3
-
418 #endif
-
419 
-
420 template<typename Tp_pin, typename Tc_bit>
-
421 class Tp_Tc {
-
422 public:
-
423 
-
424  static void SetDir(uint8_t val) {
-
425  if(val)
-
426  SetDirWrite();
-
427  else SetDirRead();
-
428  }
-
429 
-
430  static void SetDirRead() {
-
431  Tp_pin::SetDirRead(); //set pin direction
-
432  Tc_bit::Clear(); //disconnect pin from PWM
-
433  }
-
434 
-
435  static void SetDirWrite() {
-
436  Tp_pin::SetDirWrite();
-
437  Tc_bit::Clear();
-
438  }
-
439 };
-
440 
-
441 /* pin definitions for cases where it's necessary to clear compare output mode bits */
-
442 
-
443 //typedef Tp_Tc<Pd3, Tc2b> P3; //Arduino pin 3
-
444 //typedef Tp_Tc<Pd5, Tc0b> P5; //Arduino pin 5
-
445 //typedef Tp_Tc<Pd6, Tc0a> P6; //Arduino pin 6
-
446 //typedef Tp_Tc<Pb1, Tc1a> P9; //Arduino pin 9
-
447 //typedef Tp_Tc<Pb2, Tc1b> P10; //Arduino pin 10
-
448 //typedef Tp_Tc<Pb3, Tc2a> P11; //Arduino pin 11
-
449 
-
450 /* Arduino pin definitions */
-
451 #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
-
452 
-
453 // "Mega" Arduino pin numbers
+
20 #if !defined(_usb_h_) || defined(_avrpins_h_)
+
21 #error "Never include avrpins.h directly; include Usb.h instead"
+
22 #else
+
23 #define _avrpins_h_
+
24 
+
25 #if defined(__AVR__)
+
26 
+
27 // pointers are 16 bits on AVR
+
28 #define pgm_read_pointer(p) pgm_read_word(p)
+
29 
+
30 // Support for these boards needs to be manually activated in settings.h or in a makefile
+
31 #if !defined(BOARD_MEGA_ADK) && defined(__AVR_ATmega2560__) && (USE_UHS_MEGA_ADK || defined(ARDUINO_AVR_ADK))
+
32 #define BOARD_MEGA_ADK
+
33 #elif !defined(BOARD_BLACK_WIDDOW) && USE_UHS_BLACK_WIDDOW
+
34 #define BOARD_BLACK_WIDDOW
+
35 #endif
+
36 
+
37 #ifdef PORTA
+
38 #define USE_PORTA
+
39 #endif
+
40 #ifdef PORTB
+
41 #define USE_PORTB
+
42 #endif
+
43 #ifdef PORTC
+
44 #define USE_PORTC
+
45 #endif
+
46 #ifdef PORTD
+
47 #define USE_PORTD
+
48 #endif
+
49 #ifdef PORTE
+
50 #define USE_PORTE
+
51 #endif
+
52 #ifdef PORTF
+
53 #define USE_PORTF
+
54 #endif
+
55 #ifdef PORTG
+
56 #define USE_PORTG
+
57 #endif
+
58 #ifdef PORTH
+
59 #define USE_PORTH
+
60 #endif
+
61 #ifdef PORTJ
+
62 #define USE_PORTJ
+
63 #endif
+
64 #ifdef PORTK
+
65 #define USE_PORTK
+
66 #endif
+
67 #ifdef PORTL
+
68 #define USE_PORTL
+
69 #endif
+
70 #ifdef PORTQ
+
71 #define USE_PORTQ
+
72 #endif
+
73 #ifdef PORTR
+
74 #define USE_PORTR
+
75 #endif
+
76 
+
77 #ifdef TCCR0A
+
78 #define USE_TCCR0A
+
79 #endif
+
80 #ifdef TCCR1A
+
81 #define USE_TCCR1A
+
82 #endif
+
83 #ifdef TCCR2A
+
84 #define USE_TCCR2A
+
85 #endif
+
86 
+
87 //Port definitions for AtTiny, AtMega families.
+
88 
+
89 #define MAKE_PORT(portName, ddrName, pinName, className, ID) \
+
90  class className{\
+
91  public:\
+
92  typedef uint8_t DataT;\
+
93  public:\
+
94  static void Write(DataT value){portName = value;}\
+
95  static void ClearAndSet(DataT clearMask, DataT value){portName = (portName & ~clearMask) | value;}\
+
96  static DataT Read(){return portName;}\
+
97  static void DirWrite(DataT value){ddrName = value;}\
+
98  static DataT DirRead(){return ddrName;}\
+
99  static void Set(DataT value){portName |= value;}\
+
100  static void Clear(DataT value){portName &= ~value;}\
+
101  static void Toggle(DataT value){portName ^= value;}\
+
102  static void DirSet(DataT value){ddrName |= value;}\
+
103  static void DirClear(DataT value){ddrName &= ~value;}\
+
104  static void DirToggle(DataT value){ddrName ^= value;}\
+
105  static DataT PinRead(){return pinName;}\
+
106  enum{Id = ID};\
+
107  enum{Width=sizeof(DataT)*8};\
+
108  };
+
109 
+
110 // TCCR registers to set/clear Arduino PWM
+
111 #define MAKE_TCCR(TccrName, className) \
+
112  class className{\
+
113  public:\
+
114  typedef uint8_t DataT;\
+
115  public:\
+
116  static void Write(DataT value){TccrName = value;}\
+
117  static void ClearAndSet(DataT clearMask, DataT value){TccrName = (TccrName & ~clearMask) | value;}\
+
118  static DataT Read(){return TccrName;}\
+
119  static void Set(DataT value){TccrName |= value;}\
+
120  static void Clear(DataT value){TccrName &= ~value;}\
+
121  static void Toggle(DataT value){TccrName ^= value;}\
+
122  enum{Width=sizeof(DataT)*8};\
+
123  };
+
124 
+
125 #ifdef USE_PORTA
+
126 
+
127 MAKE_PORT(PORTA, DDRA, PINA, Porta, 'A')
+
128 #endif
+
129 #ifdef USE_PORTB
+
130 MAKE_PORT(PORTB, DDRB, PINB, Portb, 'B')
+
131 #endif
+
132 #ifdef USE_PORTC
+
133 MAKE_PORT(PORTC, DDRC, PINC, Portc, 'C')
+
134 #endif
+
135 #ifdef USE_PORTD
+
136 MAKE_PORT(PORTD, DDRD, PIND, Portd, 'D')
+
137 #endif
+
138 #ifdef USE_PORTE
+
139 MAKE_PORT(PORTE, DDRE, PINE, Porte, 'E')
+
140 #endif
+
141 #ifdef USE_PORTF
+
142 MAKE_PORT(PORTF, DDRF, PINF, Portf, 'F')
+
143 #endif
+
144 #ifdef USE_PORTG
+
145 MAKE_PORT(PORTG, DDRG, PING, Portg, 'G')
+
146 #endif
+
147 #ifdef USE_PORTH
+
148 MAKE_PORT(PORTH, DDRH, PINH, Porth, 'H')
+
149 #endif
+
150 #ifdef USE_PORTJ
+
151 MAKE_PORT(PORTJ, DDRJ, PINJ, Portj, 'J')
+
152 #endif
+
153 #ifdef USE_PORTK
+
154 MAKE_PORT(PORTK, DDRK, PINK, Portk, 'K')
+
155 #endif
+
156 #ifdef USE_PORTL
+
157 MAKE_PORT(PORTL, DDRL, PINL, Portl, 'L')
+
158 #endif
+
159 #ifdef USE_PORTQ
+
160 MAKE_PORT(PORTQ, DDRQ, PINQ, Portq, 'Q')
+
161 #endif
+
162 #ifdef USE_PORTR
+
163 MAKE_PORT(PORTR, DDRR, PINR, Portr, 'R')
+
164 #endif
+
165 
+
166 #ifdef USE_TCCR0A
+
167 MAKE_TCCR(TCCR0A, Tccr0a)
+
168 #endif
+
169 #ifdef USE_TCCR1A
+
170 MAKE_TCCR(TCCR1A, Tccr1a)
+
171 #endif
+
172 #ifdef USE_TCCR2A
+
173 MAKE_TCCR(TCCR2A, Tccr2a)
+
174 #endif
+
175 
+
176 // this class represents one pin in a IO port.
+
177 // It is fully static.
+
178 template<typename PORT, uint8_t PIN>
+
179 class TPin {
+
180  // BOOST_STATIC_ASSERT(PIN < PORT::Width);
+
181 public:
+
182  typedef PORT Port;
+
183 
+
184  enum {
+
185  Number = PIN
+
186  };
+
187 
+
188  static void Set() {
+
189  PORT::Set(1 << PIN);
+
190  }
+
191 
+
192  static void Set(uint8_t val) {
+
193  if(val)
+
194  Set();
+
195  else Clear();
+
196  }
+
197 
+
198  static void SetDir(uint8_t val) {
+
199  if(val)
+
200  SetDirWrite();
+
201  else SetDirRead();
+
202  }
+
203 
+
204  static void Clear() {
+
205  PORT::Clear(1 << PIN);
+
206  }
+
207 
+
208  static void Toggle() {
+
209  PORT::Toggle(1 << PIN);
+
210  }
+
211 
+
212  static void SetDirRead() {
+
213  PORT::DirClear(1 << PIN);
+
214  }
+
215 
+
216  static void SetDirWrite() {
+
217  PORT::DirSet(1 << PIN);
+
218  }
+
219 
+
220  static uint8_t IsSet() {
+
221  return PORT::PinRead() & (uint8_t) (1 << PIN);
+
222  }
+
223 
+
224  static void WaiteForSet() {
+
225  while(IsSet() == 0) {
+
226  }
+
227  }
+
228 
+
229  static void WaiteForClear() {
+
230  while(IsSet()) {
+
231  }
+
232  }
+
233 }; //class TPin...
+
234 
+
235 // this class represents one bit in TCCR port.
+
236 // used to set/clear TCCRx bits
+
237 // It is fully static.
+
238 
+
239 template<typename TCCR, uint8_t COM>
+
240 class TCom {
+
241  // BOOST_STATIC_ASSERT(PIN < PORT::Width);
+
242 public:
+
243  typedef TCCR Tccr;
+
244 
+
245  enum {
+
246  Com = COM
+
247  };
+
248 
+
249  static void Set() {
+
250  TCCR::Set(1 << COM);
+
251  }
+
252 
+
253  static void Clear() {
+
254  TCCR::Clear(1 << COM);
+
255  }
+
256 
+
257  static void Toggle() {
+
258  TCCR::Toggle(1 << COM);
+
259  }
+
260 }; //class TCom...
+
261 
+
262 //Short pin definitions
+
263 #ifdef USE_PORTA
+
264 typedef TPin<Porta, 0 > Pa0;
+
265 typedef TPin<Porta, 1 > Pa1;
+
266 typedef TPin<Porta, 2 > Pa2;
+
267 typedef TPin<Porta, 3 > Pa3;
+
268 typedef TPin<Porta, 4 > Pa4;
+
269 typedef TPin<Porta, 5 > Pa5;
+
270 typedef TPin<Porta, 6 > Pa6;
+
271 typedef TPin<Porta, 7 > Pa7;
+
272 #endif
+
273 
+
274 #ifdef USE_PORTB
+
275 typedef TPin<Portb, 0 > Pb0;
+
276 typedef TPin<Portb, 1 > Pb1;
+
277 typedef TPin<Portb, 2 > Pb2;
+
278 typedef TPin<Portb, 3 > Pb3;
+
279 typedef TPin<Portb, 4 > Pb4;
+
280 typedef TPin<Portb, 5 > Pb5;
+
281 typedef TPin<Portb, 6 > Pb6;
+
282 typedef TPin<Portb, 7 > Pb7;
+
283 #endif
+
284 
+
285 #ifdef USE_PORTC
+
286 typedef TPin<Portc, 0 > Pc0;
+
287 typedef TPin<Portc, 1 > Pc1;
+
288 typedef TPin<Portc, 2 > Pc2;
+
289 typedef TPin<Portc, 3 > Pc3;
+
290 typedef TPin<Portc, 4 > Pc4;
+
291 typedef TPin<Portc, 5 > Pc5;
+
292 typedef TPin<Portc, 6 > Pc6;
+
293 typedef TPin<Portc, 7 > Pc7;
+
294 #endif
+
295 
+
296 #ifdef USE_PORTD
+
297 typedef TPin<Portd, 0 > Pd0;
+
298 typedef TPin<Portd, 1 > Pd1;
+
299 typedef TPin<Portd, 2 > Pd2;
+
300 typedef TPin<Portd, 3 > Pd3;
+
301 typedef TPin<Portd, 4 > Pd4;
+
302 typedef TPin<Portd, 5 > Pd5;
+
303 typedef TPin<Portd, 6 > Pd6;
+
304 typedef TPin<Portd, 7 > Pd7;
+
305 #endif
+
306 
+
307 #ifdef USE_PORTE
+
308 typedef TPin<Porte, 0 > Pe0;
+
309 typedef TPin<Porte, 1 > Pe1;
+
310 typedef TPin<Porte, 2 > Pe2;
+
311 typedef TPin<Porte, 3 > Pe3;
+
312 typedef TPin<Porte, 4 > Pe4;
+
313 typedef TPin<Porte, 5 > Pe5;
+
314 typedef TPin<Porte, 6 > Pe6;
+
315 typedef TPin<Porte, 7 > Pe7;
+
316 #endif
+
317 
+
318 #ifdef USE_PORTF
+
319 typedef TPin<Portf, 0 > Pf0;
+
320 typedef TPin<Portf, 1 > Pf1;
+
321 typedef TPin<Portf, 2 > Pf2;
+
322 typedef TPin<Portf, 3 > Pf3;
+
323 typedef TPin<Portf, 4 > Pf4;
+
324 typedef TPin<Portf, 5 > Pf5;
+
325 typedef TPin<Portf, 6 > Pf6;
+
326 typedef TPin<Portf, 7 > Pf7;
+
327 #endif
+
328 
+
329 #ifdef USE_PORTG
+
330 typedef TPin<Portg, 0 > Pg0;
+
331 typedef TPin<Portg, 1 > Pg1;
+
332 typedef TPin<Portg, 2 > Pg2;
+
333 typedef TPin<Portg, 3 > Pg3;
+
334 typedef TPin<Portg, 4 > Pg4;
+
335 typedef TPin<Portg, 5 > Pg5;
+
336 typedef TPin<Portg, 6 > Pg6;
+
337 typedef TPin<Portg, 7 > Pg7;
+
338 #endif
+
339 
+
340 #ifdef USE_PORTH
+
341 typedef TPin<Porth, 0 > Ph0;
+
342 typedef TPin<Porth, 1 > Ph1;
+
343 typedef TPin<Porth, 2 > Ph2;
+
344 typedef TPin<Porth, 3 > Ph3;
+
345 typedef TPin<Porth, 4 > Ph4;
+
346 typedef TPin<Porth, 5 > Ph5;
+
347 typedef TPin<Porth, 6 > Ph6;
+
348 typedef TPin<Porth, 7 > Ph7;
+
349 #endif
+
350 
+
351 #ifdef USE_PORTJ
+
352 typedef TPin<Portj, 0 > Pj0;
+
353 typedef TPin<Portj, 1 > Pj1;
+
354 typedef TPin<Portj, 2 > Pj2;
+
355 typedef TPin<Portj, 3 > Pj3;
+
356 typedef TPin<Portj, 4 > Pj4;
+
357 typedef TPin<Portj, 5 > Pj5;
+
358 typedef TPin<Portj, 6 > Pj6;
+
359 typedef TPin<Portj, 7 > Pj7;
+
360 #endif
+
361 
+
362 #ifdef USE_PORTK
+
363 typedef TPin<Portk, 0 > Pk0;
+
364 typedef TPin<Portk, 1 > Pk1;
+
365 typedef TPin<Portk, 2 > Pk2;
+
366 typedef TPin<Portk, 3 > Pk3;
+
367 typedef TPin<Portk, 4 > Pk4;
+
368 typedef TPin<Portk, 5 > Pk5;
+
369 typedef TPin<Portk, 6 > Pk6;
+
370 typedef TPin<Portk, 7 > Pk7;
+
371 #endif
+
372 
+
373 #ifdef USE_PORTL
+
374 typedef TPin<Portl, 0 > Pl0;
+
375 typedef TPin<Portl, 1 > Pl1;
+
376 typedef TPin<Portl, 2 > Pl2;
+
377 typedef TPin<Portl, 3 > Pl3;
+
378 typedef TPin<Portl, 4 > Pl4;
+
379 typedef TPin<Portl, 5 > Pl5;
+
380 typedef TPin<Portl, 6 > Pl6;
+
381 typedef TPin<Portl, 7 > Pl7;
+
382 #endif
+
383 
+
384 #ifdef USE_PORTQ
+
385 typedef TPin<Portq, 0 > Pq0;
+
386 typedef TPin<Portq, 1 > Pq1;
+
387 typedef TPin<Portq, 2 > Pq2;
+
388 typedef TPin<Portq, 3 > Pq3;
+
389 typedef TPin<Portq, 4 > Pq4;
+
390 typedef TPin<Portq, 5 > Pq5;
+
391 typedef TPin<Portq, 6 > Pq6;
+
392 typedef TPin<Portq, 7 > Pq7;
+
393 #endif
+
394 
+
395 #ifdef USE_PORTR
+
396 typedef TPin<Portr, 0 > Pr0;
+
397 typedef TPin<Portr, 1 > Pr1;
+
398 typedef TPin<Portr, 2 > Pr2;
+
399 typedef TPin<Portr, 3 > Pr3;
+
400 typedef TPin<Portr, 4 > Pr4;
+
401 typedef TPin<Portr, 5 > Pr5;
+
402 typedef TPin<Portr, 6 > Pr6;
+
403 typedef TPin<Portr, 7 > Pr7;
+
404 #endif
+
405 
+
406 #ifdef USE_TCCR0A
+
407 typedef TCom<Tccr0a, COM0A1> Tc0a; //P6
+
408 typedef TCom<Tccr0a, COM0B1> Tc0b; //P5
+
409 #endif
+
410 
+
411 #ifdef USE_TCCR1A
+
412 typedef TCom<Tccr1a, COM1A1> Tc1a; //P9
+
413 typedef TCom<Tccr1a, COM1B1> Tc1b; //P10
+
414 #endif
+
415 
+
416 #ifdef USE_TCCR2A
+
417 typedef TCom<Tccr2a, COM2A1> Tc2a; //P11
+
418 typedef TCom<Tccr2a, COM2B1> Tc2b; //P3
+
419 #endif
+
420 
+
421 template<typename Tp_pin, typename Tc_bit>
+
422 class Tp_Tc {
+
423 public:
+
424 
+
425  static void SetDir(uint8_t val) {
+
426  if(val)
+
427  SetDirWrite();
+
428  else SetDirRead();
+
429  }
+
430 
+
431  static void SetDirRead() {
+
432  Tp_pin::SetDirRead(); //set pin direction
+
433  Tc_bit::Clear(); //disconnect pin from PWM
+
434  }
+
435 
+
436  static void SetDirWrite() {
+
437  Tp_pin::SetDirWrite();
+
438  Tc_bit::Clear();
+
439  }
+
440 };
+
441 
+
442 /* pin definitions for cases where it's necessary to clear compare output mode bits */
+
443 
+
444 //typedef Tp_Tc<Pd3, Tc2b> P3; //Arduino pin 3
+
445 //typedef Tp_Tc<Pd5, Tc0b> P5; //Arduino pin 5
+
446 //typedef Tp_Tc<Pd6, Tc0a> P6; //Arduino pin 6
+
447 //typedef Tp_Tc<Pb1, Tc1a> P9; //Arduino pin 9
+
448 //typedef Tp_Tc<Pb2, Tc1b> P10; //Arduino pin 10
+
449 //typedef Tp_Tc<Pb3, Tc2a> P11; //Arduino pin 11
+
450 
+
451 /* Arduino pin definitions */
+
452 #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
+
453 // "Mega" Arduino pin numbers
454 
455 #define P0 Pe0
456 #define P1 Pe1
@@ -601,241 +601,324 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
510 #define P51 Pb2
511 #define P52 Pb1
512 #define P53 Pb0
-
513 #define P54 Pe6 // INT on Arduino ADK
-
514 
-
515 #endif // "Mega" pin numbers
-
516 
-
517 #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__)
-
518 //"Classic" Arduino pin numbers
-
519 
-
520 #define P0 Pd0
-
521 #define P1 Pd1
-
522 #define P2 Pd2
-
523 #define P3 Pd3
-
524 #define P4 Pd4
-
525 #define P5 Pd5
-
526 #define P6 Pd6
-
527 #define P7 Pd7
-
528 
-
529 #define P8 Pb0
-
530 #define P9 Pb1
-
531 #define P10 Pb2
-
532 #define P11 Pb3
-
533 #define P12 Pb4
-
534 #define P13 Pb5
-
535 
-
536 #define P14 Pc0
-
537 #define P15 Pc1
-
538 #define P16 Pc2
-
539 #define P17 Pc3
-
540 #define P18 Pc4
-
541 #define P19 Pc5
-
542 
-
543 #endif // "Classic" Arduino pin numbers
-
544 
-
545 #if !defined(BOARD_TEENSY) && defined(__AVR_ATmega32U4__)
-
546 // Arduino Leonardo pin numbers
-
547 
-
548 #define P0 Pd2 // D0 - PD2
-
549 #define P1 Pd3 // D1 - PD3
-
550 #define P2 Pd1 // D2 - PD1
-
551 #define P3 Pd0 // D3 - PD0
-
552 #define P4 Pd4 // D4 - PD4
-
553 #define P5 Pc6 // D5 - PC6
-
554 #define P6 Pd7 // D6 - PD7
-
555 #define P7 Pe6 // D7 - PE6
-
556 
-
557 #define P8 Pb4 // D8 - PB4
-
558 #define P9 Pb5 // D9 - PB5
-
559 #define P10 Pb6 // D10 - PB6
-
560 #define P11 Pb7 // D11 - PB7
-
561 #define P12 Pd6 // D12 - PD6
-
562 #define P13 Pc7 // D13 - PC7
-
563 
-
564 #define P14 Pb3 // D14 - MISO - PB3
-
565 #define P15 Pb1 // D15 - SCK - PB1
-
566 #define P16 Pb2 // D16 - MOSI - PB2
-
567 #define P17 Pb0 // D17 - SS - PB0
-
568 
-
569 #define P18 Pf7 // D18 - A0 - PF7
-
570 #define P19 Pf6 // D19 - A1 - PF6
-
571 #define P20 Pf5 // D20 - A2 - PF5
-
572 #define P21 Pf4 // D21 - A3 - PF4
-
573 #define P22 Pf1 // D22 - A4 - PF1
-
574 #define P23 Pf0 // D23 - A5 - PF0
-
575 
-
576 #define P24 Pd4 // D24 / D4 - A6 - PD4
-
577 #define P25 Pd7 // D25 / D6 - A7 - PD7
-
578 #define P26 Pb4 // D26 / D8 - A8 - PB4
-
579 #define P27 Pb5 // D27 / D9 - A9 - PB5
-
580 #define P28 Pb6 // D28 / D10 - A10 - PB6
-
581 #define P29 Pd6 // D29 / D12 - A11 - PD6
-
582 
-
583 #endif // Arduino Leonardo pin numbers
-
584 
-
585 #if defined(BOARD_TEENSY) && defined(__AVR_ATmega32U4__)
-
586 // Teensy 2.0 pin numbers
-
587 // http://www.pjrc.com/teensy/pinout.html
-
588 #define P0 Pb0
-
589 #define P1 Pb1
-
590 #define P2 Pb2
-
591 #define P3 Pb3
-
592 #define P4 Pb7
-
593 #define P5 Pd0
-
594 #define P6 Pd1
-
595 #define P7 Pd2
-
596 #define P8 Pd3
-
597 #define P9 Pc6
-
598 #define P10 Pc7
-
599 #define P11 Pd6
-
600 #define P12 Pd7
-
601 #define P13 Pb4
-
602 #define P14 Pb5
-
603 #define P15 Pb6
-
604 #define P16 Pf7
-
605 #define P17 Pf6
-
606 #define P18 Pf5
-
607 #define P19 Pf4
-
608 #define P20 Pf1
-
609 #define P21 Pf0
-
610 #define P22 Pd4
-
611 #define P23 Pd5
-
612 #define P24 Pe6
-
613 #endif // Teensy 2.0
-
614 
-
615 #if defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)
-
616 // Teensy++ 2.0 pin numbers
-
617 // http://www.pjrc.com/teensy/pinout.html
-
618 #define P0 Pd0
-
619 #define P1 Pd1
-
620 #define P2 Pd2
-
621 #define P3 Pd3
-
622 #define P4 Pd4
-
623 #define P5 Pd5
-
624 #define P6 Pd6
-
625 #define P7 Pd7
-
626 #define P8 Pe0
-
627 #define P9 Pe1
-
628 #define P10 Pc0
-
629 #define P11 Pc1
-
630 #define P12 Pc2
-
631 #define P13 Pc3
-
632 #define P14 Pc4
-
633 #define P15 Pc5
-
634 #define P16 Pc6
-
635 #define P17 Pc7
-
636 #define P18 Pe6
-
637 #define P19 Pe7
-
638 #define P20 Pb0
-
639 #define P21 Pb1
-
640 #define P22 Pb2
-
641 #define P23 Pb3
-
642 #define P24 Pb4
-
643 #define P25 Pb5
-
644 #define P26 Pb6
-
645 #define P27 Pb7
-
646 #define P28 Pa0
-
647 #define P29 Pa1
-
648 #define P30 Pa2
-
649 #define P31 Pa3
-
650 #define P32 Pa4
-
651 #define P33 Pa5
-
652 #define P34 Pa6
-
653 #define P35 Pa7
-
654 #define P36 Pe4
-
655 #define P37 Pe5
-
656 #define P38 Pf0
-
657 #define P39 Pf1
-
658 #define P40 Pf2
-
659 #define P41 Pf3
-
660 #define P42 Pf4
-
661 #define P43 Pf5
-
662 #define P44 Pf6
-
663 #define P45 Pf7
-
664 #endif // Teensy++ 2.0
-
665 
-
666 #if !defined(BOARD_SANGUINO) && (defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__))
-
667 #define BOARD_BALANDUINO
-
668 // Balanduino pin numbers
-
669 // http://balanduino.net/
-
670 #define P0 Pd0 /* 0 - PD0 */
-
671 #define P1 Pd1 /* 1 - PD1 */
-
672 #define P2 Pb2 /* 2 - PB2 */
-
673 #define P3 Pd6 /* 3 - PD6 */
-
674 #define P4 Pd7 /* 4 - PD7 */
-
675 #define P5 Pb3 /* 5 - PB3 */
-
676 #define P6 Pb4 /* 6 - PB4 */
-
677 #define P7 Pa0 /* 7 - PA0 */
-
678 #define P8 Pa1 /* 8 - PA1 */
-
679 #define P9 Pa2 /* 9 - PA2 */
-
680 #define P10 Pa3 /* 10 - PA3 */
-
681 #define P11 Pa4 /* 11 - PA4 */
-
682 #define P12 Pa5 /* 12 - PA5 */
-
683 #define P13 Pc0 /* 13 - PC0 */
-
684 #define P14 Pc1 /* 14 - PC1 */
-
685 #define P15 Pd2 /* 15 - PD2 */
-
686 #define P16 Pd3 /* 16 - PD3 */
-
687 #define P17 Pd4 /* 17 - PD4 */
-
688 #define P18 Pd5 /* 18 - PD5 */
-
689 #define P19 Pc2 /* 19 - PC2 */
-
690 #define P20 Pc3 /* 20 - PC3 */
-
691 #define P21 Pc4 /* 21 - PC4 */
-
692 #define P22 Pc5 /* 22 - PC5 */
-
693 #define P23 Pc6 /* 23 - PC6 */
-
694 #define P24 Pc7 /* 24 - PC7 */
-
695 #define P25 Pb0 /* 25 - PB0 */
-
696 #define P26 Pb1 /* 26 - PB1 */
-
697 #define P27 Pb5 /* 27 - PB5 */
-
698 #define P28 Pb6 /* 28 - PB6 */
-
699 #define P29 Pb7 /* 29 - PB7 */
-
700 #define P30 Pa6 /* 30 - PA6 */
-
701 #define P31 Pa7 /* 31 - PA7 */
-
702 #endif // Balanduino
-
703 
-
704 #if defined(BOARD_SANGUINO) && (defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__))
-
705 // Sanguino pin numbers
-
706 // http://sanguino.cc/hardware
-
707 #define P0 Pb0
-
708 #define P1 Pb1
-
709 #define P2 Pb2
-
710 #define P3 Pb3
-
711 #define P4 Pb4
-
712 #define P5 Pb5
-
713 #define P6 Pb6
-
714 #define P7 Pb7
-
715 #define P8 Pd0
-
716 #define P9 Pd1
-
717 #define P10 Pd2
-
718 #define P11 Pd3
-
719 #define P12 Pd4
-
720 #define P13 Pd5
-
721 #define P14 Pd6
-
722 #define P15 Pd7
-
723 #define P16 Pc0
-
724 #define P17 Pc1
-
725 #define P18 Pc2
-
726 #define P19 Pc3
-
727 #define P20 Pc4
-
728 #define P21 Pc5
-
729 #define P22 Pc6
-
730 #define P23 Pc7
-
731 #define P24 Pa0
-
732 #define P25 Pa1
-
733 #define P26 Pa2
-
734 #define P27 Pa3
-
735 #define P28 Pa4
-
736 #define P29 Pa5
-
737 #define P30 Pa6
-
738 #define P31 Pa7
-
739 #endif // Sanguino
-
740 
-
741 #endif //_avrpins_h_
+
513 
+
514 #ifdef BOARD_MEGA_ADK // These pins are not broken out on the Arduino ADK
+
515 #define P54 Pe6 // INT on Arduino ADK
+
516 #define P55 Pj2 // MAX_RESET on Arduino ADK
+
517 #endif
+
518 
+
519 // "Mega" pin numbers
+
520 
+
521 #elif defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__)
+
522 // "Classic" Arduino pin numbers
+
523 
+
524 #define P0 Pd0
+
525 #define P1 Pd1
+
526 #define P2 Pd2
+
527 #define P3 Pd3
+
528 #define P4 Pd4
+
529 #define P5 Pd5
+
530 #define P6 Pd6
+
531 #define P7 Pd7
+
532 
+
533 #define P8 Pb0
+
534 #define P9 Pb1
+
535 #define P10 Pb2
+
536 #define P11 Pb3
+
537 #define P12 Pb4
+
538 #define P13 Pb5
+
539 
+
540 #define P14 Pc0
+
541 #define P15 Pc1
+
542 #define P16 Pc2
+
543 #define P17 Pc3
+
544 #define P18 Pc4
+
545 #define P19 Pc5
+
546 
+
547 // "Classic" Arduino pin numbers
+
548 
+
549 #elif defined(CORE_TEENSY) && defined(__AVR_ATmega32U4__)
+
550 // Teensy 2.0 pin numbers
+
551 // http://www.pjrc.com/teensy/pinout.html
+
552 #define P0 Pb0
+
553 #define P1 Pb1
+
554 #define P2 Pb2
+
555 #define P3 Pb3
+
556 #define P4 Pb7
+
557 #define P5 Pd0
+
558 #define P6 Pd1
+
559 #define P7 Pd2
+
560 #define P8 Pd3
+
561 #define P9 Pc6
+
562 #define P10 Pc7
+
563 #define P11 Pd6
+
564 #define P12 Pd7
+
565 #define P13 Pb4
+
566 #define P14 Pb5
+
567 #define P15 Pb6
+
568 #define P16 Pf7
+
569 #define P17 Pf6
+
570 #define P18 Pf5
+
571 #define P19 Pf4
+
572 #define P20 Pf1
+
573 #define P21 Pf0
+
574 #define P22 Pd4
+
575 #define P23 Pd5
+
576 #define P24 Pe6
+
577 // Teensy 2.0
+
578 
+
579 #elif defined(__AVR_ATmega32U4__)
+
580 // Arduino Leonardo pin numbers
+
581 
+
582 #define P0 Pd2 // D0 - PD2
+
583 #define P1 Pd3 // D1 - PD3
+
584 #define P2 Pd1 // D2 - PD1
+
585 #define P3 Pd0 // D3 - PD0
+
586 #define P4 Pd4 // D4 - PD4
+
587 #define P5 Pc6 // D5 - PC6
+
588 #define P6 Pd7 // D6 - PD7
+
589 #define P7 Pe6 // D7 - PE6
+
590 
+
591 #define P8 Pb4 // D8 - PB4
+
592 #define P9 Pb5 // D9 - PB5
+
593 #define P10 Pb6 // D10 - PB6
+
594 #define P11 Pb7 // D11 - PB7
+
595 #define P12 Pd6 // D12 - PD6
+
596 #define P13 Pc7 // D13 - PC7
+
597 
+
598 #define P14 Pb3 // D14 - MISO - PB3
+
599 #define P15 Pb1 // D15 - SCK - PB1
+
600 #define P16 Pb2 // D16 - MOSI - PB2
+
601 #define P17 Pb0 // D17 - SS - PB0
+
602 
+
603 #define P18 Pf7 // D18 - A0 - PF7
+
604 #define P19 Pf6 // D19 - A1 - PF6
+
605 #define P20 Pf5 // D20 - A2 - PF5
+
606 #define P21 Pf4 // D21 - A3 - PF4
+
607 #define P22 Pf1 // D22 - A4 - PF1
+
608 #define P23 Pf0 // D23 - A5 - PF0
+
609 
+
610 #define P24 Pd4 // D24 / D4 - A6 - PD4
+
611 #define P25 Pd7 // D25 / D6 - A7 - PD7
+
612 #define P26 Pb4 // D26 / D8 - A8 - PB4
+
613 #define P27 Pb5 // D27 / D9 - A9 - PB5
+
614 #define P28 Pb6 // D28 / D10 - A10 - PB6
+
615 #define P29 Pd6 // D29 / D12 - A11 - PD6
+
616 
+
617 // Arduino Leonardo pin numbers
+
618 
+
619 #elif defined(CORE_TEENSY) && (defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__))
+
620 // Teensy++ 1.0 and 2.0 pin numbers
+
621 // http://www.pjrc.com/teensy/pinout.html
+
622 #define P0 Pd0
+
623 #define P1 Pd1
+
624 #define P2 Pd2
+
625 #define P3 Pd3
+
626 #define P4 Pd4
+
627 #define P5 Pd5
+
628 #define P6 Pd6
+
629 #define P7 Pd7
+
630 #define P8 Pe0
+
631 #define P9 Pe1
+
632 #define P10 Pc0
+
633 #define P11 Pc1
+
634 #define P12 Pc2
+
635 #define P13 Pc3
+
636 #define P14 Pc4
+
637 #define P15 Pc5
+
638 #define P16 Pc6
+
639 #define P17 Pc7
+
640 #define P18 Pe6
+
641 #define P19 Pe7
+
642 #define P20 Pb0
+
643 #define P21 Pb1
+
644 #define P22 Pb2
+
645 #define P23 Pb3
+
646 #define P24 Pb4
+
647 #define P25 Pb5
+
648 #define P26 Pb6
+
649 #define P27 Pb7
+
650 #define P28 Pa0
+
651 #define P29 Pa1
+
652 #define P30 Pa2
+
653 #define P31 Pa3
+
654 #define P32 Pa4
+
655 #define P33 Pa5
+
656 #define P34 Pa6
+
657 #define P35 Pa7
+
658 #define P36 Pe4
+
659 #define P37 Pe5
+
660 #define P38 Pf0
+
661 #define P39 Pf1
+
662 #define P40 Pf2
+
663 #define P41 Pf3
+
664 #define P42 Pf4
+
665 #define P43 Pf5
+
666 #define P44 Pf6
+
667 #define P45 Pf7
+
668 // Teensy++ 1.0 and 2.0
+
669 
+
670 #elif defined(ARDUINO_AVR_BALANDUINO) && (defined(__AVR_ATmega644__) || defined(__AVR_ATmega1284P__))
+
671 // Balanduino pin numbers
+
672 // http://balanduino.net/
+
673 #define P0 Pd0 /* 0 - PD0 */
+
674 #define P1 Pd1 /* 1 - PD1 */
+
675 #define P2 Pb2 /* 2 - PB2 */
+
676 #define P3 Pd6 /* 3 - PD6 */
+
677 #define P4 Pd7 /* 4 - PD7 */
+
678 #define P5 Pb3 /* 5 - PB3 */
+
679 #define P6 Pb4 /* 6 - PB4 */
+
680 #define P7 Pa0 /* 7 - PA0 */
+
681 #define P8 Pa1 /* 8 - PA1 */
+
682 #define P9 Pa2 /* 9 - PA2 */
+
683 #define P10 Pa3 /* 10 - PA3 */
+
684 #define P11 Pa4 /* 11 - PA4 */
+
685 #define P12 Pa5 /* 12 - PA5 */
+
686 #define P13 Pc1 /* 13 - PC1 */
+
687 #define P14 Pc0 /* 14 - PC0 */
+
688 #define P15 Pd2 /* 15 - PD2 */
+
689 #define P16 Pd3 /* 16 - PD3 */
+
690 #define P17 Pd4 /* 17 - PD4 */
+
691 #define P18 Pd5 /* 18 - PD5 */
+
692 #define P19 Pc2 /* 19 - PC2 */
+
693 #define P20 Pc3 /* 20 - PC3 */
+
694 #define P21 Pc4 /* 21 - PC4 */
+
695 #define P22 Pc5 /* 22 - PC5 */
+
696 #define P23 Pc6 /* 23 - PC6 */
+
697 #define P24 Pc7 /* 24 - PC7 */
+
698 #define P25 Pb0 /* 25 - PB0 */
+
699 #define P26 Pb1 /* 26 - PB1 */
+
700 #define P27 Pb5 /* 27 - PB5 */
+
701 #define P28 Pb6 /* 28 - PB6 */
+
702 #define P29 Pb7 /* 29 - PB7 */
+
703 #define P30 Pa6 /* 30 - PA6 */
+
704 #define P31 Pa7 /* 31 - PA7 */
+
705 // Balanduino
+
706 
+
707 #elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__)
+
708 // Sanguino pin numbers
+
709 // Homepage: http://sanguino.cc/hardware
+
710 // Hardware add-on: https://github.com/Lauszus/Sanguino
+
711 #define P0 Pb0
+
712 #define P1 Pb1
+
713 #define P2 Pb2
+
714 #define P3 Pb3
+
715 #define P4 Pb4
+
716 #define P5 Pb5
+
717 #define P6 Pb6
+
718 #define P7 Pb7
+
719 #define P8 Pd0
+
720 #define P9 Pd1
+
721 #define P10 Pd2
+
722 #define P11 Pd3
+
723 #define P12 Pd4
+
724 #define P13 Pd5
+
725 #define P14 Pd6
+
726 #define P15 Pd7
+
727 #define P16 Pc0
+
728 #define P17 Pc1
+
729 #define P18 Pc2
+
730 #define P19 Pc3
+
731 #define P20 Pc4
+
732 #define P21 Pc5
+
733 #define P22 Pc6
+
734 #define P23 Pc7
+
735 #define P24 Pa0
+
736 #define P25 Pa1
+
737 #define P26 Pa2
+
738 #define P27 Pa3
+
739 #define P28 Pa4
+
740 #define P29 Pa5
+
741 #define P30 Pa6
+
742 #define P31 Pa7
+
743 // Sanguino
+
744 
+
745 #else
+
746 #error "Please define board in avrpins.h"
+
747 
+
748 #endif // Arduino pin definitions
+
749 
+
750 #endif // __AVR__
+
751 
+
752 #if defined(__arm__) && defined(CORE_TEENSY)
+
753 
+
754 // pointers are 32 bits on ARM
+
755 #define pgm_read_pointer(p) pgm_read_dword(p)
+
756 
+
757 #include "core_pins.h"
+
758 #include "avr_emulation.h"
+
759 
+
760 #define GPIO_BITBAND_ADDR(reg, bit) (((uint32_t)&(reg) - 0x40000000) * 32 + (bit) * 4 + 0x42000000)
+
761 #define GPIO_BITBAND_PTR(reg, bit) ((uint8_t *)GPIO_BITBAND_ADDR((reg), (bit)))
+
762 
+
763 #define MAKE_PIN(className, baseReg, pinNum, configReg) \
+
764 class className { \
+
765 public: \
+
766  static void Set() { \
+
767  *GPIO_BITBAND_PTR(baseReg, pinNum) = 1; \
+
768  } \
+
769  static void Clear() { \
+
770  *GPIO_BITBAND_PTR(baseReg, pinNum) = 0; \
+
771  } \
+
772  static void SetDirRead() { \
+
773  configReg = PORT_PCR_SRE | PORT_PCR_DSE | PORT_PCR_MUX(1); \
+
774  *(GPIO_BITBAND_PTR(baseReg, pinNum) + 640) = 0; \
+
775  } \
+
776  static void SetDirWrite() { \
+
777  configReg = PORT_PCR_SRE | PORT_PCR_DSE | PORT_PCR_MUX(1); \
+
778  *(GPIO_BITBAND_PTR(baseReg, pinNum) + 640) = 1; \
+
779  } \
+
780  static uint8_t IsSet() { \
+
781  return *(GPIO_BITBAND_PTR(baseReg, pinNum) + 512); \
+
782  } \
+
783 };
+
784 
+
785 MAKE_PIN(P0, CORE_PIN0_PORTREG, CORE_PIN0_BIT, CORE_PIN0_CONFIG);
+
786 MAKE_PIN(P1, CORE_PIN1_PORTREG, CORE_PIN1_BIT, CORE_PIN1_CONFIG);
+
787 MAKE_PIN(P2, CORE_PIN2_PORTREG, CORE_PIN2_BIT, CORE_PIN2_CONFIG);
+
788 MAKE_PIN(P3, CORE_PIN3_PORTREG, CORE_PIN3_BIT, CORE_PIN3_CONFIG);
+
789 MAKE_PIN(P4, CORE_PIN4_PORTREG, CORE_PIN4_BIT, CORE_PIN4_CONFIG);
+
790 MAKE_PIN(P5, CORE_PIN5_PORTREG, CORE_PIN5_BIT, CORE_PIN5_CONFIG);
+
791 MAKE_PIN(P6, CORE_PIN6_PORTREG, CORE_PIN6_BIT, CORE_PIN6_CONFIG);
+
792 MAKE_PIN(P7, CORE_PIN7_PORTREG, CORE_PIN7_BIT, CORE_PIN7_CONFIG);
+
793 MAKE_PIN(P8, CORE_PIN8_PORTREG, CORE_PIN8_BIT, CORE_PIN8_CONFIG);
+
794 MAKE_PIN(P9, CORE_PIN9_PORTREG, CORE_PIN9_BIT, CORE_PIN9_CONFIG);
+
795 MAKE_PIN(P10, CORE_PIN10_PORTREG, CORE_PIN10_BIT, CORE_PIN10_CONFIG);
+
796 MAKE_PIN(P11, CORE_PIN11_PORTREG, CORE_PIN11_BIT, CORE_PIN11_CONFIG);
+
797 MAKE_PIN(P12, CORE_PIN12_PORTREG, CORE_PIN12_BIT, CORE_PIN12_CONFIG);
+
798 MAKE_PIN(P13, CORE_PIN13_PORTREG, CORE_PIN13_BIT, CORE_PIN13_CONFIG);
+
799 MAKE_PIN(P14, CORE_PIN14_PORTREG, CORE_PIN14_BIT, CORE_PIN14_CONFIG);
+
800 MAKE_PIN(P15, CORE_PIN15_PORTREG, CORE_PIN15_BIT, CORE_PIN15_CONFIG);
+
801 MAKE_PIN(P16, CORE_PIN16_PORTREG, CORE_PIN16_BIT, CORE_PIN16_CONFIG);
+
802 MAKE_PIN(P17, CORE_PIN17_PORTREG, CORE_PIN17_BIT, CORE_PIN17_CONFIG);
+
803 MAKE_PIN(P18, CORE_PIN18_PORTREG, CORE_PIN18_BIT, CORE_PIN18_CONFIG);
+
804 MAKE_PIN(P19, CORE_PIN19_PORTREG, CORE_PIN19_BIT, CORE_PIN19_CONFIG);
+
805 MAKE_PIN(P20, CORE_PIN20_PORTREG, CORE_PIN20_BIT, CORE_PIN20_CONFIG);
+
806 MAKE_PIN(P21, CORE_PIN21_PORTREG, CORE_PIN21_BIT, CORE_PIN21_CONFIG);
+
807 MAKE_PIN(P22, CORE_PIN22_PORTREG, CORE_PIN22_BIT, CORE_PIN22_CONFIG);
+
808 MAKE_PIN(P23, CORE_PIN23_PORTREG, CORE_PIN23_BIT, CORE_PIN23_CONFIG);
+
809 MAKE_PIN(P24, CORE_PIN24_PORTREG, CORE_PIN24_BIT, CORE_PIN24_CONFIG);
+
810 MAKE_PIN(P25, CORE_PIN25_PORTREG, CORE_PIN25_BIT, CORE_PIN25_CONFIG);
+
811 MAKE_PIN(P26, CORE_PIN26_PORTREG, CORE_PIN26_BIT, CORE_PIN26_CONFIG);
+
812 MAKE_PIN(P27, CORE_PIN27_PORTREG, CORE_PIN27_BIT, CORE_PIN27_CONFIG);
+
813 MAKE_PIN(P28, CORE_PIN28_PORTREG, CORE_PIN28_BIT, CORE_PIN28_CONFIG);
+
814 MAKE_PIN(P29, CORE_PIN29_PORTREG, CORE_PIN29_BIT, CORE_PIN29_CONFIG);
+
815 MAKE_PIN(P30, CORE_PIN30_PORTREG, CORE_PIN30_BIT, CORE_PIN30_CONFIG);
+
816 MAKE_PIN(P31, CORE_PIN31_PORTREG, CORE_PIN31_BIT, CORE_PIN31_CONFIG);
+
817 MAKE_PIN(P32, CORE_PIN32_PORTREG, CORE_PIN32_BIT, CORE_PIN32_CONFIG);
+
818 MAKE_PIN(P33, CORE_PIN33_PORTREG, CORE_PIN33_BIT, CORE_PIN33_CONFIG);
+
819 
+
820 #undef MAKE_PIN
+
821 
+
822 #endif // __arm__
+
823 
+
824 #endif //_avrpins_h_
diff --git a/cdcacm_8cpp.html b/cdcacm_8cpp.html index e65c9d36..6447b79a 100644 --- a/cdcacm_8cpp.html +++ b/cdcacm_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcacm.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for cdcacm.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for cdcacm.cpp: diff --git a/cdcacm_8cpp__incl.map b/cdcacm_8cpp__incl.map index e5b6bcda..0385c875 100644 --- a/cdcacm_8cpp__incl.map +++ b/cdcacm_8cpp__incl.map @@ -1,14 +1,4 @@ - - - - - - - - - - - - + + diff --git a/cdcacm_8cpp__incl.md5 b/cdcacm_8cpp__incl.md5 index 9b7e85b6..49395eca 100644 --- a/cdcacm_8cpp__incl.md5 +++ b/cdcacm_8cpp__incl.md5 @@ -1 +1 @@ -0bb9afd64095076cdf1c20ab6d83f459 \ No newline at end of file +b7b7a67edb342e99305bf84049fe6e3a \ No newline at end of file diff --git a/cdcacm_8cpp__incl.png b/cdcacm_8cpp__incl.png index be5ce7b97641091eee1885238c9db1399df46d48..f30bd0a2f17c84b1bd702756b0d0192c2aa3fac2 100644 GIT binary patch literal 4660 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%0D6&99rb z0n1uy-eN3K>8Zy+p6nP-2}yO`fH``?QOgD zCBG?@J^j|Q*b&;wTvur(j(cnLMMZ2wjuygxPnK}ARa!gooLFtL*y3aANjV{)Db=Y^ z)`DLvr8PlY+C*%is9!Tp3&FIqPaZcrYclwdj(b}}P;+3jV@yB-24l#P0@HC9{|^Li zA7(%s44W-{+wycsn~)fr$ys7wbRZDe+)JKW9^t;cWZedpN&I}I!V7xh2gbn~;T>#- zBAnZDU#h@Yu4>B}ehiuIHC@t~We!3>kl5|QReBd_)OoXWJPXj^AyGaAN!K=^q&tfV zYyn>ovSh4=9+(#r_s?i_^G{+3|Mi`qlLn(j$dn_Ac?0u33-u3KkRaIF0Z9q^kw#5b2q7Y5I!Q7F!OyJvvbjCZf_o?OeIGmH2Nfz7z_B zd3mkCqE&ikoeuhjnTa3?VG3|%M^GAAKnEEWujofg@WMl*KVB!w zj-^5h{Prz-pL_LLgQ`ASCPu-i_#E-ZnE-nVH@}A6uBx8f6%$)Zpq$@An0mPc~6(Iq%9*5jLju$a2!_ON)Esxg8;^)`q6dgvVYI=o+!ruXS+1NL@!5Xt``11jknHy zu?8`r#(~%5vhs}{cgU^E!i)vFltl54z_>yC2Qv$a(~L`Zq$hNAvB1COZRP`_Yu885 zk~mecqwb5CE}D=Y*e#=ojS`nVA-=tY;lo)$4)tIF)o4Z#fWbpmYj!eDwBzxOloO($p-)ZyHBdDgv+HarS+Rr{_0%`I1G2 zx)+UsHS%jOv`b+k{xHwh7DOfE(~#hw&R!g@Z-4n(iM1nR>)Vnpp#Ui^v^k>eLegtm zT7Dv&IsqT$e_1!o+5guS%>lr6!xVK5551pt*}XXUD!37dbqP2Ygui=)JymBis+#w z#HF99p{AzB1;;|$(p0T&7ez!x`P-mT;T=K88zEj$wN`?!J;8Wf7D({Y56KzKPU z!37v&R)1*}Ev3}&-oC}_nZH{Ukddiz_Zxtnaxh_Z-2i6hF?s!x1|OceupP}{`nux} z$5oMZUdaPoPi^?GGKEZ^g%qKX`+za*YB#bY^IvkX8Gd|KMcS>$uSOOgu!H;BLZchj tH6|^VwQmMrVxxEy2r!)bUr6aByx;!7vcu@$JFXjqr>&u{Ua4vu^v( literal 137034 zcmd?Rby!t@^fibD24Nr|snXqD3et^8mvmjaTMwYSsTB9060t1vhZ(R`b;ci`+x+GtczRQu zg?e+ae%8)zu_K=KfzifkLMON1v^5tMeEij|^ln-O!GD`5UAfP=Z~V7yf2;Y)e_P*a z#XJ7zd9Ak<71v-}I8r&&<7nD%baZrlJUDh{b@j9nSLaiso)hOy6qN5sCMF~Y3W|4y z#b^m)xWMprx~zkfuw_dKsaT2Sc)9(u;{UwvdnbHGZTmou*6Ieu*f&zKucZ}tVE=g|M#>UvCO{NI*$&eQ+>Fm`&G*WQ2s zCIg;0DLy$l$*n%|Z=IKoVtU5HVhac7SW%Uc(d^)*r#EAq=&`W8`~)Ar+@$;Ypr5+B zdP{4o3`Lkcl|2_BA?D(8dZG~%UVMk9h6Zg|GnK!jghak7UB`N30B*(cIYe#m#*!T> z3d+)8K|ukr>(Y-mnabP8XYssF6Apt~v?@8Uo19bA80|dWmqJ3n-`zmt;cwJs`a;a_ z+W+ef+~6fe!xpw>XFIIs#Un1e3som8nYfJFN*PKWh{EBu0VgaJlrF}9G5fCbIz#FD zJMSbaim;5qRbQcJA_|%egASKJg#AonV3%yM?Hha8{z>nBe1M(Fx+{0waTJm0zH=w2srBz))gqJbj~E2* z?(P;Gv8$dT;$&gX2OHz&#pHyrdGuXo1 ztl5A?i)5uETJUtOu*`1p*6LOAl?EzixE~A~@4I?zRy8yR z2w;nllNB9KNZt1R9Z10G>gER9@Xk`)tG(9h9xNs6yvE)iHa@JVcm|K(!29#R=P*2m z@_$`wFaKYT>;J>D`2XWBeF56W{$2GYX310m*4_03$MeS|``ZtQc@N$rk$FKHw*V!+ z|G0u4U3q3aI?2>&vmlyq)a34w$aP2#yqo{7K5BUI{ms2Saf&dTV_|6uR#H+HuA$7$ z|K9x%Ceb+paMN|>A2juo0M2-43SC_>JPRB;ygFUYvQC$avj-lN#PG~J%&P>{&D-9? zmX3bdsdwIqndFT`0B6)EbiDz>T;0mIf{LfQy z+|-&3qYhX>O$q$G!&?6iwd=n_eTId#u{KO?!4YuwSC4tIO=5d%svP+S-hBi6U;0hi zFUBV$ICzKCOq+k#SAgnWXS&jNGe1hKg#6(|U&fsc1i(yft?yNSF>%>& zW%=F{v*n`0^eeWWro!}_-@v&#UZwvIY9L9(RGAi0+;a~%t*nCn>I3mkNBrRTi$r;v z@KL1IX5FKab-;$*PKbH87O z-%S>?DKUvq*<7PD;ouz_@ld6UU1!20SRa!@#ZXvYc>Ne$jighXSyI4}3TW&ZDO}Vn zF!-#U>vU*!4_>wTe=84gIR8&etJWK7)E*PdSI;@={#sG7hcpll2haV#&{p2VWf+@# zVrCAQhX`VWE3CWqKUL70sHLSv+hhL?aS+ma`uE)290mbL7n|0bH}mCQYeV^&D!B){ zy968-LyzS6rcdM%2!y9+wRUc#I2op&Pt)vG1(l`80~Lgp88%@_f_F>97K7 z=#oy?;?)HRzQP!*%I!aqI-b<`Zwnkv`9NLq*lxsitQdEwX*Y7)>lR~WVX3~nIF*&_ zHY;W|YCG!mx_GUmvVe3w^MMk$_=S8Npcmz4+3!Qm(tNu1NzNK zM~zq!Z0dhY>ZiL*zI4>H;fK{vTMIPmI#Eu`UJ5~s%vS@mKp)DMCU1ra1 zGb`@4Z+f7~5KzB7fNLr2Lq+y#aG#l;o?b6MDv1gwAXPb&pP!%Fe`fbM=hW+H8ZEY+ z!)`$u)30}#8e62Xp~0FfuD14te-anr*Y<(!KeID4RQ`HQc;lutkPN~9%09M;0%R9c z6t#cPDm`o=M~l@Ti71FBhZ`t_x4cmJ)~LsdpN%bIT1-(fZdo|&z{Bc5Jjw;^%QE^*@Tv0H^Vag%{S~#+5wCLq4y?Ik6V1In4 zu&@w|n9sQigPv}WK=1-%F^HI0li{#4;4VijHTKTMVxWs_sgdnF@7C$OI6+%3i+A2q z3fPIA)4RjiB6obV?uG0E9y5j`ARQQ&jKIJ+Ip!I^2 znNVwz6%EDv;)6Xhw9+hp=!@vR<(KUE^hSk&DX+tt%{Vkj=@w z@4{}(Q?(cm%F<+reMR>pxKj@ZLqOB4Jht%jY368Yj@ZVGhoRXzHVpOO>SJZE&&+>!~ z!HJiZg25BNT<$3-%SQ|!p-3bVD&^?kNc2RJYA#q-S0J%|HlNy`hK}#?2f&!*nY z7?w9|QZ=!5f?Yhabdp@BTcUcg){j&--HGfnS^J6KWhRr-tDViEsWLibktY8)oyxz{ zc=wp_7inrCwSTDi5jv{y^KD(0Cl5cP`E)-hsjB3QJ8jexaQW73;NQr{5lfD}18)@X z%lFU%0P%i#!vkn@)z=24@D>v$Rmi|P-2sy?Y=}V<>6G+AgMw&jWuH2W;vW3KW=mvd zzi4dWz$!i22|hYbfbYQa#oF(x=U1n0Bd$BO&E+oO*J^0PMMn`U%h4V2(^E~@ET4)pb~Bvm1X`=n^C5=S3j3bc|5g03trp9JBf9=JI)rN{Nl!> ze)SLUx}>-Tvxz>PvMr+%NHj-|9=m_-m*geHj%{bd&(>sU)y-qV`_{gYH*CR%Kn|M} zMwbkm4C>sLxpb+iH7P18GTCztYai%m{P2_>`)(PT1B40FkNW-=9{R`J+)qhV4{))xyRj!u(aD3=2kGOKw9nWCYExek04f6d%)%{Qg#{X2grydD~%Fm^+bm$9`vj zXKncSxcG=Qo=)vJ6Xr*4PS?%v4#UND>1%EEIYX?C>ktCDybm?f+p^n)$2M2ixW}v= z)o0kG$b^leYC`%Tvme!`PLEC9o~KaR{P`$;;Ii3rM>MO*^H8R;6wfzw3x%p}pKj~) zIQ*H-=jY>s>TT(irz#!R++x6jj+!|x8w=|wFwN9Y+p0j-B&_+@pi^a0oo+;H#oY)v zPJu+ykgZ$S6JFFlxb3W$-%#(fI$akc&KE~Oha*fj!>iAf*jX~XhKbgwD{oX7o<<$e zXvU<c47Rvc1k)AKO&m>r+AxqPsVY|crDMTagWtaUB6 zeXUT>BBo^3oWeITjtHorI(%>_u#ez>imoS+65G!-o;x)~F#|oA$qjWAOU_Z;j zv_IKHEP=%J>AJ@O$8*GCs%?wgLqgBw$Y!>k2}3?n;<(-R)%+1miM<1_yZUW=>pH{T zzH2Ba=s;r7>F0PWdrU6Ik_Tho(D=w2KYtRnR&%CA7Io*QCSWUr zF@*d2HO}WkWH`GL2c(0gb9jq&WEac!MuC6Cwbe7(fAxz7rp?yi2WI3eq$(2>tB0v0 z`pg0&RbB_YntNOZM@6^b;%v>&S2{giof0(I+v~&jf@<#bEB79z9wAtl(|PcotBjDD zBaa&uO@5Qj@pm3Sxm#$WqT7TWuMJkUNl`FyCGE~0cJPF{oZPi#$K9QWN2dWUd>q5V zNnC!tA^t9WB@hH_RanS;-P}12*5;PVDoRDlZ;F+bOO#+ksi?2NSR06<&TWWc04GGfmY-)vCu1l=gS zMcnpiKAk*~De@t^3f0`5n|z-?Fh1P=3!jb~aQyFN177ike1hUOos|Hb&=R<;_dA(v zj-L>xKPie&*kZnJNn9-LQ-pqyU?Gz@^1tEA&wopgS&nR_v=piqL<#;wH5c%T$W7Ch zQHN|M|LVSGoH(n`2wm7?j>%YKtD{rw0s^h_mGV|3-r!1x?*iQ9*Jd%@yI2?@k{ z`F=GuTs$L*7H+Pt;$*~n%!wAkmn_lf{z*_UqR+H`=c%Q$vUB_@Rxjw4R?L?*R?PUK zLU&AYO@nTubYWqao0xbkkBOvUdTe%$ko0jnSyEVF!UYL09v(VQbXHkGL2**jyrQ}# zxo?BE_WLNj%OO=$*OQ?olgptY@1Im&Kya^w31oSN1&4HathBlbCQP4)KiIkI_bhF}@sVu>VLqk8yt$&2rztr)c zBzktdBde>pNsqG|kGugGAS7HR^1S+$5JSlEoXX3b&k}Cpn0~Q824e#P2=3lpF)Uc< z=`o6ymc8)2>suKWO{Dd@dErdb?=K(Qgoe= zCR?-CstF12339qPqO-0Jqesd-3t@mS&y#quCI%I;q`O2P7KwmssQ zlEDEQ22B$hdISSKqTD&Z?ANbwY%Q@@M-&vOO-*Qjn$Rf7ZixfsmwR(8jV_#`SUEKBJxmnjnU5e)6(;-1aO4?-~*8Lv^$qj_IoK{ILTU#I(QS>;Dp2-(<#r8T`eMMf0e@hVx! zmWTVRiHW%r32~0fN}e9ZvZCj2qv*C>^|O@Avt>rdvP{i;ONvb9Yy*XU0N5alm(|tT z5D1>ZC`m=;ZgY5@eBRIz=p@!WiewTvEqN3=m zg?0lLcMp+dQ4t1BF1?+(qXZ&)^z&$KtBr4|;gUY9#-w*9=7P+xaYwdR?`b{V+Ii^g zb}zncBs!<6%2!+aI(jE6iWBH5-kDII;4C6=5N;K+5WKkz`6YFY;=3YZLHXv9bkqut z?e%j#O@k^+F~RUwe)b37l+Dd7m0Ram7K~)fGnE-sAYya24(6FT#cwi|R^r8AHPpV4 z6BJZ<;oUH)v$jYXDoLKRJyeX+14IeAIyz!Mcg`bK%ovVX9T_Rg>3zi-jjmYX+{myb zo1sd#aQN5FPg|t-prvKt_wSRWq!al0`!{On9S;wY&!1mzZ^Qi^Y(U)jPX+B~{{+%1 zXO%9zwJ1TpVtJFyZBdv}&KKM~eRIeHB(Okeyrdco{Idp(u!3$fa4KaBShwTO*!ome zEw1h_?w#=2J{(NDm?gPfvUj&DG&?;QtM_9J-M(dzuG&Vz&trSC*U;D3RaCU~Qa%Hd zUnrTm1i2djQayu>3mJdo?cb7B{A&Qrb7qW;b*ZBS6b2sFG)A4Hp-B8A>yYly}kh z;IR;rW(#d)+VP>Ep{@NL?}f`WXU{_VOr6Scr#2ZWK65g4u|9nvblp1L4AB_)hK8J#q}GpKk z83JcpwGs5()zwMq2{F~~$447jXrLv#9bg+6&L{G!WDjZpU9O+jEsVZ%r%t~~G(GKO zTH43PCN#%g3#MYFk7@oxkXh>-)wD!U0ZOg|B!;+mQ$i=z{NP2~C6s~dXF zJSa<7awRIIUw!w;FLU!=4)%<=#^#iY(rg(i+XB1yhKlME3>1HheRFfgX~N;1?(VOy zUDJbLW!O2Cq6;AgTs1Y;IA}_H?PCWQ$>0wCc3TKbeYc1MXp^7{r;3O zL+N?AE9xy5)SKe(eX7pR8{t~`Cs}Y*2>n2qc9-KAA(3ILG(8Skc0?a3?^`#gKBoS2 zuura{G}rVM(I zfdS?9k>Y>|MiQrXm+^xQdiSLt?S_V%!3tPnK@p&**Vx$(eDFQ4Jev8cnDO1^JXY(w|$4C_m5lvpd>)XMu6;?p%<&~eC+tn#Y7arwbq`Iy-x0KpA0I7-Jt%QeqYx)0dqclSWZ2v~B!qZ)@u0 z_%p-fLWfs+wl@;cXZH8klUHx_XpIg1G_z0&`5^82t(AQag&~rNaP9HKna6}{GVg8V zgH>L5b8!u|cFMI)=ZPN*nP-YJ3d?f+#Xag*!Ez|X zuq|8YmBaGbZKwVbd^)7xyHVpcgVDAE#8WnoYP6>2=x|a>UA^!5gUME@@5%&4>S1XOKL$!;ZmmD0$-9Yz$9Y#JASVvmI!J0hnZyKU}{~rkFv-)Fnj|uFJye{SvkLNo~9M z4_p1@Uq4kT7^1+c1PO85M>Ta`C zt%CfkAg85emz2b}r8ej?UBAI!U+?k!xjRr(Vc{wXRzkPiq>rJf)(hUdl$|@E%$Whn~*_@JdNe zkj*k`yP7U`3MOtEwL7MN^f=poms`ykj z?`S(eSq#ejSO9J;5MihRFw;^a3J!S?pFr&U{(&`aKx3NHibPR0+si+Rhs6X0Z#sA@ z`G{lP?X*sE8_J0AR{}>XP;Ov`vcAyCy8?=s6IVlFpI;fvox##cq}(5|X&~QG(cDf? zol^9A!tt@^99RQb_ity0=j2#s{xr$RvdI2rmifypJI4|@TbQ9pgPx~zX)Y@nkWSQ_ zpQ!zRD6N>AVM9w&rb!=Z4tbwbH4mcCSQO>?+=BP46wrq}Vj0x*O}a?&-M)pt0# ztx81od7SeMHYa`y`!V1JMud>oFSbj?^RU1C(G@SCr6w=$wICfXX$ZBjyZc%PHZ&22 zOiaX&Phg!5;rO)3s*MS!HgVj(2gP?{O$$K>Jl?YY}JpK z62IR{1uQ7)^+7LQJo4fzs3p%y&&9dEeA*&MCPFSklAX%Qr z25BYGN|k6ne?18D-wFD%cMt1ud;f9auyo)bRh?W5Geu}TS60IV10~Beg*Pf#@xA~k zQ2)WiJa}F_3=6`*h_S8aI_LMKByvvVNn7-}Q<>%+l{x2`UtHE=-MN2~F z=U@ql3?}J}%P2oT2m*GIz`KFxp`VSgRKA?NBsy7$4ZC)220#L)&H7dshgKY;Uy13* z3)8J9tDmPT3hKQYdVkAwcQNQT)?s#rLNKjNY&sbi*>GnkJi%yuTd862PtrB#b zd@(enH#BUYpQjHG&xSk519PVu&$mB)UcTLI@W3dxePS%jae~M?A~j#NtxJA$%X(6_ zstGbWiVoK@LDG=RE^TFR`B!f`t&}AGzH1>8Y2B0Zc6nI=DmrjEA0xgW;~PUo%R}W3 zZh&;FgNy{c948;;95yuD&yFv799HIK^~(lxCo2r4WGy#nJ35mhbuMh0zK)TKCEP== z+`iM((lWO?uztLbe4mmsg{xg!{93c-tz!i#Cz6Ji_Hs~Xciz@PQ*-M5Em9mh@qmDP zDO4@GdDxHp!>~P0?B5`=-zQOJC<&b;<-44`r#&~HIRwG^oAi;LHRlQ}rtHCD>WwW74?ZW6;I-XM55Lxer| z_Pk-h(>>IPVR3`rw6Q=Dpr|4opWCsHXZL4 zBPUKS-rdLy4SnBCoZQV~w{QYV3qj_v;~Q1g%Z-W(ETZz@=qE_W_2-LHV|66GGuFOs@6~FsM{3GD$JVD%8wzOj{ZoGfVFNJ)QUPk&lG`pPgZLs z5d;KjE`nb~0fdH6wT=uG~u5bVK8IL(R^Zuk&t`| z!Wt>v&LO@Nw^?1`)|v1dl54dnF>Rexv~uTYwl~4u_M@FK6m3xj0FYOWe%N+zWGvVN0+;DxheXM#{{U;+>ObO&!!TXa~DX>CBeQSMI@ zYO0^4{dec*ZCMJ-?H;hukzn|EH|mjcmJ;AA0q@-3pEE)hCL_StmlQ zrgS&o3H-YCee)T2eV1PT5MW)(>QFId8R$+5*gkbnA29Qc4RTLDF7p_jl+4QgM5jU< z#tu9l7rRg8O|g15TUhhc`5EZ7G5rjSdw^m}D~VDZ?(95w$~cGmPfE(m@&0`!)Ac7O z-s2loG`|ELr5#~?Xlob??{QObV%{HjvJ@=3n)cGUK)e$J6ic5gI*hq%9hQ;z75E(di1 z9&&PQ5?3Y@m`g_B(BJ8qlhe`?!@8zc`@Y=>sx&X7!|!?zAT)4V9v=CYw`$)&(7qe8 zs2LU*73eCOnifh^quxX91XSd06AMn!%x(y*H4ZKA1hKU)&=nzeS#v%cNU*71KvsoDkgT)< zWc)CA{*j_S z@rnrQ`1?sxE=W=aqaN_9R4v}jn7@g5q0rq`K*>sk~YZ$(n^8`_YqbZLpF zkMt-h{q{yb@43cG8amI1CpvEM@j6+yXjsulNRsnkJjB3g+1nfRJf2_P+xtmN%;a`( z0vnu@m4&?*#pYfU(YpjMtSs`U(ttN)u!W^Qd2XwsJ!L6_s z7uNz!dnoyGYot!{y^%Lk0UUxg5h*5v^U3kl_^o2~T`;R(SrH$!cS9gz?G*8ByXWW0 zKYiW~`h4fpSIkfTI{}~X)Xt-!TZ(sd<$^|@lT-Ci`+7^!}?cILLWXNNY=QG|sz8*CjD77mN{I&#EbB^L=}U|@LY zev+Qv8JcDYH@YQH{Bd8#4!|!Ym{#Qww4I_~ZYOdvJI*w`g#w9LS3NK5xXIwWoC=1C z^K9gXCNzAJ+Ve}@Jrx@#P72)wDjH))*+|dx{lT*^N}ZLWNt2?sm|_8*a!T_OE#Se& zzwhzV(rQ3G`14w>eW^cSZNX^2Bfbo5A{$W?corTMln7ktkHdf(UtOoBRm{uC~ zfGMP>d?2Iv*w833J9{HJ>5Q4~$;q>T#)z=jE_*-MhM3h96!>G?@p(C1cjijl+DcPW z?zc@z78Nf;>t(F0JW+M{)oVHRxa#CtiOcS`!|K7eZa8`U&*e zs$xBPe>GAozvpy;oA4_UudR+70ynnZeY^1(`n=_S2F=Xyi3;S_YOY)ypBgdY+J0n> zv}(2cSRjV}z-oJABLI`Aa~UWa^EIdqk*J zA5rH?yuO9HT7O+Wk=LfWXQ?g6zy`LXE}4RnMws zCWc*be!kzpkl(KOMwT)UvP0&spCHNLPAznL`tfuYaX(wt&K~%+ErwKzokDDNyJOxww7<& zDZpD{wbCEScuDv4#aXTw{pL*6>ESej3n++QNga*@*vpS22Vg26G4{KIeQc8?eiHy~NUPMMe8D>PUv0;u64EAmP zbxP?^YNbr{%*;dM^tYB6qO*=`--SZ!9LN0{*cHrEdeg|I<71dS-O)cX=wQf<0z%Xi za9$AOEEIa4_b}_{@TsX-;c;#R&bK!4pYOFXd>yVl9vZc}RMtFOcr5tAt-@&ZbK1I& zm&Z)i;lZa@l`1+_2%wo&C$_TbvTrO#>@9$X>*!4DT*kOedOUKqZYWSThw0&iR<0M(#>TNg?(vV8yFn-!&sHB1mqG)Nqm?d0=t6HQrx3( zak=yG;rp4{8xX9Snd^@p`BYY-zQssyH)5nmw6tcnw`TG}(~*@Gokj#RP4G$#XTf;( z%a z<n9me^iP}Z^U2aX;#Ho^)D!V(ht5)#5{(PKu1 zc3fE>K75C+5`MxW1)!)?ag~9{RaUCA{LcRVJ;D7u7;7lP-ZH5USqv<7KVXGHv(X=n z`BW!eZ!;75jp5g&US8YFz2P|b_}!hCveYCBjmT#i?Kq(^0$laHI1c&tEqH%*bH(RD zWxQtP5Szz|8yZ$l^@3Co$>pDQWRP~1>%?P{VpWSmW2<0Ea>27L)yXe{bTnqF`7?e6 zEXQGTvR)_4Y95XiFEiQCw}d+)b%--_tr9^M+HOkMTDSb&zFOp71Z!U5+v-j?sptot z&6`swJ_(}w_8p&v(?WsvDqzpgl1fXXON!r?mAE4zi}^VSi_ks%OPAMEZegeX{$l7M z9^(u|0yTcj&c>NZ?Z310FeT*!1tl6K`7J0m4Syujw$UOKGdkO|JKD1a{wdqC$;>uo zYu+e#e5OrIyQA9&AXA#dW?5KgDP_MjI&SQ)CMGBUe*STu~}$KfjqIa zz?pfrI#w1FPK$)xr{zsRWTJJR!zg`br@qVkgZ*{4#bUt;vr<^LdmFr z`(_on(PB54pl42U;pWhEF45c;42EBf+9~&rS@Fy)S@-BIX-@Lm5Yyoew*{HP*yHu%et<2zN!UKnaxoZ zXMkG$WJ#KE>BIy!ebJe@=I!SXL~%4pswU3BOS*G@I2=aNSamo7Z8fqz@}OG`t@?Oj zZn-yCbN6pnRwZTPSz76lO#acY*LGDGCplI%{0>W9D*~C{)2M!xmm~I95R`Hej5-3A z>mwo_d>yGNDce3+2bU-2o0=qqv<&}Q$qW1nL>$g`09ybY= zK<*+fT-IX5Xu?mX>jy0+&bqSHnpJrJ=;gOZ7uHSc6gZfZ^jkbK7+wUTj1zDSa)7}~ z-v3#a3y5K>aq^GKFj zjNauoa&ioVD7NLh;JP$OVJpj$k-?CW#jLx@*5x7IAsnM@-qM-N54j7e4w$l&O-Q`K ztM@8um(`F;smz2e?R9#KTpZOE=KlOyXO;@B-tzL*Fl=Jt{jXmoK4^@fW4Sq7r_0I3 zakH8(w2_VN`@Q@5{k!Gm#Y|R~dvul>*-U#puR8<>5cnmxl}@4p&3>m~4JpVt-~bua zsUdw@d)~Ny563+?2LE6o*2#Wx>Iv&aEDQNXxC)MgO&cgk0XQB<8x>L!jGM_Zi1Y}Y z^;X8sGoZ+~?)6N#u69&2u2VBu9u3wUY!1J^Pe6O#BxuB_8oZFR{ORvb_uL=Lw{NSO z4IbYvZEhxN6$>IFSpUNUE{RUvyl>ywuphJIJnqMR%nsmZkUzvls0{qh))rRIUr@4u zHDAA`9B}2_CssEZVF+Un`{{n+E(7pv>2!4bS@i1{Ja!trxxZULy`R})AUH-l;xc$V zHKDmw^YkQ=8P(Un(bJpU^feF~y8`uP9Z&8WC#$y-63MS-m=Wr~D_!c-Wo6cUibb!v zM)XUD9p@izGUjBz5l>A3AvTJimz$InzwrKe<@#u6<+dnJY`g1Xe502A=t2J6T%<}? z)b5l|^f>p?e54njU7Fcs^21AMZ#w0H#|=rT zSivLR%N(smsIQ4`8xfGUC)F4^JoF@5$`npq7n%Z~^SZW0iPPbtb+OxWwy0T3M1(_c z2Z919r{L6x%E97!X-j+t4zjYcH^!XJ+arm~F8uf@bko2eJg{D)uM zj^};P7fWIkGvs7FU0NfW(xg9cc5EB)4-mgg|ps7gW8Fwlp!Q{{?7KZK}?uL?+@$1(<44ifs z&3AXq?%o5hWh{6jn4eqp{rm)r4{~A&i(F(%TfD>PwTOt6rKJOifbdg9Wz@ZaKfoJ-(S+gM(+Z3f|t<(sFu!sFyv!20}FG2FS6{m06$7ePU&W?gB6kjE$`{5yzJ3H4-BC+#M0C z1HFuudC8S$;~QSz+N1IrSnY-~b0-|zNhjTR2is$Vi10%`D zC9eB?PUE))9DdD=J2?UN7VFl1T1>17AM;!HgZ8MleRXg1)0ZIY_#8%h`ncA{n&djH zW*3y+)%LQoes1pY;o-+FF2&%-qzV5*Ocb3!%x)wN7KfqW6;+Bk+x@G-Eg==RqqGr| zYG{~`ahrGyH!C+ieVc7*a0#SqNqOW)QPfHlPlxzsY@d5XM&=8r|JIewmA zxzi#Cw0>=}W+z5Wovx(JjuRXSC6*pzfxUTQmX}bDWTnwhj%MA)qtro`-|FD436J0q z+>>8`l@cM&H`X6&8QRKj5c+m;r`zDyTacBzJisdgtE3|_m*1=UBl?GL;zy>Y53a!B z-)VDWrwtOt1jnJ_1^%%=u{ZoDm5W@VChyEl%4}0pa4ny`C|!lEthfEt3mcih-@UJy z%$0kfWWowrRT76P?6~%Kyny`lw{Kc^GHC=|vud91O@D-LtqtnJ4K&HVm9Mq#t@If_ zZXOPYG*mw|V6?6l?cV>ZEJ%PSTQKM`eCwng9d$N87Cd}n=9 z(nk#|kIO*LjiXi_iZN$eHz8Bg-Pdv+8n3~OMH?`t`a)Kr@8Z1CeBdlaeu>!4Vg)1_ zLMpA&K>$#GezQ-~_;;=AuZl)9;6z7!CIlg^sAzcF8l8YbMlR^N*9qd~-7yrh#cSVl za?XPUCFK%x0K|W#iM||Ag>sR=$88Ca@Ap6v zLJt5O%Skd>RZ&~-$J>>rSOwyLzEywY;pe86{$2QT8tas+CCs#H z+aXtdefJH@1r!IKJ=_L({QLLQ@03Fylu$cCLnhUNLRuI@^1CXDTIxV=EE{#7)lzc} zU{Kh_5({QN0RDqHl~r!{`psrR|KDA}NaSXvX4ts<$ThmXB+*L%Y1*3)rZ{NRPB&t$ zSF=e`C9P1rU&{o-th3|dY}X|^i<_=(v1C+~UY(7F`c9bVe)%KH7M1Lgk%2Ui`EZfL zG1i<*<7Y7?O$~g96K+zG3^Fx2lpQg}o@YlhQ7NdgT;om}_b_AIT69cVAKJsi5dt22Fpomz%A>a{}O+MGdFr2~fVdLLd_ z`?-eC`Hv|7q@{}NE$)z)J||oB{E)T|ArcE}xr&5cT8mjKDd{=vibD1ak)Xi9q?fpy zuN9lR=Q;b;Krx7fu}~cW9ezimpdNHAnf*B6*yKd;oU9|$_gr@o$UyjZaWggbxxM`J z+Wx*iD#tahu<&rkFm^w`QwB8_ql+`Pwv!1?d!AkM-1D7rr(wH=l*;pic*TtL3XMMc z;$nZB*@?d`u10%HpH^LGMv4U!xfC3yYJXW0%bAtvxUC<6KH_}dzUBf@ot}8H(eSwd z)Fy#F`82oPv*E&i^T7*EnBgI7WYqHYI-V}+J^x2jMbhwLE{8JMYUu=|-OyMij^~Zd zijuF;4=|+wuY5#_8O!v{@n}naaM>BY%V+Dz>Q}Fzs_L~CwYH?7W@%a6ZF1+{ZZr$I z04uBI?+>avlRrk0()Q|l#_%4+gptPV4KPYVYF2ujKC!Z@^T9G=&=J6_5yex*zB>+% z(bkq0ptB>bQr>ElrxO!ZzEA;rjglvUM_v>fSve7M+u9uObTVi<@47CgUoreTG|tBW z3FpT{lP-(M%d>QyK8r_~ezUM1u3DLVeSLw8BW+}EWlVVZVUHBA8r?zwV+SaeCz2>9 z+<||-CF)2i+QXqMW*A?&7oaeH*Z8L|3%V5WfldLMaS2EKtKTHN97Zslenim#D$#7B zT#fJC8nI~de8cA*@L&=OxaXIb%TUb)l8~^PDry=nv_D}Nm4o= z(Pt?DbIiq#@u^wTv6A)A7rVs{D@u)zB%`Ge}UJQ1^$ShX_xrm&+tN2q6PT7$J@&uFjf^6{`@%|sgqFsZm}b-%n~&I z%d^E|6$eKe21^Lc;pK7XD2em;t8BSiBnc-RaIM#oo0X>(T<5_B z;|3Cn&*|#K{}=;g(%4g}pxX|vUh3Le_ipk8jTv-hbx}jHgiCP#z>;c$Z;U*C+h=a+dZtm_=DH1l2Eiy4|7E_)Q z81~{FRjC;g#ZFe;;P3?Q#X%4sfg=FDSCQ#wQ`6}sOb1X*!E_6xHv`IoyN9n-q|un$ z=Fx`cyW%1f@P6#pV{wCmo9J}`YH`@s`n?<1qc<$U0|GCvth@<|k0o&OsKZvRHOHp( zL}HlbAA%PJgCHXC$s_nW^!PWJhh5npfgqH=TfEroEi+CyzL;r5=B&oF{aZa$54Sx} zmM`~_R!AQ-sRZ|(Q7|XS#1f<5vGGc^x3Q`Bf2;w9d9au4|L~(YMCzzmRm|*k!z}Ot z>FZn&ac)u41C7J+|;&Sj1Klfaa?(B1^SVom)^{@u1LG?F&Lu|_K< zlQ;pbGJUa)94!}AAD59L_}d0o27~u++boroDRjzg&0#DA9DvxxVCBUn88be8etzfW zqM%niXRbyoi<6?tpn&7rs^G;@AIx0`_g^U%p08vEz?Zw*2%N{Y9k%s)eXuMGhL_r7 zNhD<*FYn%StkCaG)3>S&2@id^1O5kny&Ps7)BFDf4ruAaBtli`jHIPeB(A`9${*U& zblLFDNu5eBug~g;twUV7=!b&l$~*Aobv@?E@oa)Kh=zB+Bnf~$tQgSE**Jc|p!v#j z#!h?3ZdzLg9GJK|XZeOwm?8?T5r%ww@m# zC6PFo!%x?Dj$7ZU{~KaX;_18-Ca3Kbxqq_nCV0NLRp)b_X%s7;i2;8+qdl7S4LHan z)e1w$#|izDegY=cT%NoAld`#k1O(1oF=e*d7m3a$D0Pj}JzT=NbHchGa2nRbhc z9CyZYx=&P2lZuH>X>6J8?3i86xFJ=+{eE$Pyc&o|Qq4K+mfiK;NW45VgvCMqdIs94 zj-{oIj|dc`H5VcD7oecS9|ySw*Ap82R4G=-y{4EzOK_Q0=rsXa~( zh#RZ~P#s|v<0O~s%7bi9Ea1MqHGL0e-)1aoVqd>R@p2k&j7_)tJoG29 z6;y=N(sLA#k7?^5f*2dlgTU4`^z$ypKKP2>_1PYVVO7DOt|+SzmvDr+?Zr8{Yn3Sg z!tt(HTU5x0Yi)x{Z~9LLG-^Pe2>ynBc39I{J|D5F!6KQ_CwMq^FzHEK3jR;VN+zA> zbyS#3=_Vu9ZccSjaCuw`H0c(=RB{9*C#Nh8e=izDl1ybpuZeVSb-4-PtxxXZ@^X63 zYbyImkHaO5#A%R)MFIr)Ty|0kXv-(^-fmJR5(-%B8Xlre?d9{k-A!~|83j-jI9LG4q&r1gq*FSj8&tYWx}@tn?mOSie`d$oab5M^`@82n=ZSMG z2Mi(RJzzLmxg5?f(ReboL$Y~%J6XT?;#>2r%|eN5N#pl`HzAc=u>rXL+h5HmUFkA& z{>DcYW^RN37dKAdpL&$qBvQ=b#9{CH+NQZ#sL}OVsO#RA*5Go<(wyDr-;E{fTd7BG zNJkG@{5|%+oZMU|=jK{kTGFXaVxgmp);pHmVf?G<)ql=fs=9r&p1wEZoRoH5-q`3l zmTS=4n-Ukx1GeOncTdo=^Nbj%s8}B@_VmW3(#tWxF#jPp;hVVlaaZ`P7lo4 z85#jSLcgMh#{BV?0V(M(3k!Ep+FV@f^$nhRea^|wDzRGGo}Av;_!SZ&O3Xr*Tw>G` z8|zbTxq7`$S)~@iCL}~lWlc@>Vrw|VqQZ&Ka)^hJuw!Ss`f&E8HrKDvVg8*wp`!~GWRJE@vi6GC<6he~!wLpxa!6pfQVe_k&uF)%1#V*Xqo zDj4jWHbU6fK0danA-Fi+Vr63bXlwfrt}yr$h8KYg(TlY!jkvh5$;lF1Tdm{2m_CGS zNy({Vuf*d}P*>U6hM)8AjSu4_Z7Ba-c?>?JzdwGUzn@Jr8luqAp$hImL^#6*W$@`` zWTe996pfd!UKQnimwE4=;)U?MMnrvg&fWgvBOhLHgOg&K7`hm4(3b@O1O!-E;_Dni z(QhInaUv4N7bgYDzZ*>tyzcn`YsW zh`g5@EXd6KPC&q5V}nSW^ZM{mbm4*P1zdSWad9iZqgHmFO0(N!gDz@U#>;7J$~m5) z!8TlVsh)aHBMxg?2wGNTtnIZsngyg?wy_M;$jnk1$A}&L#c{}x|#m`)JU7V6nJ>HGE!xD#Kehx z&({YH;uAdk`|Lg+qut!xFMj{@@v7i74vM`!*5)5SM|-Ttv}(l~ub$l1?&``LOzn}B z{#IH&=X#h;eebtA4bAeh(!G1~Gc%UAyNCn?l1xM#Tm<~iZ=%92?+ErIdd*Z-pRBDk z^!7Nz-7=DpFeOdGl9o<6*?o`kF5?zmfADsF`uk#N=;roz!mnSix3@7LJfIG|Z-p%0 zZ1}CQ@wPuH)b&*BDFa%Xa7o?A4fE>MUq35JNX3;D6~)9!qXtp25EdF-$0-PvqoWkV zB=iUf{lm#71;^IDBjD{q$!!cz?=BhTCY@Qll9!duuXp|3 zS&679oR(`B}qX+270ZjsQ&`t1nN9>0WeG|qr z)b_Ys&-TNr?61Pf-NuW_ljbqR5S$^r=I?Knl_@PPGk>&S`rtu`iD`(}^26+nu{;)| z_1NBC`S|!Za&nhOWjp?4vkhuCC+2IHr*n1LS-%C&!|H>0tuFXvIr^cT!v6o%72ZmRfB^a9of6c#VXU*0^PORo~y!olZ zt~c;Lc~?YVQi{x=OGRL_r{#+mpR11Nl=28#=byZwzPOOc%#y*w>#eU3Bp~qn`_~~j z_`r8we$-DwudOWv3F+`1L{-s-)tfySXK-Lb;wh{cM5eLq|VCL}UZM_){=DT|QqdoQIS|P0!O}!6&`Or8)zTrM`}?~wDj^%rlxk=t)Lw6@6CS?^drzW zYR=Bh6|mL+Uc4(e%1DQDHD2$yGdS48&0Pd{R83WK;H%!1fR4FaS_nEJks;e@1{3qL z#4GycCE0ZjwA$^-04if!JPQl*+x^9qeQV$A%V#a*gSWD>vgG{nscF}TqqMIT4)t=` zND8YRCb}ZX8yd(O8ny)l%=;254)#l#H9D(}agR>N?_yzLq4^LQp43D(J1mrFHQz+X zpKK4N5x;-$D=OLt4=q360(Jcrk;2-{=;%Y@)8~TMYOb!r#t(got>!AHrs>@;ey*-m zda{h?lVJY-#m&rJ#lax?>b1pF4__3oq&D3$C~}I5v<3#0?~0bVo+Sua>tN8(7(bS) zqod1ZdEXlr#4y+7o|B%w*4EHkW)u+-J(|1RwYo0!R(~by%a_2aDhj(9je{Ha%bV*P z=(6gnl7oUzd>{!M9{#MNT+1(D6KYT^Ts;&OFR#0Zh|ZmzOVHeWl0P_okF4nOzp6qW z;}Q~zOHfIPeslh3grAOX>Sdr`Rh47$d;UKAa%UZpm9P?R&){&DfnFC85%0H(lbLzn z&9>g*@ePWF=jO6KdUWpX?F{#0t%lSJ?z>saKHT>SRV7Bo;Xq`svF>iMH*dscW!03F zzE}ROThW(+0KRp;^wPHiVSax4@6{(RE)=7`W^37=jmp3Nkepn1P{pdQ>LhNpx1T3( zN3QTfX9Q%axjDz2Y!s=6)BEWDe^1Ag6BEnJ>u_;DNb)@$LPKfmkqS>wpKg7WUsS~U zTs0w{=&ko11TV?2`HZn~&p_YZ-J|Ro^sryknM&%?tKD{Ln@nV)EZas0etEp$4O zoKX3V@^NrP#Mlq9tNq0tokinaQ&V*^vgqU#*O^)6btlOG_?K0M4fVO&UDvT2Yu{`6 z+U)t5=fp-<*2HQrsQl1SNhx?BC83?1V4t|XeR+Mzh?Z8lyVr96MCixB0H&i@sfp?4 zT;uf7?)xrgjs1OBes=bbAx|XM6fd}qPo5+wGKd-G3I^{@26(7CW8Z%k88eLr)$DM4 zl3s6lOH)(!nPuWYnH%4JmVd);9h^xW2iSU~{3~x|r8hM-!IeuZ<#^g}F?|ypvNc`^MZ~OwuFmA9=G$-IVMoUu%g8cOk|ufa^XVp9 z)mLq8O+%#}8%uwL6Vx8~Jt;9L<_w#iV|0@D&qAc?yOY)_my(K#nVI^WbiTOHN#_EO zT9Mvjq3S5UzdrAc3j|Y^n_H@uR^VIZ?}OLhA5i&N%?HSTZiq{}ej{%+p06YgxX}6) zN^@r?i=3PU9bLmLIT7BH^K~66>&t^9JAS_1W~T$-cFo2MA00dDqaZDAIHUPcxn7Dr z#u6)yHIAC;b7W1#La{R^t0&w}`bga#kZo5>Na=9_3eFb4(( zkdTmmq!X(e|Jlgr<`(DT7Ju-tURSqwX0`$#j>5Y+b4!-m5AANdrtF>^>w)*@{rm{t zD!VVOuivawax4ET!oi=V&Bj~|KK)8Dbl4C#nXOq7XP^Z~#8=t|jvpWC&T6xY)u_DB)7nCXs*J4W(t zU0RiIpK`IXvgKfAaXJ4^x$PbU*)dTMHFkOqp5j{flB zgE7~|Sf0Fgvj-L?rn!X$ArX-S=(tax%E-vPq{89j<0~vIobM_uDJdx~4xo~J`}VDp z(pX1_zpt-vdiwm-6dxB?B@}&sQFeCr#n0XC?MKUrHFvisE4qICKq0mOfR2wp2AH3m zj7;ac8W97Dk}@waFgYu0dmx3-#wKEHtUz2`WozqGZ;wT40y)cCd&1w9o>$C8Y{VzbT>#O#v@8aKnD@DL) zU3tvMTqLbNH8jkY?C;OQImW_2Eh1qkD4EjJ259Wg9Yv_;%5SR)i0Zs5&tG9-rJYTE z3!`~lX>M&@n4kZUHEZ$2yxDo|0fkm*0^&Wa1c9y1-O9>Pu#0>1r+Q}Ob)OAv^1_ysmLHuCZjAtBQG`ubX06euFFGtku3 zR8di}D}pj2G!#;@@b9qH0W3{YGBOXz$-x1DN=us)9zK{U{>g(3LT%#{6VI8Mi^|Jw zt*wXK+C;^~9y2oD^ZC-+D&p*XUZnBe!*fYqZ;4`G&;lNgq9Qvr_0n9UYpHv)mw#Yb z*j%UK{8*l4PfvVd;oslCpZWREUSHc?UPvrpV-0mX4UmR)>g&G^^e1d~zf_hmbT`aR z3qqru5gB*}gT&fe8T=?B!gpp$cfP;)kUmeJnAjPfgcB(a!i}kp4wKN0jpod9csOjd zt@iW#1N)!Q_3!$&YBg(Zt~;iuq@15v)bC8U@=XuHZryziX5HC3+Su5y<0Z`tW{fG& zV+Q4>=5M_lt~%qM9@GlRQK6wMwfVnnZ^wW4?%C4vK*x`>#qd9#42+74i+AMYdM+*$ zGcqn7S3MD81?vR|2Ztz*pJ;}Qiwg+}2^AW&F{oqP+uJxOkD_ihf;RW|j0_C}sDc6l za_j3|VT~&TfwZ3bo-Q}&JEcE4Ik|aGw~Ht&@oBoKk*yvRVPBLA2gYmo=O54t6h_Bp2?}T7X2ap; zAzEM2_v7cgqU!4hMsBYD^x|+8z(o;^=r`wGcec-H{puaHd3kA%4sBOfd6x@>H>baA zTbM81ryy{!j%@AoLfAJ#M%J^jF&G)4b$8F&+?*~d%-*lhC#0$j2#^DK4>9KHX_@IM zX(gqY)oCITtosq)zn?BU4kSh6RT&OsCMOdq|Ei52zZo2qyJ+=QzZ;nH-D*1e<{zew zloWg6^?T*<)WmZ>+KvaT_I(Ga{-Ss8m~yfWtE&FEgJMi6)PS`cw8jY`6nc7k*oMr@ z%Zq`5!OzbxCkOC-BqJl^R%ikab6cBFN{Xwk?dZ(R)l$bNCMG5>E-ok#^65fF-@avL zWc*vr?BmmR%KiwA&*kqQSSS3uNTaL2|LW@eXkua_I5-%7>0;;AL9j-(`MHhk3~~rW zm6|=RK70_V+`ETx7>nnJ1FQ?QximG`4_PRnO;|LLW)`;L^x-HP7PN+4Bcs zoq`Cytsm{}ZS3rpg}6C5kVJ5HmFBzPXSmteRO>!6T9(x{H>U>&o7mdo`HL>Ti}Q4W zLV$N+cGs(xgfvM~DnB&T?dQx4&C`0Q6^1}5d3rv`r_M_`RaQ=KXt4b(WDy%Ti$h_F z#-o8JX=Ya9FRtnCu3=re+v?kP_JGK@b!v)ER`!dYuI!5`Oq{ny>pIrfH&C*H(1E$q z{-eX_h+-=_0UKwDmb;Cuw592$kiB%zu!6Z3(Sz0mIH&07k6BsyJpyM-z1MeV$6+^P z#I%q~(UPsb^8R6OR5Ts|9(BYgdIEG(yi6lwlAJ7jkIQOu4=ee8TqJL6J0%h7sIG`S zT{hMC@2&5ID0s-~Dl+_}95qDq`I>*LVtO}N>?U#P=IqCwp5;tURB-UU1i(ywmtCjF zE4M-idF+T@u_Gf82M#7B37TuZ<>RW96nUhe?vfTW=3(oMadyvHe-H+67w1(0*WcOM zmHA)0Ko#|5;i5(C#W<1uD_s(}>FI6BvV*Y*aZb1i>8C6;3=~+g(W3Y!Gcz-^vZ}qRQk0W(=im}6seUXkj)dgvd(F{ENfcFQx>r!ytYM?BpT8J2 z0pT;oCzjv7T@c{Cp`s@)b-$D*CPppix02a(JV;5d`&U26(OY%c7#ZI|v81w~!(k$F zJvQ|Y=;UT(Y;6!Qy2>2@-VWt1@zqhp)Wz{pZO=o5tieH%XWyrx9(50T*ev-i#n2nc zzNURKCF?*Te8WI%&(2;pGq3%WcM>mqU~FV!LOjTS*nTUXIx6UymHGic6J9VH=1)t@ z-FxW0?R(uQ{sqPZz0xK5q*K4R0d5Q1Sx4G93NLJ@KA^ls*;R#QydGwkCvi45xsJON z6{W-Z1=@nv3%$!-l#AG=cO;+L?QW2kf0rk~Kf1W6Vx?*4;lE^%Qm#%lf|0baaH+9z z@ALBv>+^DK53~J`AOBJcf6n|?he|MZ2Muwh|EPUoA@P&Uw}8$nNDmParz@z;W1F_i zDZPA2|7dd#4g<6HVEAc2sn3_yzDfDCH`v&No(Gwvd%pPC`1k_@De;nzMK$=%b#w@J ztvw74tJf#kCu8WXa`J?I`H5gPo-nK+HPB2oG5yAk?*DVR#!#Q&`o^7qM&vaHWH zol?McT3Wm~DCd`E`2|*YXW!lXR`1%~&G4)itH0q*Gpwvbwr- zTx=@JR=@tYJfrS5>cO8}5`Zpj%AQK57=5d-v$nRzY-Y}H(x`W^c|WTn8XEe7>gu|x zt}X!Hr+e%|i%jo(lOuI*PApPtowt7y+=1ueuo)Yjl;qdwuB)ZRJW~co3EX|N1r-$$ zbhK&>Zs*Qj*!PJO-r@=19+BTO7#tW71f<8ux0v#b)${7CGA4$MnYjj=t`LAc0|N^1 z0nrKTvO(dj(3x*;Y6k~xzc`b4vEt(^MMXt8?9}0qs+pTUIry8OQc*#MkIy_~gIEz2 zslY_J6NNt~hKHXhk-XA9@LuqTUg< zA+BL!;jR=Jg-cS~No29Z-|S?k{x2{T$6K8$#eZ1T+K?O-jWW7^>)ltT3!7C?2euh22NiXxMV<^9Ub(*4vC8q z$jE@0)X0g(M6@=Y15(1^AR{+7^U29*b@gbrgQ;;-okP*^7-!d%%U(}R2+Gv`y&d;w zbh(vZyX`mLjG8VWMuGsA68jdHEOma8SI4xjt5-TC469)><|*c#hY!?Aa3a6EaKl!c z-vL-(=5A7*oMsrGUhXe=<3GC7rCa9XlQ%Q-7ENWoEKBc&^yU)uNsv(<4-@#o#MU;& zH`lekA4OCD?-shJ*yf5)}N$VqkA;p6`)E&VPl`!*l|2^eG%Jc-8gwcnjMM)b>q@=HvmD6Hl8Q9q^?*-G!%8osuq+(_s z=tXB4MTkB+w~MHEUGu#QA-#tJ0zc!K^?dm=Z;_4G1UNVr;o4b>&AYIhWD>Yk3KzVd zMx&zowtnV~`5dXRyPlVmQI__iqQT=@T#E6}l`}UD4Lj0nL?)b^oV~^dTT?R)V6C1% z@Ai7guD{bBh)tgt3#gq;n8nDFMT%v|O)AM-gg{X6xXSDm8dp>K;p*#@cwDZcM)%9w zA`8(s(H)-!Is1qtMVy?<0=v?_GSKkWhFNzVRvaAU)4ZbI+G?JwT}EIj(_t49%E=?X zIk%Gsw#M>VPJx-axcE!OsI5IB<|j`d{`x6eto;lSVY_VJLozZMseDW<=FLBU=D%B| zWo0qdm>@+~9UcZi?d0Zh*x336-Qfi~ZH!J|YG3ahbcd-i&W|VCh@cgr4ZHg>01;SN zXh}fSgoX8ser8(WL73vZrcg2J^73s(hUn+G2$5NEl};{evGGkR@8-5wDk+-k_B5G+%1!Tg@8l{h^fSWaL)y@lBq8|NPiK1ZW!!zg2hlE2wbr+|4acEoOW9 z`$`ZI7I=7r!#}xhZ@EUKrM0#%f2sV-=d|qosDP9*ozIa)NrT_52QMCwz<rBI+&w zfkIQGcTUR8tgM+zii*0~9felTFDv((jbwWyOA64~T!YE^H6bfcb!c4NZprlZU>ZLN zldF5eedR}$m2V{^baQg(+uJbf>h6Ge`S+N{%v9a**#m@@PtkY=rca_0*87Ksib^O= ztkNgug^~0Ge#n^%x&2X4K$DgJR%5-mP^7`5bBQw|E0;Mipa*-QXdkO~_YOK?4F9$N zi0S0IuBs|o{2pV|1ex>q$jIJO^b|Vp@_c4g2k8zb5NqY57{zXR^-zcDzR4$w`1N7dGI8 zhHSE;x~r=G8BA3S4|$SbWRYf%z(DXu%0$WGWQ5;wyQ?$zWbbtRC#L&(x$|#iB!tj+ zg$p${?M!@AHQ6grMXWw7YSd6a(pn4c&;{v8U;hfg=BH2Zu`tD2kMT!9h9V^qgMMYG zKM@jAO!r4qNXSu5^$!`j!96|h?2TIX6*6#_{6RMArLEQC_Z1z2CuGWa8TUOhDB-^txxvmzkI9fnBkv}^r|_#WaB05$@u-VS9j;PR@+I2Oh={Zfu6?DX2#vX>h7~^Y z(SQ;%U*v#p3=_K}|ij}-1dUVvrzp;h*7pg8{!J0j;lL*pYR`czffQ1+3r zp#BoEGy@?qcXN}Dvm&v(8;_fNF_8oUts>~?3RX!Ct1As0Y(eH0JN57v4jT~S;&sei@mXrN%A_7gZ@Eoj~+9Z{dwUd)3 z8F~3ei)r+l_H$B7N_t}AG0?Wi$U?uYaCkp{9GlLcu(4N?lUse<6=7s31hf_0wVS_Y z3uR>^5n-?I++7Dj+(@TIezhS-Mva@R8UvjLf}>d2gOp@sv*iY;#&~ z=*t|L+UskY%*-pXfsk4KyM_F{Kx`qIK24-`diZbvbR z2k7WNx_A8uiQZM35+;Q9yZ8*kDwK)Q!yWKjproM&CM0B4RXw9#ih}#aJ7>4JzMh+# zyZ^Ue4Y&u(EPg3mJawo%6gc}jFhPO3)=oa?2FPP+qAX>1_uIwA?dBeQi(zLQ54`q< zE-{c|j)Qq*Z?5X;6U#Q0NHi2t5PtxmI6F;H(@=`PN?_w0E7EQzU~)oO@edD|hO;Xy ztfHVW=X=-c@#Ej{U-3R@A<_LY=IWdk9Q(yR0Cco%`7c1WekmAdteAJUR$?_36o~Ql zMEwF#va;|gC?*53Es#%Nc{R5wV-XS_yIoYW^ZZ@`5)fwLHsA{ARhf7mWss>%G1IjF zZhsj@HjNRL24uevg>5HXFWsP}Me5PIvWW@fd(Ah&JTx9^8he6H3KOl5qR_Z|j28Pz zAzb{0aH_ zdWneZ@my*#seC#+i(dv7e-=u!G^7L9nGG&(8wDn!HOxtTe0R{)RUZbXr`K0iMHmZ) zk&v1oAyrZed~LJ~BuNl)3WRa!ifg=3P2cnZ=W|Khoa!h^G3(OeFAKWNMWt5rI$ujT zS>qC(C8l&eAPr7?o^dum6c9ipEp>0OcrhqD`wIwYFxKno#n@pV8F6vN^6*?rOUuDG zxHRQi+ghm5XXFvP2cv13KqCU>4lq$oO}3m|<~=@g5xgnjZk*3s0s;o1sT|a_qa-#Z zCXSkoqr>;eR1_aceE6J^aj>x9rl)74z)yVUySX{k+nWF)d9CZ|W^^<@{8=q0=C*+n zdc|7Ik?~DjJUmG$uKhhy*knmG$?&w%eBKpNpCxm`>rM3O`l=Qnf;&B3rrcO2~n}J z?fqoT;ddnaU5rZ49rUfN3;>I`-`KaO@2tNlNNQ%vaameE0r?AXB#zx1fu$Aw&`>TW zmf~i&^G7pfS4i~qdYY*l6-Ma-f)$J5{tbCERV|8Mrp&eDG0-Z7>J10(qvvL zu&_uF6Q4&$BKc4xPc*vPTNcL@6o^XqD*eY?I>H4apowU>8Ubnu4@VU5`10NAo-!ZB zP?DXE&2EoR}D7!$nEO z4>x6LX>Ma<2qq(Rbj=`z3}ULv;9y4iAu`$=Dk7o_kZzQe?hT8Fo;`TTpTKHF-{$xk zw9EtDwW0Ljy0Dn|_{~Fu9l)UZ`N}_1i6cNKOBF0w+Dn&7rk5Nq(RMj6mlOMum7R@V zqxVP!Ag{Xm2av}>Pe1I_3kG?@aj%KzSwiZvSU`X-IG<|jazB)z%(T6b3NEjn(@=M@ z1<3*aA8c$X9bw@YT0G{e$qDOB3^l4Ek0M{JyYH)MfX)3G9UVKEbK2UmjExx%xS818 z!9Az0p3&C!ltueDt@>#R%+Be;w`31oP_Bl()4^?IY5D-4{5?$YoIJnvPj`QPS!oqe z(3<;F@K8~0@(;kH8D2u7c#|r6)O{AAn|sK}1M&k_Xe*2Dd}u!U2EpoaIz4#5LEc(e z2sAZq(|0j)*m^g&w)Xj{3Ob1FF$>xuUM-pVjDI^mo&M+;XHr8tK^%~M)#X)pQPuHD z4YZN3`JV3Ab{nJDb91kcX-9BV$5fVA$|9FDZ#JHrYhE!%j53zgy!n z#LT*PE`t#`M8(B3GRt!+>{|M^SWrGV?tQ*?h|q4ERyLQG&M7;vM@Albs`9a=gPlo2 zf)3D=W@Qj9-&CUUmM{$sJ~%844P6tHq;``Lyhgga{Zgha;9%X{;A-X=a5V0tdVmJ7 zyA@4+IFgy`84JSf32^wk^B5svmtSHqD= ziCbH9-M3X{dRz%0dHd>|X{ityd>Vo-A9ZhUupAtMb932s4oInJfK8yJJcjmyjC_=u zrnIlYi79-pEGs)%rq|=(F#6BPfx)P%Q>N;A`2#vS%&fY_*K~C8@~<;qzwUr;^x`7q z(^gInD=odSy`54|pWU6f`1Qc0r3?2cV*Npf?DuJw9HGIDrcWBh<%uxOkaegM&K8 zB(IZe1@Aqepco(f1iIEd%te7IZDnN!p`kz3)%o|iO9~2*iZz}$-MQkVqf-|a9w=n0 z2a(5N@1(!`E8SoNf){aaE}pmd6o3E+hkH&;{y~BLyo~v61I+Ec(!Cwx9=lnH6>x?x z7DOzpOIhyUe>y^!mfR*LAv8LSgNQMRAm?}*=`WrdE_c=&M|OVR_4+j}C~^M)|F7>> z?O=?mtHX6YDMSqWAu0B%tEIae1sC0Hxlpxr1e8W0A@S4=k4hVwh`6|)0O3}qS&cf- z!xwaBr@t3Sao*>PP4~|OUV^GewO<9H8E*jG)Ac;lcTDziBJp`=`#wkjn!iuU6 z4NC7?!$HU025TEBNFko|lNvOjp!AE{+s6PW5kpTHtm(Qj*QjD)aZNB?B0@6h2yPGw zW_2xTfC0e#)YKIxXI^l-NS3ybarJZ;ey@z>b3Hjpc~%4z2nJXnT3hR2o-r|5QI80F z4t|yRcpKoefVr1RxG~9~rp*CS$HF{xo!l9Gz&SbNX}mFVe{!pYb#*fvZN;DQO`Urt%iRowim^#v zV_n<#5{8Xc$J_O&gL1~kBRAI%gNE@@scZlzQVNjR-nhlrU7Tc6m(uadyIoJ^l~6iw ztCr`kg*YrS`ZgTCnOtQ4&tDUjJ~n4 z<#0Pc3^V4u(TBbQ@gx`5d0JZy6M@VxF9Q5Y{~m{>^4dMzRrT1JD7)r&C@e1xdPqV7 zwd>8wT6|Q@5eLujk4I~(5QCB%>;prQot@8iH%x+6-xKa(_FrBlO}M_8m?X8FVdLb$ z<9B2k>tQr7H;?W{L}=MYyT|+~jNAF5a-{Xqy|B+?)jMj2gWAm}8=Dg5lWkk;dH1A! zS{XRXvokXndkM*xtTHe$p5hU$LH3O{Y8_Sbm4!utkEqVupER#tO#%|(v0U-yr$)Fh zA-MY(-S!VdxyjHsxynBSsy$_&`$0F4-|4)n#B z;WChbc>7O&`P?A><>1yU8qa=r28wMKXiyXaB%>oE@>e7XIz$fJ3o^2m-9sh(c653y z%l&kA6eJ|SeqpUI=mdpwp{#o9{5{!Gp-ivu3g4mk*jb98MAPghU_}i8%mfh7pLsHV_(o$V`Z<3N6o~qy-ACgl=s+2T!_n^XC!P`fwzfcbQ48ZFCCVu5bQVL2YW>v-|WNtH*XWHw{mSiL=t) zQ=1S8OxN1|I#@mgvyzIkyAMB6bY!CH?ncrw*lk{0Y<;Bg+)&ls@uBQ+XS zDPCD$AMf~)h*NQiyRZHEGcT~839MUGQ9tIGg<*O~R?jbKPVqq!zHULZ1)I_8Mp9O$ zZBk53M(MD)ycO~DLiYQip|Ul#v+v$vFRd9qVXz($U2kh{u9Bx!UxHn{b;O-y{lTGF1M|J#qh6%|KGZSwB_<=K#~RC`20+(h!Gy0El} z9~?xSI8p`(LGtx_L&?$FTBsqazXSXS;D8`zohvA!?VwWzhYeVEXDHhJ-4<%Ud>I^M zfjeM&p-}?do}XVl8>Nt&J_4N9{SBn3kPFpl162cZWAElNLR|P<2J1i1G zU}DIVV}!NWs%o=|;*))(`h&>GS%9}(Pm7UPV;8x3c%1+Kc@1i2ax!%(d{|eLk(Ra_ zyqkU72nWDs2@2Z9#`&tMZP=Ja>*PCA{MmX~_FewxPfVy+uuTQbk%mx)atkst>_(^! z`S>!41hmWj2w|gy12&G`sP@vTfw1!%b_RyMUj?kzT^z3PTwyOS56|PN>=0kyM@+Kt zTCngXhw^(5h>MH+LVu_}30KO?ofgT>&*$gAgl`ZLh#+4^1$3T3XRCz)_;qVi`R1Q( zS?Tibez)Qxa-rvF=oQG>;XX*D555g`N?7T|u#GjR!Ijo%M1cP0^~ul)_0AgPRW8oR z0t`;#o_+(R?C+s=HfK_HFEZ>mw64x8ecbMISM0;0XBmF5KOA zTgm%Mf`j&J>z;r{<$Oa{P5ZhAq@0cxDrq^(Ecg>QwEs%HN?_6G%+0P0{!(_0=KbRA z?CUeGkDZ2_SjWIdH>p5c~o& z&DwScnS2NJl!(GEV0>pP{PSnz+M4-1H~VdQ`DkCSrI&$&SE9AdKuCx;Fb$`B{65Pi zM=$?}9c!Hnqes`;L{&^S?7`UCud1iF{!Lj-a0RXs*fUhrXfY0>8HXkCzI!2X2)*xV zZ{J+Cf6iBzU0#k0ZFHd5bPpD6m|Nfn1a!jK>jYf>@UO55C`+NzJ#Lpgsj+WAm_G3q z#jQf=2d8X&d~{RO>C}|Y%`^e-V!iuxbxw}TOPb1(`;UhZ^6_z0SJrZEk4;-cu?6I} zhFpz}ul{a)1pD&kiMJV3BET#bhMI|=Z;|3B*-6YzO;ONb)EKoI@uQ!rc}nvau{ z>d7x$8=^E^zfBxn{gEn%ED8Lr4WuBT3B#VRG!ddq- zIE**a&Bw zFJCIcn|E>&+}Jo)6!5&Le{zh|)f9ba*Fy)p4AChPocld7cdYi>tqH3<4p-X$3p?pJ z=^+GdtPP+8+RDf%1J#Fx<#0iwM__n#w4mUj$Hm9G{QR@_z^>qV6pEGvZ|{-a-A7AC z0F7+yIHTHl*Z07LEG1oRV=egrQV{&{lSh9AxY*b>_tG&OshT@`dO&bUOTFTHx`jGZ zhNEe;{*SFECe{Nk6$@+iZ~Ai{9#VWIL;c4RGBQ6mk)OkP0=F>aw~oPnxHNPV1Dvka zYNl5)i}4bHVdrPUxIpcR3ZtHIyjK|3(|=5VonIfaMWm!Ddvc-XlAR{^T) z$=Sa%_8)r{o}7%d`^9V0>_60hR$ui9ZD~PgdzXUxronRoHcE_ft}NRT@4hgM`1I*u zrWP68*;-BJ0sQgW;IApl$bfCL>M}B{aN!Et^Fh@P41|Q@x|yiR$j70dQ&Kf~`S?DV zGs%6KxPec}D5yCf{8#!!p~$R^KV`X}1z0yfB7z1P4a~yg!n1)wZ_L z$k%o2-Y`EXEBnGc41;+8pirH|4j$CpwQm_2F(DyH@i!lUc%Pm1{gHlpANcv%nb@o> znRLOF-{SX8Mt>6E5))h7N(VGw0|*20H)8h@vTo|D)gb_cQD2O7@Dc(pRk6fYpCSv#t@ z-!=)-<{XwpT=i*`lN z%m0{G`Rt4g``!q$a@LwRBo9ybPUU5pPLIZ9rOMRHe2{m85E{I5N_nvF-hC;5-(=@^ z=fQy@<--&KPmj90za(+)--ir3ax~ z8<1kz>l1p1hec8SU-u=n&zFx3E67S3Cw-FHJe57}OR$2d-~yi&6ICh0qgDao=G``b z{!;jW`B){mD4LqSMhwk*dpFN`Un{L?YHDh~pIzDf<~2UyMe2HaVrF|d2D6&c+Y+Q^ zu+beJ%`-ef|94KQfY5{70VQR+%YMs7chszPAaeh&{rws+c9q-WP*NHJHmJLBDAhCm ze13-8*`HLFXB32z5CK9eNY^#aM<%dnYNo9Jb6MG0JadDbT+icrnyG$ST_EZ7XC*G_ zNie|zp8}s0!^i74QfbdA+-~0*|7Rm{im)Jxl=K7H0O0dXgBm+;aFaukg67Qhyzn!Q za+Kmo2+Lw&{tO9nicMBWRl!7HBM%QR|Ig5oDJ;A#pJXQ~*$VB-&;LWgE7S$en#e|v z>o<@TVCz(Pb7<-0Bnl3&P0u;TX+Ft`{H zm&C#ghIq_drLpKlRYaIn0$x!0_ANdAI)QS*77#%P_O205t_B6F%5d&h^pk0z}+o;`~R3{(ek&e<6m zjzC=Vt?$`c7xdB!mYsvO*JePFR84yEa*H0S^>OkxU zzGZ9cm5-1z0wWCJdD&vu&JmqftO{B8HFm-uKZlM3WogAC(Jt#2&0g51iR#&~gD)Y8*IDt9h6RVb+ zoGjPr@h=@n<+4k9eR=SJ?@^-q8xfozt*rPpvHE0 zldSI^YJk=jlR#|yv4NKh#S=MO4LB2QOg9{YY_R-(`0WeBpVdU^+c$4;BD@D4-0=+y zc`{kGB?=w@G#`(dBVpd);vx%wRxW^sC}95P97{^-@P0Fm(36>!#b>MUsHsV6S<%UQ z&1XkJngko8GKw0J$s&DKzzXZ^>|1f^UHcGW=Oe1jqD&t&t10RFc1^`mF z!U#&Dkn3f3XQw5a&(zcft5(BZ5d{s6bZ?Q^D*J|jfbOhU^pYz`*i@+j0W3sBd=3tG zR1LehXE(NJI%cPy!|HwTdO&g+2o6BIOc0d#XNEc1S&yJ>uWdgWa&yCm2!*SQVLN#@ z6J)~x2-jLK4udJHf+9O7=NUkZZQ82lqthWlR~|ckeO=Sd^`EgmNXJVZMyi@s6EgM=rQ^h*00f7Jhx|wpP7^Bn(bMC!t;#_pV;k3>D+M?}-DNh3 zbK`M6ACSV+5^QG}5I|+#@KR*Ow z;y=PDdEi_F=iaM`wuS{v5d{yAw1z8*nklM zp_R9d%;6GxQY)Hu-rj$J#I!J9>TxL$W^3N~vkfK^bIaZHRU^-XyTV*tu*;I4Fpe1o z8}sZ_OG`rL`Dl4nY#U;kUVV=PB0eCST7&-5NQRMco z2-gE&3B9C5V;%E%cX6}0K+&hR{57>N#C#j&Mw7I$4CZlskP2HA|z6VN_^dq@)!y}`gDMho5QN4yp}p@L4uS^R-mYJ&`Vl$+1U(@~@_72;c?p1% zvIzg z*v+KXADy-X7NFI<046jP07>_9zufqzr7c44=ia^5Y`17i)oulbY_RV@u%r2Eo0Vf7 zbbWB~>KW$JSnIT;`}wU{O;yT@>SE1!zW~27^a}=p{Owmrxh47e8se*muuFrJV;k~S z3)puP!{CwU$qQfa*3b}r0uGvX{wTF2l#AP5k4@D{qa>yy87NKyf`180Q`06fF##X` zcr}Qw2zY97(_|&b;$y2 zr>LX^QuEewR=DV+$nM*Er>tzTD9L~4Bzlw%wm#&^$LvaZ=y=D(OslG#Ru%0K$I*F4 zVGDX(c@yAO`xiDf6_u9Wz@%4$>F1@)FZ!35InfKK7uVj?&;!tyIkN({n@=XVBr0DRdWRz;#`vjxT@5m<7TNI zm4TllCRSz8-JKi$;*AZvZRFinRh55DO#{%;tY3+d3^sDnJqUw&RpF%`f3eiVp3$-C zxJVrl85#fST0wU2;;+Vj{9kW*J+-R9vBD9pX=RRhG+q3@z{Diq8f(tu&~9yJl6T_g z&qlqwl!{2m9?aBBBj1!$%ggtlO);}tfm$IW<^6JSW#zKf(B3}kpD+@pk5CRCVKWob z)3Lizk|^BVs3;e-3cHm&Xe5qf$7OH2$NXyi3 zW|c14B%=X-T(|##H6Eb$PvE^9cuh-}`*)J_tl-(L%KsfVwQd{$W~r;YfTL^Bok4WE z!f2p9Q10owQYD2iRA?F+(-(m(Rbr4`uPEAq@2CpA5$d_mr26wG0c*4n?FxQb9_P?gr`Z1_1#n0qGX$F6ok1>F)0C zuD7`Ff8)R78)w{m9YZ+#+k5S`=A3J;s7690Zf+JO*}Lavr&e}sY!Uq#{l}Xs<+d-C z^3mAe{7X;czJKp8udPu&cJe(K)y*%urY$V&kwSKX+Gzoo^}zutsP92QJ2J9Ua-3aL zGYjxIaN`d6o85HkHPJ~)!BNSDijYB9SI0H|Tcbv5B35sWr+oM@IDymtYEK44CxCdc zvhD)Rvl9tkqu0Qn)Y`1N2?_DCv4K73HHY;T^g_VfeT0N`rEB$=2umhCt<)4?uq0q*9!PPsK_32S@81yeWQa(ZE5K|gFaEwJ z->!v`mY|rJu3o93ekK(Sjc{LIY-o}Q^7TDDv2=W0@bvwA5@`pdM$>Ua!&AHSvPqC_ zxw|(WeDT5AnyPgI4(fzp=i$eA_9AP*p4xZ%N52G_Y8z!IczWLU{CfOS78+JDF+*Zw z&#FT&I`>1lg?wZ66W77Obh z1TW&dFawAT8{7NqUG{^ID2$BRFz78Z1hc|UJjvtM)i~Y$NWNP2l?4%>L8`@9q|Y}F z1pvAiZV#pZ;0qo5Hc<~9mTqpb($aO1KwV#?pxCpQXlW7?5UMO~Ch-5e=aZEM=1U(y zn4U{}4uc#M13*F@F$lGKBXa#A#(!DPvsfZYt;&45O1FJv1_RlXI5T@K z46b{t8vgnppc8PvR^_a2CKIx2YmWZ>3m>tR_Mf;(vpXI#K^d7(HKcpuACkA z-LyiqF%m-M0vo%d12iVeE7&k6vb9c9LeDZ-x4j0JG zl$2g;Ym4nT=R$GCMwT+xCyi!u(eRr5v6ennLa5Z_!~~K(En??2XckM$t|t0UHHJsQ z^#f`;E6*{eov*>KHELr&$c8`P;v>H632rXX;Ex)^L<7ue|8Ow4I|l?Z5A>6r{8d39 zG{JMJ(u#trCQg&&?#~~@?JW9F0mZ~ahdb>)U~j7cyg^x2=X}gE;c?*?5Wq!9cv)#( zt`)-#OhIeVO);pg?NAq9@xK0Bwqw(<02 z)$96Syt9)J@m+0w)JY93dS>Rth{Fj;W(3Ui=R}Llr!g4y9}f-rh+=&0Wd`T=nhUw)?SILl%Mn;1G=gfT5WrZf#pXrnv^VU(}?#K{x5)*wH znKZ&9YN_@HfOT|ps|4AGgS*62JiMS_cWrIbw<3Ox+kX%@pmN`YDkDYO<0u~l!cS9Q z|73f6p`LLWz`?to28InBB6!fxty2_I^+tp_<-Z+^#mftx9Th?E{K0}_VG#*Dxhg9^ zt`EKP;Cwox@r>IkJTlVf+@6n*Z~j_myJkLXW19VnyJ=~}IZEn#ctq|KZ_yXJtdh)M za5^(GoW`8LOVOwli~2LmzAF}`ULX0Uv)#l|&%5QeyerJu_5J*EZ82@0=h$_Y{rLDy zefaP+Jo0<}0*E{0;@hdv_;ia#r>^7%3Em)H$T zqVwZ8IR!Rf@3el-kWdhQFta3VE*^$NGHxU%KmYbTnA1}GFqUQQ3GeCU`F5!ALejvv z95@<4^Lyhh=)^xgJ>}*7m_`^`T1v^p^oDVdtfdX@)fuAQ6$)1M{xUO)=97|~3<}S8Nw{E)U~^He zr6eyu)DKv%1Gs2T@zCJz(ldJrlSf3bFuq#~6ePp1oZ%q&_8bhaTh>-Z*t{?Ni0Qi4 z7gF7~Ci;_xtA)~ zH!?PM8-ekh2W2%=Tmr}s3V3+ABHm{5a2uU?AbF&FB20J z!KY(yZ|^QLDRe&l{>=yPnUV2v)h!WWVbwa9%Bm`5aq(B2oFJtgY;8@iskvzMzF%8g z3xC6XTsm@h3^j1MDqqMjHo7wKPwjiq-eu;-_Zv9%?|1GmP&+8&MO!vCdTwn}pgZpH zvgnhBB5T%5I$`2Ol8})VYBtz7q3(HgC*_=nQvod3|LhOfD@Y1%n~O^78V&e!YwM{r4}3i=4qrU~+PDp(*l}%F_CJTu2C?uZ0#R zQV0b$*+Bd)KE4m$B0)Yr8%v#Mz8LRe+xK%uGI%u zP=Dp0ye7xUD9UDDS8bNCl+53rW$8v5y0CfK*C*|DYtT9_E{=$Z2(nHlM#ie@>htq+ zNYR*CSU_$zHa;#cE}jq{UtCi1myOun-5nnvpNc92Xht%!6x;QommrJKeaihu> z8Yt6QBg=Zi9d)@F=(-{<|k`8O&INb z-*6HZg3V0DuIH3TATmJ^m#vYwbYB#>BFL;hPU2NCADPiN;acy&|L~&LoyYyEG8etv zG>(MjBabEWojbP>U{qkh{02T*SmZu_{06P#2x4&6K+v@JF;)C(x;ad@rtjfyKiHVx@^j2sdW@BSxV!~SMxdPJ!NSX9HW7G2UyBZt!_7>ac zw3XYt8^r|i1QgFDJY(=(H)8?ZjY2}2HXlpn-?nH)fsur9aWEj3;oCPSoAQ%qw_fEL zzLd|ry0p*rXh6roL3_;(?xH59uFTAz3N*_3lQZQ|;k_*OrTq)+-C{t8QwUBEV21&Q zCKD4ANj$EA=&EaIXecR-dfvH@K&-B=E)e!iR9b__PJ2^R6L_3xX<6fRCsmPR+XL7HRAwJJ^#9V#(lKNViSw`SX z+?2<~2RF9}4-eAXl+U*ipQom-@>GyCYG0t=wP0pVe7|i$$u>C&I$drr#@Vg1vMrL} z5ZK-{z8)7Pgur~ogE z>?Pyv@M{)4;_C&7H!*l-CFJPZj zQNa$c67hR~w^cnn;*^wPsI9uRDs5lBm$4q3sFWUnUZiM1 za8bNG!1-atT2F7O!S_MkEs{`SYEu+MVc|sxnozRjf({DIwCFed?T?+kK72knR0cC* zd-kg6=~Ixq;#b9N4yfqphSEMntP=gHe}Xgg_%2e3{)ZmUkgShFLIqx4?&|7tnlm`2 zrh-zzDGxR`xgA`DWMuR|+z)>khBcob8QIlvO{9t?m>j~zwb8>%jUO30yS$|LJRXn# z9z8DZOO&R6o#Op>ZoSvki+p22yuZ?GA|+*Z=guQ|3=Q4jp`n4#HMEh&9^fA8z@Vi< zC63@nFZ2U$M$%T!Y+hRRZQ`mZb{rmky^UI~>InFb3=s@1((ssE=1P(8jljjFaM%Ch&nr)_R7v5iR`oS)Byin?E- zuR%G9eg~q|&1yI}_;|Od`t*r(br&>hD(dQLInq1z4Grn&+gInJ<31{K?RqNWJ^zi-Q^zKE(wE zLwtQrcgQ9tHb_bFj4~R?A7`Z^5BD`THt|ak4%XEfJ$$HZxH_tzoV;r^Q4QP@7`l#x}fA;rFm^m{#Ya|Kf$4xn2PF``*m>`)jaO&L=Nk8 zyxJywBxpNtZ#TJgs?W_uV_`9L^4 z_v#HzPyY!1)#>S773{|%zf`w2Hdurj8W|Y>;*~^_e6O-$_iLgy<*Ub(O58EIt z49Jc&lROrY#F!Wvxs}!&6a-`GO(8FV^XBSG_-wkjf4@M33l}%%2Qe-$Z^matM);HK z8pl3x7+VMj00%tB!oJb$7J$(zK)*3D;B=e@pV-(Ah|j6yNs&XpkWeEH4gNgi+4#7P z=j#y{r}o}k?foKe?Y#w?s)~yIiV7Z@tl#736tW3EeTH}LXuW^`D6>;VT|GJ|=oB}@ zH<<};fVsIEi*v*wkQz~Rqj>lU^){=c9!TvgL|r574i+tYiwaXUG=0PR25Q|{RPwJ? z9a!1fP3K#82OguMd>t?6{nMTk=x>$gp_^Xsp8XlI4Asg&9cD*29zIQ|aB6sXqg>8X zFDDLObneN(lw1sb^C z-llOJGU1|+zJob!rTcY4bu|OOc%L|tgTn|U-C^JBe#bDOBQYAvm%BeRG^98@%nK|_ zfdph=aIo#qy99T7Tid+INVZ-BS+T&J5KP>b?&*O6zoydR;qsy3au()aZ=bKPjagJ2 zK@i*8;#r}8f<{C9n}Rm*5l*YH=w41v`#VR*@W=c6)_eQb^m}I}%*?EIscEjTTJ3Nw z&q{sx@MdPUhI>M6?O1zyLgeHlHT9pTBgWxSYILj1h8viea4md5LdvY;p=2%7%1uN? z388+nTTb%G?=B)lctP@Tn}nVzAe1ts#@f2X*yv;bzy%w_$~Kj}0vo^Sl%&TSmePvs zY)8${f11BM#+vu=??Xc)mGn@S{{GM}exm+TM99$4EBnO+s(`JD$r2T%+tJQlk&jbs zm6QZW+iXm%bvq}PTX6XueA6Yj+h+Cqc4f0WSK@x9#GOtBi53>oB@MN~ebd%TFV875 z%)5frBp3VLyuj(`IH84p1&CHlf16-7T52ky)n=g(^tkKm>%sGWK0Ztrm(zjgaFGrm z!PU{4BBb>1-<*|IAVrk2sw(s;E-ZS(of@7}RMa#!<|}ZUgoJMXV;s~T+1ati#ww7T zK!-kXo$xO|n(=&%x7W`ZbUHc$aWH246grHjYYc&%S)==snS(RTS4teV&H#cD*rVI5G z%dH6?5{Zp%A-4-^TB_j}#5>z>(hEZ*_K_r7?*1x=km_afV?Z}s0lO43k)j~U6T1TQ2%i0q0V zbv_YXI=7!#8w@OMJIkf0(nkn)`kID@6dArKpr6N zbXxdBMn%P~G}>DxrCJ^7vOT4uF)dzIg(mypp(h_6RFyjB1>(n!KbiEqKI!TPt5jb$gR&~)V|{yM+&Wrs1N`^y-qR8gpwG^h zmb|4TywWDbQ@4A5Pl6O`ng0F{`+F~#82`cWFGxO>6nkQ0`!_aAzv z_Vr;ujmN=>l#=eFH;z03K!lcd>A}@HF(wM2JJr@ygMWlq`zY3vO4VPh3e(bx1qE?) zIy@?~S$)sV?cL<7fX-7~SZFtxO}MeKfBW`RA;oifdDhdjIvxl5wIugBHq$;!tG?yg z`m(ap|Dr!e_D3ozcMrh^_|^LQZZBj(f$sMHy_C^`xY*mBlW#*q zbb{kLmom_f%w=x|USVnw9pM;2?8h4^@0L|KmUVEbN=RV6Nza^}Hz7UKX`9=cv?l1> zt*a~OPWVt^)iTuliM3S63$Dcb!P_Inx?B;`|A3QcIrD3h%Ydqd|UG9<-N|Cy{!XQgxWn{G8p0dEkzBC@*FyQ#YqW_Kj{{1&hCFou8T6hoG zts_jjH>KK}QI`X!Aa_$UGgXk^^(=oD*c^zQ|Y zUvM#TSdzx#^6?uU9>A;fl~U~X(=S6jv=Dqs_-5xvsBjPKcjuRu#9dqWmZqh(cW)mK z<@xX%;T9Kzkf(wKwL6-G;K_oCuC4KKevk36iMw25MEC-rcoDw7yS2{dNVlb3UDTCS zj7_J_giX_w5C|qF0;k#sWrlDa&_UYQ?xg=IoX24&KW~$_cuHEDci<0PZ>#F9F*a}k zArL!zp?cBL9c6{l)%p@6?NNzg!ea{WJi$Bb4lW(nO}!mDcm-5lDB05b(4^CO*-1Ie z!p=^hPMh}iseVKnMUWF61f9;f*F(8d*PA%3^L*srw$NnBjXNr=Hav%tLMSIy|q(B?|!_Wb_i0MqPjqwG9W zLxYpvr!8<5JZ=QbuCD?6**WceNngKOfO}UX3pWDcK_8N!b}Q|lqhkalP>_8qDZP`B z(CSW1<3Ff%`=FozmcmMJ-x|W7!$m^%F_)E1fyi#3hnjlxWLJ@f<|;$N{?e%A@AUNp zG;h$u8f?B(Rwm{+ZSQW&$r5pPHn*^q(Yx64RNxRf-6XQLPD)3dlW4P$E;SyKP_Sy1wS$p-O`*{ z$8?*2>Av?R^Yd~!ge+~C@Ig`iPC;R+$D(z2-qO#{Suh&i zX^-4~dunI0I*Ofr<#G+r9}MZ=8q#cSO-cmEnF(^*(dy~yo^8q` z@?M+hra5j;jgxHo)V~uFqND3Fg)#v9Wj@Lsj(!td38*gnGaP?a;-Gh|crfX|>6w}e z3qR1!MZ;(QEI{gdE^n^SmIR5c2cK6;M1%uvSyplJy?_=4d2n?OT0kEi=X@{f|B#XI zG43)pTw~aap&>Jmo-|)L%CupnR#xuMx9tT676%6QK_XmTbw-cJ3a|g@Xbhs^Qdh*Y zwu-k}TAK-+S(cVSg}A1tzwpI)HQXEe{D=xHbxX}P1m3*^uc3gWEtXR`$7_W<`iReg z=!|oJKiPQQA&T^^9YaAyxuUVY^J~2iTb;Z;N|rZ)M!3pkP;0y5$fU9|_SYicV>K zWCDIb%S^0_7vx9m9IG1Dk)Mn?lNyBbF`l!+{JVFms%73SI|=p$>eyz}SDNiOm)y=` z2KdqC$L%cv5$O_1$W4!2T`!lrsm{*oVp%?1toBceifX4g4huh@K*lfgN-FrxXsNj?$>NkL_pThX-}Y}Y!ujo{ykBBZH)j3 zFwDnujK$7t1!!Fe1U`NP)b3CVYpu`bDC9r^M8xy7v%TF+XaC%kR$iVG6?GCSP4yb; z3JVe`h2w#_7Eu8AFDq-~>n>>5A0Xhkds`V&CwvRMxO+H~(kpCfslGSx%hU5KJYSHv zPu$wWV*C1hM2fy$H}woFsMf24&5*CMazB-neQ;cyl);K`9GixNV@xk+WN0*pjLqbm z&i;&~=$Nbv6WPQVrKJTM`%UE_GNBGbd^vgfQ{RUay}g`F?%8CQ!~})6npUh`5P}@EANAnwGG!s_GvZ+1*LbDK2KOt;ZHj z&G1E}{lmxCt*jg=D|_}w&+*hs4k9Ktw%@(3WI1`($@*&^Mn)vxb$Ui=w1?AWnjRB( z{YHNypsQ|Kp@0&fpsU8ASD8;URc+_d&5MKWjo@?SxKfz*^zu@NKFADxayGVe>hclL z`xfoel98n?EO-L27Za<_$|$|JqsVBVKVXpf@%0z)N^kEUD1g=@=zR6P@LAe<#{vdKjQR!}v^49NC zghWq^`lWHR=1BV2ojt{d*|86zZlC`2)E6^8^`J)}W)>HtS;hI}M{9-w0;By6W;MDaK+y!nTbLj%py`{&2g`+M1pOzmiB+2`keP>QduF~Ug+(k$Vk zL_zs_@17&vG}}|I(8yX|6k~3jbEx7T?vGZJv+m{TIVO`q>x+#<*m(CQh!xWNL_}oO z)L4F@7=wyBHm+LrX8wb!Th7Tl6c0W;!fr;^#E4jBm!*y{-FCY5RT>AU*xpv;2+~0H zA;JJt(oo@!4gO|1lAF<*Auw*)pUZCn|rknPbjyyb^d1T}yGpAj(-b`X1CCq$!4GU}k^1>~J zMO-71r<2!#KD(e`x=p`{ed#VFSG=y-7M4n1TjuWEVVIYEtgHP_t;T?Y=CAXLq^z1+ zKvWdIoIM+qLv^k>8B?cPnyt6uIr?MuyZ1!M1x*G~5VG>Dmkckv{P=Ltd_+N)S(l#f z&4&lRNYc_SJyojW;snaMaJ>hX_MXi&WJbNNM?tOrZMctY8rg>YZ2A#S8F@S)LoD~Rwi z(a|u}#@c#6M^I4o{3zz*)Rs@tKPMe}6L1>#g5OKO1G7n!GAWmB zpy{@L*TFk+@z!3c?d^J<2k1}U3sCxwFy6oKbi9>@iorEe-151>e5I@FKCljs&h=al z795BlRaK*7WBO+{B)s+Fzn*LC?K^Y3R)zTaF$NWIib6SvLFDfr++Flb7Q)d*d8B{S z_wRey-tP$TsKKF-{)}WfX?I7F^!4kFH3C^_&uYu2L?`uUdwY$r%QE`@!s4RdEH2P5 z@CykQj-`+-E(X~QBq zG1rX`YIY?!6A+v=Oiyby+~yENW4yKs28!Q=5F7X&dX(%h*xZBV0h7+5PH80v#;+$ zSC>o|BG3~w$9bPip9gNx^bKZ?I^szXd17MxvsO3Yz=Q4ID>bLy4l&(rb*%R-yaInT zKPj2h;%LaqM#U;W#T)7AWvIzLK3IL1a*@y%@claq0%5WwCWP@+@n}tMHeW3n%I>iD z8Q{IU4_(nwuX(GjS|XtoMFu3Tx_UQDMj}4`ASOl%{Iy(Mo_ctw7;IW9 z3iIij|&W<>jeC(1CM4UC-7LPXqj7Y{bjuZ&MP0CjV`rC`?U- zQ&L-bYA`72refg}61j8(ux^e5ChX>h0btSQrmK$jL@PrDdxiV?KvtWNkN)AolW$KM zl4=f@Lr)`ekFQmP*GQDMRm#=v?2kRJGx|e{*<^o2M&ar`<(%k~j{l6H(%Jg;@sT1- z9(QGniB>&0blsdQ4w;$_gz15m`oVv{5j_N-isl(kT|(BClk<8Gd%D^6;W3X}+QMJ& zt2yy+O^Giq>S|QWdmTkRi|Lb|sB@iNT}{Kla7s)}PpNmmME9WI+0#wV$bdP(0WGgp zSoJ-NR#*PK7pfi|oh&P?zGad|25;lm*z+eX_9 zW+JTpzx_{HjuWMUBrE$i3G9mb+zrTL*!kC$AVd2xgdzM9o6?!`Jmn)&`6>K&K z2Tu}tCKDj+1KZ~Jw?(&o3BvxzM;yPk`d5>5YhgG7V4yeDK*vlLfVQEl{oV#UIJ-Ak zZGXDB-}EE0luYVk`+~oKdmJ2M>vug#vu97yZt>?RH%p7>jKaj65r*2r)9>Emn$f}{ zHVOF`$Gv7Rx+{JnqFN7+?Q(Orr=2?(olyRsoz&Dg?8byYaTn|OXlpxqFOipFno52|*6mNFi)F0>X7YW9RY4IVX$4`z_TvKXx= z`6s=|%?bQpjwN+Ku5Ur(=eJkwH z_wRM@+(}zplmnSXbv2=il3@_7C-;U(O%3UD?tf#Y#(vf3-x(G^q|mY>A;>9C0qp4N zn(Dm}1H<{o#A%o^_9tETk!BEIc0Qa{}>bOh5Q?~vU` z2EGlbaWFsRuqMxv`t|fdLxUlVZ0V;|t5S7U+}nF`ym9aPD9>%02TOn1`-$VzHp>YkRM0xc3eud>=zMF3J5t{PQO%!&}(; z(yFS<+t-wIbQw80!vnI5J;{r2-t5hv)J8?j#wQ@<Z z+Hh@cuD5Tya^%(QE$>4A>gpC3wnlkwz- z;^IGsWpGK$1VAv-QY%hPJ)vfQp(Nc`XfZ2XHcS8OmY;xXor#W#3wUNWU!F(xa>h#) z!IydPU^D<1i~pVK3Q_wGrXTsk;E;}vJ$~QFB=$!dl9K$+gJQR}eh=TM&|Oey3~g)= z6L>Dk>325cIllY(RqJ>BPz>g`vhpY@dJNIW^fp4WumLzdZd#M|p*)YFAs!wcLTY1D z3c4;8g<;VKtj6DBm=Je}{QOR#`B@89H77e(l6oPUK*sQ1sPNfQ9?$Cn#@7Y@s?xxt z_GjGB$`ppe#leAAN)i*w=d_}T7IUyQEh^bhU=muJdvA;)`yBtJmuaN6RUuHa9UUvM zd#=q(XlZBzla=U^8~L=g-6SQ)#>=N6d$r$EH8ITM+2XOt8nb8Wy! z5R){ZBEZUw;PMH0?h8wXlte@vCvs~k&C`D`whh! z-2k5Xz!S#1UceIVdDYflLWU8t!;=~f=X$cI2Lqw0C)obyZb(LYGQr`=6*b5?0BY0H zGDUeS>VG}L5K!yf1Q#EJQwsZ;)k=>QWToa)Pgd8N=C0addOf&_J;o_Bo#M(83g%I( zi55Pe+Ji6(gcxK}hAxv@j^||~{Y=G0MXupTz9|{7S5s4G`zVYNe7Y2ge)rxhFb;sKu#xbp|e zz(E1!3ZfR1CGw+s}A9ObiT$2P2Mm zM>Vw>ohNu_{cH@v@NeG7@0ON-O-<@bqs-|aI^w8Ym%q)Q9lDW{PM~5){@7{x_itgY z*rLhjj{R0D%!!+WjAp!?&}>xux8%MX`rZ5Ym8GOU{mE}L_*9#g>XsS$_aEAooo`xA zO{f5A!{k_?S81ud=s$&r!9B1C(4AjC4@_VBh5b@C_^F@UZetjo*BP0`*+E!gVIbvM20zqq)dxcFGBV8FLG-18~*Nfo9l z#E|zt-)5++`2;EE#s=C7E<>}PW81g);iZrQkw2#4sQf*B-C1ovT~Rq|YWjJ!B>Mlf z0L$Ye2I7U(3hGlU8!iP^Rk|)jW0;Z+j^kxg*zqI~Lm)u4Igvo&`BK3IYA|rDDl=1K zAIf-mpOA3>8&SaK#xL_Ju}TXP24?0-VAfCfINbRHkYC{k<=Pt=?M_x_si|H6b9!j^ z_j?$Yp8mBx7L1|4MZlYUXn%X(xGP?%+Mst75Z3M_4I#LCTN=FD4-X}T1ocKnIx_5O zudVi%pb`!rFJ}u?;lOzno0Z3Xd2yPdrKMts(+XAW`}elxW_cN-*uE4zJj;JVg#<|d zLM;aQ-#|q((BDBp5y|(`{Zync(cmVzIC*jFRz8`~PtG?^laoPIZXdO@!~g(k?nXl5 zr-2(mkWan%L!_kDg;(*wP+6bbcxh!N6IBKy6>40Vm-mzCm}tooJ-_Zas>PWfIoU7X zm%LRnvbb>AfZ~^otXxK*`TH1%XLLV>U;fiml9ThV)6oRl8U(4HUcBK^Y(@ruoSe-S ziv=7>m6b4yibl_myg>&Z8DC>hdd3XvE>^wq{kw}!9tXdoVu!KeDvu4de^k`uKT+$a z`gl0co*hA42F;fBp;2F%>9P5Aj~kq7W1tEQ&Vm$4w=*-gG@@& zpdkMOmG8$Xy9nNgJUrj5mxnmmCzOgm;pi@NWPJgwtM<~wxxY2!qeXqQ)XifeQksNeass>Rryx9G=@H!pLzUgpg8XZY{!36ei1p`yyoezCfw2cK!Vv{(AHa9Qyn zBd0n!7bI20AV=WkZo@3aJEOE8gm=1TiZVsCx3nn3k1G^AW@ z@0*tDfQI&MR6F5lW2zP$9mO=J6`no&utIeItKX^3&P>yMn?jxn+W?o6jCHJs$6S`o zZt!#Go*%Om@Z~3~w{N)oBX1u-GbbyX50M*(4>YNa-3=r}Ok>1k;Je0V2J@;>zL2#E9df!jXbuJ5lUGx)T& zrc6_fOx54hbG0gS+7`U1q_pVhCi;H+8BSt&B{pGF*d8yF&CrCOvq!f!eQ3|P1 zQ8AULs!nZt&xyC`4754eaL0Rkx|+X8%SHSQ>fDQ7+1PmSK-_(2<`VQUOnP6h_Pf`h z-jdGVdSGh+G`qKt8By*9Gf%6O1qwn~ct=j&?ddVlb>bjViBH&uKOXFhW!>6G5AgT@ zB+z`6A+ax!^Fb7K$_-y*ybOP;CPv#h=M}j?w=6HsYCyH~*Xrt`l$5DL)Tiu)9RmkeV1@l) z?G!k}k23&ktfMKLI17H5gcNuj2_Sz-@2ey?gfZC04|qv_Btd=-L|f zP~HPRDzLOPvZ|^hDbG`$Y1VqDy#TAf=61XtZW zh}Z$@Tv)XPoU5cxIKtC2*70{XP9l#lM*qLQduIn7 z?W34vaGuHopcX(Q52i5$PAxm2BgKv46B2^K4`S}Nf&Tufetvr~OcFS+<$tcJh%4dK zk&twcJ0l&^G0-A6{st(H&8#MxfuEVdlI;P(rLsyjjAp{fGD1Qa8N~v)_~chAfd_C1 z012|19e@I9etVm~?!j$4I~c%|`rsB)(_Mg{UpZW`xBU_J3sotNi>n6S`@KNxHr2tk z$*HsQ*zv>XHwY6{b1(^YHEUNYCfV!T!DfrD#uVi0Qiqfr`Y=vg*5cw)LKqZ zP)S{#;!}y(&@s$111jrN$Len4v&JUh=kQ&jI01BRVlrqruRqme);<$zz`vM|Hadvx;`I_B%~vfdEv>CJl;Km29~W5q<$i}CNVVS0BQ5PL zPld+!A@AOio8v}w%g^^rG;So(Br_J9pk(FEnPy-L79Bdja#eM9et1Kyg@ryM*6&3_ zYlJh`u!)2v1Qp-9d=p5))eHH)?MBeT*91$oDtGsVbnz+x$bLN}W-IS&AkiFrQCfe+ z`218@LZYN4pqtw*o`3M$D~)L|pt{i0djZ1AZh-WG6L5Hc=c*?eJC1d=PY>?}MH(i8 zFMsxW8sa#i(f+bTaNvX)l)0^~%U74L=2r;32E?44&ayCx&^sJ}m&umVn2wErGr*1d z4J)0%`3(!VfB*|()N|g*hh<87T5oeQFA9|snS}i7#GS}wq&$v~-C;D+=;)}iUiwWw zO+@7AkNb3OT_qs_3F_(X$#JnPl#s|sIv{iAsiDMeZgISYfNtdZuJ~Js++4BaEmQT{ zGobFxZGOFsILZK0@_2)xs5HU->;TKzSwm-DsV%s`GayDb4H6jyF%?_(QT(G%waHnl zb8}|{19R2(>%M=S!qke>#j(!z)AcfgGBQ@%qcrTd(7*YQHJq?pcG5TBEhteH{gEjFP5sdZC3IJ13( zG2GSYDK8T?S~VysBxE+lwVJho?7XY3?c}tYB9#9tG^jy)7oaGpzD`d$aA`xvLHi&h zW49#6fTAz}!X+NpSllP!M_ZHN^!n|U$^oQ{S>!ucOX9uXh#)XV1HUX~G03J+AJ-G!ws1p&@x}+t<29#S84}q0OTAr8Fp*J3>9iw;>;{gdKE?%Ij<$gVE9FvH zTG|_ycWCG??VX)^rs65A=O9U~ts#Yc^0h`80M!|3;~M7X*8#X151*+Dx*-RcdX6O+ z02^Xqk{bv0WVYOJQ&V}+D&0eD5+`S{s`rtKt`foM6c+xY2GB&%%MhJA!P|VvAvHDi z6Zgq6QTqBnXw=g=T~_V1M-h-ePR@Q|XkL()lS6Nw$n52A|7-Sizk4{J0vc>?^3k*p zApsYXRB(t0ANxtlNA~o~{3z($Q_RXT1mATS(es>;V9dsLv9^{Cq!8)Si4x@B=``Hz z7Dc~9(1~F(ra4hg5N^PKrx;ybR%SaFy0Z(-5FEgUK<~$IPW$-GDxIGxWXBt$Q-y^G zO!|pjZt>1LGmHcUcQWp#rQI;Z{@0q&m%zf3VQ6&ql4ck#%Y3tEwChAq!sX=#x#;VIu@B25PT#7w=eZzoFS$aB*dttD&H2ZZL zmsen3T6Po~xpaJNk9T?A2OxKjd=~UJ|1uin^2goh>`(4oHAC zHu-iMPM;n^VU?fHBh&95*H@&-W$F{}OHA_@7i%8SMN=)y8?a*KxL`Jx2|eW&71sc? zPO!YnTj(MZg1#QYof8bmykVxqzji_y>AE^6xs$8QWBBXv@oz!2dKgSmRkgRU^c)WX zT}P9!u|WhO;}TqxmUdq>f{9VI-X&{mZB0iSqE-NeK@_1YI)u47>28COh|bn`M~!>jYZ-HritR5|t<;w#|N_M2$6Zj;}# z+qIbqU_;cpoW=t^usKC!cf2(YYSWyo-h6)+?31fn4^~ls1Li$_CG+ABL)~y9D0Orf zxko6BU$i?_SI~-y(2UewzSW+4);cY~<7m|hN8>rq1xyr?l%e+TpO`Szv5pH1TZA90 zW2!y^_#hm;*02FaM@QRLi)bWBn3P68| zhX)u7Y=CLry?bFWxV25Crxyu$-_FJ9^7b?#(3-Zki`Q4U%#^$@O$nYyouuXuGgPrU<(}B?W}&QG9q` zzmD)=ynh2b&U(KR$ZI9Vj+B{n0RCs@_xpzIc;qNP0FDNcNWGrU%AyD2aJagsivTGN z1A}{i`t`;m%_4Ceoc)!@4-tIAU)N`wh@hJS_K{Ew7k^Gd9nTFQ{RFDAs^*qOTD3QE zyF%`Sgq#%>ijdoU|6W()dY+fzOYdCP3}k=QYlVcbF1@lKfvK!UwYNK(tgE%0xMvDI zC4z#6@IafyM+_X_bFC8eRcFBO#MG&pK;-iI^8hqok%j(YF&;3RRF+T*$kKT9JgLOl zJ{s=4q-jc{uOB7AO9p}YXqJvTGg(&nrlIBZe~|}}DaR)~pmtc&NKU7`JSh^gu(;W6 zNnC%qL4XJS3lH+o^}+8dH}m&3ZLYWmC|Fon@Zp|?Th;5?Q`&VkDUWUtTz~!Z`BQC7 zOfOKFpz6!y;|~36>hoSUe0jTGVQUnt%%E4ybaV9pW0?)Og_aiG>8c1|4DLnH^^T8k z&&&YO+}2zX%C^|%4}}B>I-x`X*qcA=_cPuuQ23XdsR?IcVQ6W7hQ_?TzO?1Xk86UT zRbo5~_`y9os`xa25=4Kep}@klwql$`@&TaojK`+5WS@bp9tXR0zT9*i@*M<%ptI-a zD|#6;!R{4G7Enh(bp}Sy>Gs5AQX10)&y&s8HQnmC(>E8o6H7 z)M})sx)Axk02fUm<*|oxi=LiqS8k-xZ|CEaTTt?#P_+sv-70UTfo@()jdBc+m3Jd{^)>D4G*PW zM)b&u{VO06J3D0aRYe$?WRivVZ~F;USEFdnvRE`>E8kziY z1DY5bSlh#dr;R^>;-c1>4eV{JGkgKrJU_9#ue?>w#%jmTIoqNN`s@Trp`{ct%*0V@`;I$ppWb!k+PXSoBIpq zb!jgMga{bmW&MmBRv6=Mrq>tuKdT@Vq9+$-b*;iYl%30JUhR(zz)67eaU=j2sMdD# zk>VC&;1HnvGMgyO*og5H`0gtt?Brx9JAk1y>R0y}nsV_7H5_*5UcPrhp01&xqs@gG zRAzG-1n(fV@xJd@ZeA}d6$+hxOzcW&WB}xUh`i9RBM4}@(To>9Z_`xde^&<0$cl=p z0T8#|W%=-}pd#qqmMJ?1Zn?dZ4y~xzfG#WifB2bob+34MsNi{-6CV^bI$(1&S^e?s z%>Si=dK{Ys%E!1i*b2jdbpeB~rsh5>-!n9nkfXaNy?D}?eJBM{ zP{O15+|Q5VGV}#>bk4J6BFoD5@daKKW0pM&(sh8YL(G{g-&tL{(LC&&7Fj zOeHk5UM%ta3}gW4r6E2sb5IkPg5sm&Z-cb?Hv=)u8@kQ)TVRLFVKye>M?rzb>h~ZJ zUno7V&dZBaC&dYS^4RZ}ju7T!zZ%OXH({;3pSK_SIRm;G5zdT`j(G=}y|i?Zi@TGV zMK>b6nJS@f_>X20bno|(k}`r61`aBG$@~;DiSt2z7nd#&Ab=RW+}!+W8q?{?kN+0_ z#Xr!y<)pYQ!E9GL^!RyAwO4pSjT}uMB81$4**Vj8Tiz}uyPfj|V?!7dhc8mM* z`JKADE?|iQ&8(t#P!I-&t7q#4E18+JNJuR^JEnn>?G#}lA#H7K45_mL>XEYbo&fnOj2I;Fn2HQ`8lvGq9^>h$3RK%%N*5+{^6>Kd4(1e$k4}CI zvdyr()DRJ&rR%x`K`typbMq&S3QZP$j91~aSLh(gh0eNtre!UB^7YGYFVJej7~GZ? zUfN=xh(iE?LWuE+)QZ8z0E|xErt5Y-BLwYJxSVXDEf`lvyO@S?#A;psACP5c(^HuR z1?;;ep)qU{${HHGAl|sA*99~RDE@72Y0Ai*FW8R(y@$K+dC~*uJeFSj6;4V?={#D@ z!C$soG(ssN(n^4)qp$C_^BZ3@k&LwLnpWg~mJ#fI^m#-*PS$%9lQO@*CQi1|(3JDV zH$zC^liRsGuZ~ZqZ`)(YnaF4p#>c8ED`z_#e|^%Gi|4{G*KV1}%*+M)hB!_a-A5c6 zl0KDi+2=D;Et3=W5po9w5qWr+dwKB=43@5e!VG}>D%luywlWY(f%q{s9VZD$ow;wF zy!;I}^{e+g(8Lc8NmKj}PhSC4)%v}SfPhFzBOpklq)17rbVy03v`9%eh;%ndOLun& z0s_(v(jwg=|6)3}^U?PE z=Qe+huYK>EY|jui+pJW7bA3}|;T=4fnURHD>%@L{`t2?8mxN*Y7XrVCYKw~-VNnH5 zi;@zkqvs}0geNqWVn`1Y>4@@7m!kgJMr<{9&t821S_M>)Jooy*uURxT#-YnMW|Mg{YUhV6$b300l{g$6(>SKD7hTh`V?-5?Q z!Aj{>_^0Q#$LYdP-+OK(lWos6T2TlMkP}lTeqo^CGfsyqf4J)^hYiHNvv%W62COOL zbNCq`1R^6IK>q>lF=i+QS1-o+a|uidni1I4e*Qdyi}x4WG{DlqlQ1HlD91no+8|Qy zi^+)^ey1|u3SX=MxDWu6C4TAi!`Ej7`p#FsrjvIdKReyC0^-Q-=0m%+FuWc5yUWWy zj|6PKIquDMM<2j(70)^|bjsO&R#kfnvbdh^H^Yg4*IVEHQc|K3XWa^IE$jYoW1F3Q z4h*+!zmXrX>IUL?S9lk&YB8Q6S4}f{n20F zFhzgbd=&(=RD^d=`gq@ZKhUb6G_sPIxEx5i0IA--ZakAjg!%OI^uU(-`bJjgI&& zueQ!koEMtyxIpOnQ1EQ|(!z3gdwt!gua5*nDmA@_gV)*e!zPGD`S~$afB7d={JUTQ zq5WK(%IW>r70u1#3qqV!RGIblqiy>0(0BVWJ@i|F-=3JLf*UB}k(KVHb@uxA0r^`l z+maGXU|PBA=nza9C&b4KtEzhJ>AVHvb3wss3ZFNSIWRC7bQcX@3VN2D9J>=xq^ z!okYQf$k}U-!ZJfN=3D_zbKxbuGw`lTUCW?vgV3~)iCCv%FZUAEU5kd^5hcayfnD5 zjX_3$T`g7;FE^+C$tmFBz(JlYJ;lRq1K~Wt6rJw&hBPhb zlI+3Xwau2BhdIim2;b$=^@PDGsoA!xdt#!ibJYRh->S!9U5@%}=AK_lp7dp*3?wtk z0dwQkt9}rp<+(p*A_OtcGjI+r%Tg>$Vf_hXVFkJDQ0oCwavD*4I{0t{2v!!mKqdP z#&NGI=KqgE_n+o%_(3NtRKoB_+8Zkb`K6_K#R4fP3&UqGGb3|li`A<)#XyAeB`3z# z_9?f;VQtwL$D?(rO?d+d1dQXF)}Xvjk& zFPgz22c+k1ZC~`#z?F^#5AVZ<;>zQ26BC2eT})PH3z)HfbaX@<+_HI&7ld|jr4LK6 zv+Fd7a7t08nLI7j1Rw*{3mre40H-TRH2VHMgaGC^es=aW;QOo%=Ke{kC@47J9M1{} zzyKu$++r|wmQS=+Rj;rSt4PQgp%oRqN5K!uVgj}(l)V4Gv+v&J1ceeT1V9E7(L9;V zt0?4Z2b37?#x__PU_H{3jsIdQ4D}pbf?%Ba2QI#CP?xz5f~yOUAgGbG8VoHgibZ#N z^~%p$Z+$n3+1aPyq|mG(CgXi(_tuka|Ip^8t=9AJ1G0_q0!v%;MMRxtWQ<2wGlV$Y z8|2-ZTwlK2yt&3+`eOr|q6Dh9*pP5&D5a*zPTAh$BD`^g1MJ_LKoKg;xMRPVZ=krQ zp>gWgu5fUe2D$XkG(loaReWTu2uNa~@SjZT4ugYMruiZxOG#yAqs6(z{ z|DbF6?vt9XP#^N)cZ3IC2zTz}gR@ZD*%P1ea0h^4zmJYqm6X_nsxdNhhH<_Ag$fQD zIDB6G6FfK|laOfF*>$^=86V>3R^ivayR#I>ko$1i&IK7}74$1GI|2;8l`@{`Csl8o zz7DJ++x;_3bgDBKxDQ-`Sv)z)=f0zH=!Mj>*Vw6l01Ub(PolW3N^%QWR@Vl{Va!1Q z&j%sTW7Py(VPQVpz)$D{-j8tu1q6P8jLhF~04QiPHFNZl2nayt8v;KW8r*{m`^b1z zLs)Ef1W&-5elBm6iv~Y;ey%JYhCwYC+`+|eQ+V=@?OzkJ#%X3*qHg@i0++*;g zSyA78tf(x9dVBvqdL1=ZdP&JKbT>c+M?_4{l~tbx64A#nm#Js50RerFv4O_P#g&N1 z%e*u+ISI~U*#Z4Fpkoud{joP)?bC{y><1KwSzvv__7XSnSN-VwpQ->}0zq6<%=q_5 zazN9;zs zF7**O8IJxKJkf-!QE$7oxitgJ;qY+B+`X*wf`YNp+(zgq$jK0EEIDUeJV}-&h4U~2 zMV>HQeD!L1*e61)4$_ehB7$)v<2YacTt~YjLZEbDik6st57VUPgr(*66^LGx9jU61W$o*6X=4?e_A(8hYu#ao2wKLKm3mJ4~Ddb5$K+BqI z#EXf^($cac*5eTF?z#B$8|U6ezK?&)N9$p)D14CD&NVu-v-7g*-ry6ia&v0GGv-RO zAV{jHyl-LA4yJSXgvR|eT!^+2mPJD+IIkeRbyTP-1p7r| z`nx^8y#c>n29A6rXtHxXpK<4!)KT&^?tk~vjE(K*b69`D$C|lRi5@Dpxt?cewDQW5 z03^Vlh9{lqUeZOw7V4AMisPOX<*|gQsHC#8sY|sw);;Ho9nF;m&pqR{RVwd4TS@i@ ze-`9%A0mKF?eTEtp6!}!Shy!1>19Jz6*xPyGyJp}FG$!<{+t?fWO=&lbG)^7c44Wv zO8Z@(^fLSEG0sOpK|7lY4)VL5346Rq2*`JxGctEDF<8_!{OIT#%bH%a|56hc7KTJI zedza^n>8m&$jxSy2eR|>9wB`F`aQ=?O-l@YSyo(Zxf9C)W0^ zjKd`4W8H3F-{5uBCzRrxI|wk)A3qfqru-dDB-iLMm$QIJ!?50+DSnQGIBiG}E1A5` z6(7g7yb?>n&l7-uKT-nt{Hr`2V9lgJjPd*990Zrbo618wv|em`UbpbtB`W%@lBz$) zb29h8NK$3L#3<6n{IOersF#|&-4@VSQf;QZH+w#N8YM$VO3J~hd^u5kD&#rg>{LV+ zxh6Jc3`DBncKgiXpHr1a6D7){V==1AvFS_opfTcg+?}8QR+vv;R!$1D;!t{3K!ACV zkqa{7?o#x~(2y);#6(Go`*{UP(i+jrXVcu4h7QL{5L?gjdsp4{NUNc9^L zaediP^}=}jc8eD~)!`=(4ULb!0r^DfsiRF$gLS*#%K7=>;UCA{?HATm?X8bTI>okz z((TD=+E-?rPI>~$;hfqBadZeJr?L;Zr&GWu3$hM ziweox18pw%vqZ;r`JkGUBadeZz`HZs+N!R$Fg3N5kyY|)*Sm9v5E*gf=9<<0{x!m< z^or`j0u2Tvcx3cRnLiD`)`>rIiGOW#lMvC%?r_=IY7ZaP|L4$0?hzKBq5tutV6 zwLy?Nup*ENn1y@)W@I1+6TX?L6xUT&c9~!@6*CNb5J)38=mh`3$%*tvvu)?_T&Uy6 z0JkHCmW7y4FDc>wuCH6?dBI}fSuVw&y1qdIaBi-2yo~w?9VQ4Cac_CSA5=>sfR(mG zSwSJHS={S|G8ebwh+}OPn?<6C)7c5L=4ULjI{TBN2Y)fwQL(WP&#c??-_nx_CacKH zr15FSuEc?+ThdB2zv75x)JAXepcdx8_>rwE^FPaBGgO5<5?-%RnrtL5bpA;cfc%4v9$_~Ubp7#cFrAB$B~(xEJW zHfBQj6c;D^EP-FXu`p-#R(%$H1z-oV`o`bmKBk&^rnfK+8CHM@8xAqX_Ci{dVIY-> z>02YiWktzxljwR(A)4V)UFVRG1cy?Ob`q#L&*SI!eB(2y$f{fC}?E+K?Z(1DKT?um#r zeQJG2gG=K3y4m?H|B!9xQec{3EcA!+HR`FH(vYh)++oCPlw{QT;L**W-uR#*CONEz zx7=JcNlE^0w>pwkm>HJ7FDbvbSj#%(6c^7-oOG@Yu9TOb1QR{2_~F-VJb;Ew=DjHQ z#-8*tCdUlz_$1B?19mvbeY!HZfT~?v-+$5~1*rF~qb?M5gS zPfu8Ugo^m4|;q-IYTC1I;gb6BEn4Q>8h!%ABlD?PezowdOw9RKi! zUkz|XO0+FDpst3Vnp#pvex#-C{zB~UahK7Ff4G~mq454fE!Q-(Ub7PuK5bOsa@iPZ&!nO{Lg`tp;wjEuaD%zh_kQn9A6vi4@y&=0%qQ zyQQhh&ownA>;)f843~H3Qz)64UG`GDjy4pJDnilCCJO|d50QZC^`q8iMMjJQEZZm= z9qGr$7cbD`0!037O^TM3y!h{aVkqE$pJc?zscu}58xzNsEa=|VAu6t(KtlAHB_?Jp z=?gM+Jn}hJ3Sju1nW3{YU)(j|+YjfSX02aMjYD?!&b!5KfBZHOOa`ENekdSa$_eQ+ z-{8kVLaN@}oX8Zn3Jwl8h#nDCR!$HPZF&D%C93USDk|>1(*w!wzP`{<`!DPU`>$gm$0J(e`^X`yn2?H-vjVgZN!+OL zjJ+J0!o=LU=3gr*nFszG0s`*6_-H(7iI1D{4p<00Zakc<*nC44t1F_%C%8WiLG9G+ zbntutSLt*>h8vonDczk=Eq&v|}c?plI}4-bJT-1lIA8#O^@zLNfxiptoW zcKo?G1v$(Wot>{>o))g}$KlbMyuQ@M#6WrQNe>lt&sAk;1h{{`xx4yTJ-{QRHrK+F+67zHv6$6wX+<1hLc99YqyB}{ZxnD-j z!{*R&;0v#IquTvPa!jmNh9V!3h`3&eI;R+U40HlUrlJmg z(#p#F?d@idOBE#oDmgTYFn7_=9%+SoZN%$6kr5 zuCjA+%|%3Lv{_k%lQ=Y#lVn;G+&Jfxxc{A=UHVCA$oj%aB@6xa&5uwKKD9$O)t4V4 zYhL$MBqjH#sB~^F(L39{w>MhhQH1USnvNtP-B-fGI%;3itZxy$fA(E9eHj0pKaGIE zR1>)r1REPLc5+VzzK@($Tv{3c#N58V=llZ4YVV2Tg-A-)WGGx*(6A{y{vK)wH1wy> zj?HSB%SWtyO^kDQJKJAu_s7oU>yiK2a~K=vaCoTV=i@WvI4CA2Mny$MgL~c?x(&DY zp95s5;bld6nVG=Zw7O3u%g&+swS=KPz!4POl9DDRC(nGw zF}Je(L(L2W83V=EdN?wk$kDMy{q5*Om;j#h>Z&NHOh`~h)J;vdaMRHx%B3#5y3p}^ zH2J3socP(~KGuDRE^lH&)Xvp|P3TkKai&#mjNI+AD##7kG6ritxSvq2C zYvx-M?qKS-Mw9THIOe~o7lU@m--sXTm*`rVnm+FA$X;E&5l@DG>OR8vL2T}457Sap zhpgI995T`ta z-66F>59;6=R-K9B1+v0%ukUP?sgAJl<#1+gS2zW*Kd4klI#=ZUws=SV>E#ZA);3w3 z#1UjsSg6Uw^!i^LD|4!M>>tOXJw5ztO_J-Oz&+o@-%GZE&5b~RSYFb+7flHYBE$_0Y2DvH zq;htK(CVv^5j1hbM4J7NbwvP8iBkcOflF_qu>YAhc&#;6@kr*0kg zsG}vmrr&{tM8%iispSThNx2K&`n}xXbA3hWgM60=1z7|KjX7qoeUTp#@$cqV%g)@) zvvt3vPG+je7p|^_`)4jpaYviu`&~WV-S@DubAzWa5T(X-s@_k_BlYw=1QR!-97%)R z+IV>-CGIl)-qu&7{#&3Gqh(>KGsdJh8nZnY_&2se^_2LcX>ULNI1WC?Imtupi9r&K)Fio58@&U-U@R)s+w7-OpHJ zE+iE1S18zbg@mxPD0?){&W6g%vCJlQDylG~W$g6Rq?|-WyDv`#ii=B2wKhl}Sqk%R z-1eUx7s|eV9k8-fUC;Iq!|(P_2Xju&Bre_p32Eh5YXn*e8n>@Sj<4HD$Ys(++1pEY7+h1i~j5mWMl{c!e?)9Fq|eKB2-@s3=j|!Fn$`^h>Auxx+b^W zBC(c^n@tY*;imDtKY1NkUd}$(PGCpR!4WT2;2?($kW=WAPqpWD0X2?9PtUdQ`W*!5 z3Ku`l4GaJWq)9rCt>6-ah{d~&J*agXb*Nq3h^K82cJ5{eHbtyYWwrmF}M{ zv$j{yR*%5E7M6ZV<0`-y%FBBR6lDq_$dAEQx9Ii6AzYP{_^8pK)cuQxLEsv%uwM@! zZojuVAKzBrqQx;ORFn_DaN1XaJcB}ujloRug>Ow!$;ojYU3?mvtSl@g;UQJm2TMw( z8|UuFZ&WObLDg)GAh5sG9Uh%_a5BU3i93;-$Sf^)_kI5^j*4AkZ#}G6&0O^A)HCh#!^8~FN=tqJ+uu?i1a?Zxc%?W>%As>Oo~^Z>5#?!*}$tNi;O%8L%x$<$9yf(8|k0 zMu_uHPw#=g-h;%*@@QX|46U2zFo=-XIqvoLB}6maMetu)8`O~Ql{YfV|NX9aVH^yl zDRB(*NIJiV!)mvn;KmxX-I`h1qEoH#S0bX{X6qDE8u$r_8bI%ZO)eE0-~>kJbY@!} zMO^+yXy}J_4i&*`7zk=L<_+P44bY8}ki|VP_t7$(>ThwbC6=lrQF*NViRQ_)9O#0CUeHH{j__P{TLVNz)C!C?7qM~H@ zN%)p&x_huRV?GYo_cgRWR74Di;R0gd7`eG+J!`%r z1fI=P-&|GGcx_E?t{68rnQqdruhh*fA62|-jp>c=XPC?aHfFQwXw&s&^zDV&2cezs z)6+F2B{y@l@(eTyGITfrA9-YCWx+_tcvWU2frFk|9rtI5=MpyT(_RR*Tx_dio{ zVVE?S@xT#1GtH7NXbj!n7h*mn@7{@t$)%+fCnt~St~*2ye%iP`Jn>CUhZioh1fqmGf#x@HJpIVPVtIz*0v~Wq4DceM`+XHKi~z>H=?E1rqNLF6(4|HBnL9H*cOY zZ`D8>9Dp`+byWbUFOMj9%zg3p1SGKm@fnP2k_b1$@Z%s~=JD zwY%%-6Huncgym1_5DoDXV6WJ;M;oeX&BCgK|G^Yfo#}@mgWS!Y-Rgl;My2go3SSx| z5=@opv2b9gq@~HN(C!SK+Q4HL(Y-t%dvb`7F2ch@w)z|A6=hkxDmDVxlr_3Ks)A8& zx*kGrqu!`*M#c*$l^F#TEG>6F^7Jh%VEAu=@HSSN3kFpgna==}QBj#YJ1ZceLS%=N zYiV$p$MK>t$;#!EC(#q7s+AQQb~jB2?f$MoK?8y=Rclwy22Tq`H#eiFxUzR^ol~Q_ zmt$hEww_O_zYQ6cT7Gww{xr8eKBUu-Hm z%~!{hx^GR%++f}*Dq>}4KWRU)c*F^AywlUuwyS;RH8oh+*q#S}L=_crF;F--IFJyW zTwVVj9uA}mkUnIjp?Pl58S*c(?BaL}(oO^f1cE_9E$HsDKnJNF5I~ZXlOsV>VRh@S z$-b`pjsW1eC2=Nq;jiF;4mYU2zCO67KqAi$UpXYDxO+-VOJBlZr=n6&Sm^5Ff^zrn z%JMRkcEeG3G<^*H?J3V+AkL8{kx~f8(9!U)SAD}-NthfT2TyNW+(24dT2L4Xd7gaR z=9>X6p1Z0ZL{)g}fPHO$^Y!R~%}atCfNo`EUz7Zs0Dr0ZbDCXYkxTK~f8Z$W-v}?- zKGUp)O-RW@QdBrIZ5p^N~%_RD|coyJQKY=TAqFYKa;TuV`R!cxBa9aC(jPdHbSZR+oq)_sv|R{*$>iM(2Z! z{k{Y~R4ih)s!J{Cm#nN<5xzo}5W@b(C_O&9k+Ct|zs!+e&F-!uA|kS~SdYSWD~;cP zTxhP*@eabPSFcd9$k5<6xHy7Wvv2w&Z%9BUX$+X_`nQNAh0T;?vVd@?TFR@ua0 zx8L-EvP?w{Nk`v|tC_vo0C&`w#-fTeeD9Q8WNb1;d1w`W#nIqpwxLL+rPd# zI+C%m?e{H*Bg4W{0d)e0U_4whQ4!=k?32G77VqB+Ic#%zhqNw!g!CRgJw4qP4@>}2 zc6K`S%VQi@YawsT#U!U`1__}==iBDi7EocUM@B|G!Y7*zu2BZxf{bRmYhyGUWyfh& zTvJn3Q!~DZ$-g6cp@lU)^|N4v{nnVn-o)PnNmz<~Vi&VsL`2|TmOb zLkmSkc+SNIF(-%!F0QVsMQX1oalXD$Qc}9uNwXx%?P;wdjfJ3lVuVjp&1mGOJpu8?{@ zF`i=)w9%zm0>A z$M5gVaNj;(9bk{Xhu29<_W}U7V%@#8h~G5y^qn7q#Uw%6G?I;>rL@wvO2${S*q=nj zUHdDG#$+|?(a{NRQL&YhQWYS^QWEd{$XOphwp;uhSZr|?M8FZps%q>b`8G%9Rl5Ap zGg@?Ccn>j-#>~txU-9e@FflOva)fxjs+t;fG&BU*7~N&$_J350lYGN}7vcB8kE5em zJ&9tPqBK2{?*2RaXEco*sbRIdpcAR zK6!h4Lqbwr-C2fcu%O%7P;FpU)xQ!4de5MsATlyC;t#yNAgCiCTwPnsH8CYb@jgF0 zFo4I?$_g@Z-Gqga?DQE+dy{!>p%6cXFjg3Q#BOibhq~iqVwhN1axx{E?)YzUabrVT zh0GiKB(6{rax=!kCP=Y@f856h`4QYVJiNRL%|2zdwR?@|kbLB>>VGH&XlhnjS;Vdo z@=sgi!7m&?Zm!Ls(=xYc-&;5}Y|nZRZEg%ck?r4z{v@R6sN|IuURE1vx@c*sO$+mz z*?Ds<82Z514IH5H$*z3v?eyG3j>3GHdsPxUqY3sZQ+Tg}!lo zwyLVC3vOHK~k&JR_fTZF1SC&&1AO(x$t)QfAl>OQvF??R%b99kp>Dl%pi;C6&P{j~HkCd>n4Nl;)*kiyNo1V@u@%Yg}>ykw}^30V4 zUt_l~#_{5VgGIh)91_`n;`%gM_>G3mlJrg8z42+|qkng{x6?C~wQgQQ*gWggt*N~?mMMSNH#Rq~uSgm{F0viIv$wAUB$b(o zkVTU#h1V}#o`L7;Ruv$}w6xn>vvzsH(U&-AA`5IiZy*dN2IIVceYbOzMf?>XF$M~X zH)MgWV_>^PEq<)?`9T@^YvK1YQ1HHdK?cM$C%c}#ehF(OVQq0S{fYnz(JN;HzXrvS zPyVQZFTYQ{(QKq3#_$BtveA(?p0zUH2|To|WJ2IX*U!mmg?Xol%f#>{imizBle}A; zMoxuGi;s3%T%I@hMDg$a;;hcjvWyLv{rqPJ5;*=`+<*L7P)KMLQ0|S5`j9dU%BtA} z#=R48cgU4ZdGYc0_jFv!>jF!Z?C*!IFTzB+G5BPSP3?rHZvJmGp5rmQ6fkTx|=KvB(~ z+6-70wNYi|=Tox`crD>eeF2=PqA^K3F$Jq*d+J$NxK)$gMr&_;i<(96Z?t;{ogKVC zdxC%|#QfCEu$q_pYhIoXAks1+JI@wT5o3Q>=w((cAmvFagZQP~U<2cYPwC$E`g;81 z$1{Y?8P&`ZLRCO5ve2yZ^t7?CAa%FMy#MUkvpaY0L`Fvb3kIlW4*4^XGB`JP7D_tq zPYzYmdZL|3ah}}3Q{LJ6;OEaBQ`5AoYl@LxHh8Pwz9GLa|APDPy$ZTNiH`U#A*J}# z#shkjlN~ve0dqp!KL&|<+wG;gRAFHXYXfuAQZA>9!lrNWG;6g9aDH!W>O1cFdIJrj zzwa|dXjsnKto#^xYuwfw{3l>9)wiP!UPVeWm6_R;(oc<-pXeXA!bE)F=cmf^(;4Cu zlAif;cu)@^@=w|tlSM^+xlbgMkqM%LA)!1{va7Mdy_;-l6uu(helid+sJ5OjSCP9Ps@)^dFiF zU0d2p3+_=yBNa#!iZ9H^%K@%KbeEQf0Gg$0pdzPA`&LxT&)Gn?{XV*IHP z(D&|aWu;?zr2`-T2LV3a|DY^AwmzJP{|sVU{ZPmvCH~YXk@Ep9q_Y#oMTml(Z&jbB zVe*P6>bPMy2^h`g-rCZ&a|n}_F^odomsng9266)!LC!Vtve9SZ!8k#gA*5qeKpJQV7e>obN7ag2)Ote#bY>wR8f2P6Oa3X{)7x(+I(oruw*0 z-eRNv^w=kv!Y4C6+D?+nAtZDGGbpDS%lV}c(3EHk`$@&dd zI(wdM?`mU*G59aGsZ>?lV~6Zm3#=(9>V_BQz0Vn$t12$u8p&?4Ft4h!Bt}MQFD>XP zEx1Ty5LlKa!XLvYoX{^1g(Gosu{uHt7aQB=(2$*$R#JWHzHN zcOqgPAbQPvw^rQf8u$ zj&OQ0XIi zs^~k^RCU_gB7)7WdmA;xy2J4^vw+Vo6yj37^FWE@q?r?B;pjp!=JA6uTp%7dCz%u8AziCnMvQu2sMnK^(_OP03MLPYoVqjS}GGi+r5+7yyl`U zFF;C0gn^=2_Ys}^l#!_q8iH!*6Ie?{goNI{*iGoQk~1<2PS(2hrHA?}1wbCX+#{i} znDT~(mFeo-%ah{tMz&v&q4?gK_`*v}uI*hMH)l3(;Ep%e_jhsj4maPI3Q@1|QH0UZ z2S9)=M|WzLjFiUKnkZpzYUQ~w`j+dXFjzQ8CZhiR^F?rn z1-Y_{&iv2!l4X#^8b-=J(Aw(NLrjdpNXe%9@?~-Q;;OtZq>c&QG9l}eVVwrWEwwH3 zzkdCKXZAjoHF8kJQfFuqry1cfdosX)z$xerB3L`!eS?MdsChO_Swiw&*Ns6F#HJdX2ACd(f@C46+gl!8p^M-bdHV=9;AVHZrK_VFuWyXJ%o&UkTEfxHBcbr zVPvF_#f|hnG=&L5x?a15$vr)IgK6B>)`2=@?}7sFnT&OO)I)vpBoT#f;$Im#+|e8d zSlRDlY~gkh*q4xxk#lJc*`Z<$k}fVKNtz+e&0v|eC~Q<9lh(Y@wYDs8G($^!3>;W} zwk?36F0-%Q&J`a#ykO$AhvbO7(9k&Fj@M#UBL57v-qFyoY2dRkKavBB{Z?S)_2hDJ z*uqvIT`V(Zw<;sUCn_rIa~txjR=sIzR?VF4z1s+}NH(~>%*=^y+d^JpVUJ*VsHpG* ztR=n4u`@j*V`PFWYfp+Q(rVsqXUjG1CFP?RRhFYU?|9tyosl9XH0t)j6M#c5*-5h3 z+RSXm+`%f+lbNSlV@}=#jtKm#HleN4)8OP@?Kh;+Pj6t)22_+CH3$CXn4h}l=r-FeZ zsl1~zqqgHGJJNaPH@n*17soeY@X!|^VgGA+_Uy1XPTJl^3A9_Bae!;hfg z#y(|5MzPc`f1SOTsa}}{uS$SlMY|={eN$;Q_9-?q^KC`7cAF2fEI#_3^G@OVQ4lKl z`f@ruuOQ9+$BYd9$BdLmyZc&P9LCb4*;yO=(JlFNB+ZRSf$CHhK8SprWv_lQ>u<7F?}bn z6Fz*X;BzPfa*9RkXU1(N%;F+`c9sF_zpF1{F8ThwIK=j`n7G1&E;KXm+pgsLRF3F~ zm>;l=G&dnCx62<1(2!JCdJX^s?BsoX%nkBN173dj_GVTs;_+OTmaXvoPDG|cMHXgQCUpvktheER(P^3D!5 z05!ns6w^qg=Hy8gyar!QJ#!heG5lZ)CB-N*4>H&N6AMXAP41<{VbCgGY)zum=jOrQ zvnzb9z}K3@Z+e=GKb3)c^j4?UWikwJW4H5dJ%z6iKfwbK4kry77NX!1pTQanV7nq~ z>)~|4sBr8z-%^SK0$#c`MaQdVR3C%w%;e1UjY++#tn4=M^vL;CU@?SozZXc{`GMVV zs~XvDJY}QGYaESW)mEAKl6=+N)C5uvZ_hbX1{UV0d^)dRueW-a0vX$3-zg(S`v=TP zjEp4)jGd&^Ft*{*k66uJl)gC!zbTwKds3-HUB) zRk4dq{j(wpyHbM%?7vg>wkxB#|Egs|!tOR%cY=T>9sg|SEdTOYz6`Y2DoFsu1#RXT zvXzrwUCo+X7+1Pf7X$|8_={gBGqngXxrI^gaq5_w_j1SnBOIwK|>%Wwq5nG5`&?|o(5N4!8$^51ej{;>#7b8 z(s|2F?023eY%fK-TpXn=bz%D3C*83?6lK6~8yq~^Upy8M%W`(6#Zn4*Kt!>&kq=?C zk6}LzoKt4CkNRC#zNo4_iSWh+`hh` zz|O)#Q${8%(?H3>BB|w8*l5KYilD1AEeeWY&(ELzy-(MEL{Q>U;z-EKD!{%oB&^0H zc4l@)djGf|gywkQ@F^l<-r_v!MOa&3S9jALO))W%$(XNJ{Q-o2jUci=I%4rSW0UZ` zl~^450xIM{A5>&DKz%PSjLWCv^wgTv4n}AzzkUU;uR$0-JsDU^Ozgan$X`({^7Bhr z_9b+a2{gc(*5vkvMgyg`#sNU{O!)w4!L66RWD(|PX6l=sPnKvO0MMN|BP`Y9Z`3;g zNgCPN_0BGvm<_n#yU*@g(^n=q7|*&Q-)qf7rURza#{K55mjMt`6Nu+KI^qC_f%%7r z_{3-LVfh&Z*8vt9Vqy=UhwbgqLQ2m^dFg`7)0PsgZZ#na#rv20>D#mQjTizr@e7|0 z4|87KJ*i_~8wP5m_v^Wb4ex^< z0~-(gqJi1`fU7a+3$2I}+YzoF5ncfZ7)&U`vNTnbBJv6yR#?ifZqpfkbpf!hLo|AcEj-j`hw zSb+Zq)om|dnNs0;O;2*RKIa z=6p(IWGC2BN0V@eaZ`SGTj~Thf@)lxrvk~;@UVg2gOTCk=(tt7Cr`dVzkdfoJj@(; z%s<9C>3FA%MBWr=Xz~H|;Mp@9zu6BicF3YBu*~)~to0_(t z>@1Ry@SUFz!^3U*{wD=bgqFO#?QSwVp8lcTW8QNC+Y>d#eF!o0H#GE5(yMh zbaJXmm_lrj{xB*lhuu2Neh9?Utx1dbr|4(r`QyB&2In>_RaNAGBW`S6ii%EQK3ot^ z$AMcYiL2lBXuYxJw%vZ~iu3uhwzj=Wk-VNsg81`?^)@SDZ|+Q1!pE>q(eWE@yO9wT ziBVETYVa)61l;5wIYlO!L1xMt%%W{zF!p?HBK<6($wcnY&P*B=wFQvYYQKK%?4myg zOgV`wpMs}MMG;r{vIew)*49>9T5;hkQuomIk?*SOG#s5qQkz27fOuFDg?+=bwa({h8) z&F*Hf`hwNnq5Q@*pfj*kBOvI{&$py*pdGpU=+W|cq2}>1t4{r4#7SHe)QxGF>`Y9o z-mlkin&mk^qrt6*S3PF;MX?UH-zO)xon`?{$ zVhm+BDIHnlefp@R;GN0mM4z{K!~MXK^i^4khtJ2QX2fA5;9(FP`LWsOdg z{g&=FS;1VxF{|9**@X+4Qri=nAGrljILbEcbc2~BLYV}v-@;xEJn}Y4z$gkm9c+y6~$Y-!7!)TeHD7Da%p7tL^$CgJ`9!*vkfaf zhlop%>hS1MR@L(^LnTC5VmLDj;IYWG4_i{sz}=vX3WI?zeX@f{{34xn97;q9$ir( z2KXo;ijA1ahfRO`tyNGI*d49=&1w}Dn#qXy@$t!t*O#F`OSn2PnELwkQ_HwgswqAZ zHjD4W2M5qc`YI=eg5^BGTQD_6MJ0<*i>HQTi)ueMhnxdMYwIvD;$`D#bXXGOI&Mu& zM30QD0rz4B)igH%t**|y+}taH!XaiSl2dLRTJV+9%8;g7RumY01qC5qUWviM15hh! zt@a?~)6V0jyND_L6TqXAz z04c}`0CWwewVeKL71B-tLM*%=a1pnf#wRA_`xBSeMnvt;_P%sZ0GFe6&U^)Yd zN2f(6)Kq+VMby{ds{BP zT~%=@Zc%#dMKU856^TKV)^lj8uCCx9`yTb*^>PO(8lYic%Y#yNnw;N4x27mB59zl% zt2rE-*+(E{19smF&v~D)8c8YrsAz2#-J6*y-iwalwDudq3$NGKP5)?CwU)BRt82h% zeb0_GnS7tE`w(!H3dC?%CR`W+6S4$(b+tfRN6 z=c03SrZ8uvoG3##IaVbm`VHnbD3x>NORL{p8^5YUFwkJNnTl$u;CwAB;1`FH^9>2$ zt}l2& zY8ckGXhJqI5iI;V6`FiFK}d&^h)BGrGCF% zJH-(`P{sj&D_jB3Oa%P!on3SJo%Y{|i}OOeAM*Og;v(zVn4vgPQ4S&~D2~S7D#uQh zFB$9TbigN7MfBzR5s>14_mN~m51Pso>9N{}R)MaLh|&&w>N=NWTE4~r;G(J6GeC0D zB4H>AR5aovftO262XA*vw zZp*;xTAGZsEd=pW)9irbn$y|GhcVm5MQ-wPdl}xsAhJ)8ui&Op=rkM|wRPMHvUQxC zD>t}n8}@51^z^uYWI|9=V>%+@H$J(AkXUVf36|s9z?#L3*l0))p`E=6zgrz?piilW z{UYqEo?H691~~{;iR~^@&s130!2jdwD}b_GyJ%4nB?JYeL%O>}Qb9_kySp0!X#oN0 zMv#&alNNopH`NGdjnQ_j{lH?7i07YrzKKgIp_o5@h7Jpth~F z2|nG<_&I?wLl)UZMddqwQ^YYH&(Sl{=(P>1QsAaO@PoBfc0+@jr)L&}3cKc)cqbgj z_=T;y=_x)xd#Q+|E6?)-$aP^dGvfoHrC5!olH4GF9yw^n~qZSciZSD2i#jjq!eQPVKp;sKr&QA0U<7D~GYv`A29352c zkDxF3)e~G@)n;2Z@({P?a2?C(#~I4F0|^@xUw-~B&o@yp_1c(kuyT(XmaqX;06Z9= ztsrW8l-MHbCpW@-dT$6VI^wZ<<<3Dcu8`R@Z1fV~oAG-!2=TkSiQMaNnjZq>3WLO* zB3exc!P2}&SW$6ry4vk6A35+5KY!}#6&DRaF8Pbg_2I}*h%_+OGcmnJ5O#7(3zrEB zl>D8<8*o`YY%_-=f@y@d07E4pWgzNwJ6Yq{q4faaTxO;-mF#w57iNHX75` zL`GpA|6ns&dUn9?p`rEp$JGYnTkv>6yG5jh+X^d6FjoEy2l)g+_kHr{U(kvpAYf64 zprTDf-r(xq-mOF#Fm)g~fT)hjfBx#zn{ujM4`H(eE;@EDE!OmW*rmwILJ#}l01N)W z8=Y-U_g3=uZc5Zcm?% zzC1U>Llb%(%!mwxl8cKS{WhD~(o8KTpoXKlO5sEktQ}f|5D~51SqF8r@9*~I2=vJdb6b?zGTf9~OW zSYl)nPCD@1Yc_tg0&QSpGzUObL3_$~u?;HGqBx`1{8Z5+8&=w&y6}YHAq(vrK_02`a{(FX0W`X=!O5e~uOf^{hxp zC<8_PahUHT{vOVf%=z(l%VP8#gpa3NgF^O8C%p+nG0Ww!ZBIt_-(6Wsvp-D3$QL6( zL){P^)dE?AB~nd6K_Cvg{?$>Rn;(Nq@i)TsVk0FIBM}zI6h9GckT8Q_*YCK zB?xj#S^k|yRZE4&L^%_a-PVA)a8e$_Ed2d_o0Ba`PVO;&=YG?z7dHk!9kLKZ#k6Y- zUzkOGu5>mxGU@@rjhJELf14;Rpqhc5ljEZh@Lx}!bgvuGcZv1vGZ6fLRxNFX|O6(iqYIS z#T9p2>;-43r&v#)K6mc_)3M^;aFbX3HYUM8aSGB@sByo_o(hizF5Noe} z-|y%Ax$};pQ?C7Li#rMb8Mkx6v}{7%bm#16CRMOY^U)}$aI@~`}Td3K%vF8bj+u4GT1umDbh zUry9S3t)-7a$I({NnP>2lJjZo&Q6W5^ha4*MDM*sLkp2Sb*|wiUGUKVr^(V|&0wL_ zBcPG72Hz4^9*k%%2!`E`vELCa%mt)BCb`IA8^_^r4;2xPVV##()vl3rf8p$G z^RNr-Ij7Fy2-F8lOAp%FpG}D?Jr(+cjIuBp2Kng z3tV;!3$L~sE1r_xDk~_Y5bH0R3=rh2+IbG7d;(p8(xvgY0E!*N>J1*71}2q9V6bqwN;+3eQBhTuqKz~38K|=C?Ai9<(?*Y6!-KR=^d)Hv zGdguuMt;v}Rq%2tFS>O0Y zMPGM51K_@F8B~}=+u9H_(zl-B%OmZd+1n@86An6zqg>m~f+_93Ua7!;Xx9 zK%;KC)@^_U<@tqizS<%UW!vf6U`o|W3hu9w!NKUnr@fs4AFfYHaYd8r4-azXb=*Kyj?IJa*wDxYWT~(yte_xta)~_@e=V?7 ze)$+`u2U~7JS!(}izMP3p#RVf61YRW&&F+{br`bU*k+X8#j$-la`*`70`SiFBi0YQc1_kA@fS?kZ>V67`xt3o+Q<6u8|ceW1|wRCJaqtyS-QZ9r6UFp?&5Fi1&N|&dF_*$`f9}&Xyw=n?|07bs9PfDKJVs;wY?nchPO?0d% z^MB;%uOWK=Q|$uFgnQa0xvz;C)ZA+pw^baafGM$xMNJG|T{y@Wj~L@|E2PGG%r; z!%eDcI{00pyjDWw<_PX&s`__EpNVlZ89I*@rbfpexA$$Yl$yASzgRXxhTF^UljT$m zm!h0pOTRUpNciYXC?G5=ZSfo^eqda0B56=3loS+Xj1~RurvlY0k$gG}6WH^s2LR(g zzlY}EOW*VY1Ap;)@&j3<31aweG?T7+A-9vAt8)c0n!K5biF-H6xxd4{J!3&17x4%I z{Ty($TAKQBi{iy|qs0mU8(LG{es!fr2&1KDlBCfUNVBD&XRf-Sl7Jcx*N<`#1vcivu4#YUw(pDvZaMp;FrFnj>w;$DY%ic--u`nKv(Q&SY+WUxf6RK$&y!T5H3?<)xYz1*^S^uz5yJ z{Ze0l5rDeOe7ja%R-HMfnwnLB!3;(*@~f*2c4spIskgK&16M#k+o!Yt!+c?+0?aoo zedZozJNuC19c^tx=hHo69+}kHt8I<%KnbdUo%)uH3p4O^b!iXuYALhro8$STBY4^; z)59X4!@WvDoGT~M6!psxZ2tO|n^92A;i@~`)oC>sxw(gl+z6!CDE%CeS+!32AS2a` ze+LjFcoIrHEPsX%O)ma#dbrhu*i66`2UM>rDz4Ph7@6>qH^+WQMftahnjp;--hw#} z1txa{Xf#23WMe_t;CkE+i(5Yx#D&y8HS2}4r^F;^?GwGtb53I-ib(CUtl#Yd>#$$HgzkK-) z&>SFFzAZUPIRon=FDY44UJjwE`v7Ku8s=nAl{Zg$;}2Q%FKCgttrc;x4THxA1g9OGMmwt*+-ow3buCD&4Nig({7pSdo>hQZi z-#%LJ^9@U2H+p59bs0un4D)?|5*s_)AWYHhl*=7)~-=cP!Rj<^jF)nk!=d=F@whsftbmchlm(A-}SJ9xog7v^#gWbBtpBJ~!J$Fht=p!SQIJrV>I4QAz zX-B@}#*Y-Gl8lL@Wk>|m;P144@|>}vlAnKUZ5Pauu3py8UB2#^xp2K16dC7DJrvwo z4LMyE(5|V8+S+w z1z%mgLt-Kyo$=J(Ui=r8il1gJ9ieyI+fx*>%^0=1Nr(D{pY96Fff);aZecN@;mg4`T4hQZoWQw0!o^H-<^_DD2?jkq@)Gg04eJ2?E<0^=d22 z-VY5n(`6NiBe=K}{x;pZxmJv`yCG)9JGyeofPmn`)!-jiJ^V2gEW2FTD1$>^sZC4- zHQb!uJ3jJ}k9)Sfe5_Fs(XfHH)EdA|k%1>IJ=XhH!`?ab%qyU1J^JhCPhpThWlc*) zwze3pp)ia?U@jbmZ6VzcL~wUS#Q`t~jUV>)4iLI=VG11*N#}dDNo0@Apea=hw{P|YWS?K8r`sir+ z__*`O^I14ofq}&HFVF=9G=+89r0oc{#JF=2C*$G@($l|!cbVh|F-p-_ufVl$6ao+n zb*|0Ko{ERbmImOTt5!wuJ`uZtXNA=J~%C zoemFSoGp`l#Y58;(O%d-bJ;+W zGdCxUV_7XJt3%5Xh`xFy{mz4)yyVmTcu!WAGzp2*B-*M^W+uO!%3M=Nhp3f^XYj`+ zav>o{ojHqI=R#tY6z+l4?pOvepyPf!<)ar1slU(8`oc5W(=m!)Rzct_Rj*1E=Ac&+4!6+^I4NIP0H`6Tq(|hnb(bMa}Z@hlZ zl}SKq*y?WtrD%WuJ2LY3OyY!^rPaoh(*bA4nb$3OE8(P#utrc){w^{G+x=kaM?kYN_A_psxeW~!8P!^(4xElC4fplq;H^MF(ASqjL(^~Yy5%6obUc2Ple3VLqUJya z{SpH3o}{VuG%}DlI3|41y!s=a;~^=jxXteGRI(BAQr%)zjPTrW((&)vQ*SMK_xa*j zbTILLV3BypEn8|>@?Zt%Hj!MZ*C%|r*WyNOArgwxp{`mD1osw z0C839)AcVDlEHz2A(@#GiBqFOT%EQg?z8om|H217uGcSddpna%#GOx{J?NYZHUwh) zn=GEa#ClAOds&5aROFMuaGvat7R0-Ed|T5D0gLDiBW8fVor9+_FOLWZ*MymZ;#E#$ zGtTsj7f}Gce-2^f=6Iu88+Y1thZj!MT~|fvpsbawo0}&#yVFqCyJo0AvGco)+3x9P zrKH4UXR}Kpfjbz#!^+8M?tn_(eE%=I=@O%JOY!*y{lx|Ssfz7X8Clx578X2zh6zKY z!HCxV{NSD+#1p|Q`H3d7or=1HiLy;n{DF*2VNuDX^v=$v=-sbhVhr(#+{LALdW#JR z;16>8r`h!<4Nes=LLl3nDtT6#qRKCYxtG=k(eB_(hFnToTZ820>c3)L!A(jE-Vyov zGYl&IBN>S%6+}XwAj}?LUw;5lZgNPpxA%J^ql{!NDY-#1ce=+>2piH&YAvpZD=&Qv z^51+Z5f|Ix;R>BAHdsbWO@o~$v{atmda1d()&dzSMwV7CMDXBX`Q|sPg z!otkCvi_;cK6G@mi3#*fb#~aHJUZyEc37>fQ7F}4?N@SgI+&g1 z-5lHR(=71$7|(HMfKxyK+?HHvvX2(@3xB%3_pV8V->#|ExjxCi9HPP^=ZF|I?S=0K z32CTp`U-+}O)F@#axM1ylQ-tLShKl4`SH$7JNfy~Dky8evB;NSAtM97&eNTGnYU$0 zzdAUH1JYjZ8T7+tL-|En`iA;yjik=zmRG6qrt4dIwrjH7 z2``kS-k@e@s^a3hNl7B#N1Tp{6T~M_|1-=Xdes$xPG@0mT~hi6+-t}@InDRCH7dPd zhQ#AJYbNpTE9^{^B0Y^Qil#Yqd{5ca6OKpN6X8Yxjm;hJ*HaaNKEGz^=*Gb3OsC@EX&mVJmkR<4C3P%v_m&KzWVg4OruiHn(!R z*K{80dVSpCWMD9Ga4`8$r3Y8xYd;$Z?){y7viFCH zxqp0c@JovJotj|=lHRDOSEswAlf?$#6V!Zy-yl)- z(9%L|qPEGZu5c5RIUzghr%%rZQs+{WG*gn_ef8<^_b2u72{xkSH8vrJIrN7*5}U&p2)?- zt9JaVen!>)^#d=1d}NX)?D(oB zIi~o}d2GHi&=ZuD5OYW>&F7JUoby=1s69PEna zr;=PG-YSmVgNnw{*w_bMPxBfrN}#Ck>nNL9PSl5tEyokoNZ2S2d%DKzlfzwI*CY0c zcQ)W*<*Bu5sIHOGR;g<61;tZMnduoBA!yj9@|o;yC=K@~lfnB6m*hjjM64u2xYad?#x&?I#SKd6oR$P zRMr}2S0shoc;RYgiPXj>MMd^|kyauc2c!htEOK7ZV7!0-wzN3%aPQf>Y%v4`xKOpK zBH9PpJSyz>O*yGK%K+AT2vZh}^h>shFR`(erzX44&z8oI=QI*dDe$E#NaR@D&bZHtOn z5fJt+9EbfM^?W9EFhn#niv4hTGW7`&btq`99|vwqM*$NA1RQ3={;nb=xhIvSZ>nw6 z;#sdd@L!2P7$1(NXA+1?vOL~YY0O%=Z?s$l-_S$@ILT^4t)oHMlv_0B_u~ciuRArn&qk@rzfp1~$hp@uAib?@LbXCJcKFSHBnk?y(sH}s!>ufue;Qr62G)n~|9A287#dR>&@2TqRkgP6YN%Ut zutg>-&9Go$X*pHYCu`;Siy7*tQz0`ncfEAKTCA$-gclL<^J_2@+8l5C6@5Nl*f?FJ zr}ol&vm=yJ^%Xf2yym>s?sI}>m@f`tl3ZALyNG$<<`!U!sRoFeqvJL#m?PbbdWaYj z5J3E8k%_va-g1H*E}iJOikrrM7kd-JyWXlAHggs4Mt;$0$?fNb4`?&wTE*D-39GBB z;X{Ya${tkjwCxv$E_a+1W4JDVQuW-y<2qPg{uSaXk>}-@0Js0w+R*ZsV8nTQ!S#Eb zr=`1F*h*uCAE;nzYOvZFkX6X*nAgX3mn*o+Y+qrEz1_`g!*ezWw|e&8<*wpf3gDmWRw?887JR zH=z!Ihfe;Fwa0hwWK{4TMtp?f9tQY{iIdU|BfeeUfxAU_SWr=~;b{XjY|K#nJgmRp z`}%SbBxDZuMC1936p^8yTH8dIEv?)^UJloQrIkWVOg|MhCJAmbFU<4s3x0ek5Yj2V zjkaljMiftA%2ZbFzz-7^e-IwZ<=`aE!}YG}!=T{+iCqc7Th>bJ`u)=ZA$w6J1&1*i zQ%X!?+|#udzX$K%7wy@K5EDyITG}1$=~-!Lg#VzMnm<>h^xw(xqRr}_;y4Xz) z*)Men7*khPbsqX&=ZgHv{2XYvx>|d7xk@VJnepGemRucw=pUYx6z|urOqyzu$c_BF z#1i3VOG@V0nG@oCoo1{u{w>>Ntln*Rd)t}hMJCK$U24scvVBt*32j(N zNLOY)?DFB=L5R<17IQv*Tt&gQHFY}P8c=R+tr8T3&ZNpZ?3nI{n!v%a4Pfz~Kbdfg z^4p6#26Zm~{;g`hp}<#5+*WG{3TRABA5rvI_5cqk%MC_+b^SQ$|M<1=$CEH(SQ1}$ z;ItRS0JF`Dwm?Eaf0FYL=G-ez-mdSEY^~$NkeiV3_juD7@ot3^)88Fy3yaFQF~5d} zzpyiF_Rj+HV`OAlmiieCDY!T_Eb49PSz?OW-D<_gk8BK=ZVv3h`!*DpB~C)>;_`gC zyz;c))*10G&QqiG9C~Y;RM+c^Hzi-C@RpasPI!okv4WSEuGeYq0fyk#G(IM#{dk*b zMcuTxj7*Tz^vdp>+uq!dsOTQ&9nIJIj?UcN)OL2BtP_0f_Fj5vZXVb8@Za>^swyf` z$;m%+at7yw=9=cCLVD@+^jNscC4O%m9R-z?Tx4bSOTPJ6zI=R-<>m7j7#h2J9w=

nLBMgKU{g&6U*QPz}5H6 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

->znT2)3Xg@O-Ytcu9 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 diff --git a/cdcacm_8cpp_source.html b/cdcacm_8cpp_source.html index 3c1aa0cf..d90c37a2 100644 --- a/cdcacm_8cpp_source.html +++ b/cdcacm_8cpp_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcacm.cpp Source File @@ -31,7 +31,7 @@ - + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

20 const uint8_t ACM::epDataOutIndex = 2;
21 const uint8_t ACM::epInterruptInIndex = 3;
22 
-
23 ACM::ACM(USB *p, CDCAsyncOper *pasync) :
+
23 ACM::ACM(USB *p, CDCAsyncOper *pasync) :
24 pUsb(p),
25 pAsync(pasync),
26 bAddress(0),
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
45 }
46 
-
47 uint8_t ACM::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
47 uint8_t ACM::Init(uint8_t parent, uint8_t port, bool lowspeed) {
48  const uint8_t constBufSize = sizeof (USB_DEVICE_DESCRIPTOR);
49 
50  uint8_t buf[constBufSize];
@@ -146,20 +146,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
55 
56  AddressPool &addrPool = pUsb->GetAddressPool();
57 
-
58  USBTRACE("ACM Init\r\n");
+
58  USBTRACE("ACM Init\r\n");
59 
60  if (bAddress)
- +
62 
63  // Get pointer to pseudo device with address 0 assigned
64  p = addrPool.GetUsbDevicePtr(0);
65 
66  if (!p)
- +
68 
69  if (!p->epinfo) {
-
70  USBTRACE("epinfo\r\n");
- +
70  USBTRACE("epinfo\r\n");
+
72  }
73 
74  // Save old pointer to EP_RECORD of address 0
@@ -171,7 +171,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
80  p->lowspeed = lowspeed;
81 
82  // Get device descriptor
-
83  rcode = pUsb->getDevDescr(0, 0, constBufSize, (uint8_t*)buf);
+
83  rcode = pUsb->getDevDescr(0, 0, constBufSize, (uint8_t*)buf);
84 
85  // Restore p->epinfo
86  p->epinfo = oldep_ptr;
@@ -183,7 +183,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
92  bAddress = addrPool.AllocAddress(parent, false, port);
93 
94  if (!bAddress)
- +
96 
97  // Extract Max Packet Size from the device descriptor
98  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0;
@@ -195,18 +195,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
104  p->lowspeed = false;
105  addrPool.FreeAddress(bAddress);
106  bAddress = 0;
-
107  USBTRACE2("setAddr:", rcode);
+
107  USBTRACE2("setAddr:", rcode);
108  return rcode;
109  }
110 
-
111  USBTRACE2("Addr:", bAddress);
+
111  USBTRACE2("Addr:", bAddress);
112 
113  p->lowspeed = false;
114 
115  p = addrPool.GetUsbDevicePtr(bAddress);
116 
117  if (!p)
- +
119 
120  p->lowspeed = lowspeed;
121 
@@ -218,17 +218,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
127  if (rcode)
128  goto FailSetDevTblEntry;
129 
-
130  USBTRACE2("NC:", num_of_conf);
+
130  USBTRACE2("NC:", num_of_conf);
131 
132  for (uint8_t i = 0; i < num_of_conf; i++) {
- +
138  CP_MASK_COMPARE_PROTOCOL > CdcControlParser(this);
139 
- +
141  CP_MASK_COMPARE_CLASS> CdcDataParser(this);
142 
143  rcode = pUsb->getConfDescr(bAddress, 0, i, &CdcControlParser);
@@ -246,12 +246,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
155  } // for
156 
157  if (bNumEP < 4)
- +
159 
160  // Assign epInfo to epinfo pointer
162 
-
163  USBTRACE2("Conf:", bConfNum);
+
163  USBTRACE2("Conf:", bConfNum);
164 
165  // Set Configuration Value
166  rcode = pUsb->setConf(bAddress, 0, bConfNum);
@@ -264,7 +264,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
173  if (rcode)
174  goto FailOnInit;
175 
-
176  USBTRACE("ACM configured\r\n");
+
176  USBTRACE("ACM configured\r\n");
177 
178  ready = true;
179 
@@ -299,7 +299,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
208 
209 FailOnInit:
210 #ifdef DEBUG_USB_HOST
-
211  USBTRACE("OnInit:");
+
211  USBTRACE("OnInit:");
212 #endif
213 
214 Fail:
@@ -310,7 +310,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
219  return rcode;
220 }
221 
-
222 void ACM::EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *pep) {
+
222 void ACM::EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *pep) {
223  ErrorMessage<uint8_t > (PSTR("Conf.Val"), conf);
224  ErrorMessage<uint8_t > (PSTR("Iface Num"), iface);
225  ErrorMessage<uint8_t > (PSTR("Alt.Set"), alt);
@@ -337,7 +337,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
247 }
248 
-
249 uint8_t ACM::Release() {
+
249 uint8_t ACM::Release() {
251 
252  bControlIface = 0;
@@ -350,7 +350,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
259  return 0;
260 }
261 
-
262 uint8_t ACM::Poll() {
+
262 uint8_t ACM::Poll() {
263  uint8_t rcode = 0;
264 
265  if (!bPollEnable)
@@ -386,64 +386,160 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
295  return rcode;
296 }
297 
-
298 uint8_t ACM::RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr) {
+
298 uint8_t ACM::RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr) {
299  return pUsb->inTransfer(bAddress, epInfo[epDataInIndex].epAddr, bytes_rcvd, dataptr);
300 }
301 
-
302 uint8_t ACM::SndData(uint16_t nbytes, uint8_t *dataptr) {
+
302 uint8_t ACM::SndData(uint16_t nbytes, uint8_t *dataptr) {
303  return pUsb->outTransfer(bAddress, epInfo[epDataOutIndex].epAddr, nbytes, dataptr);
304 }
305 
-
306 uint8_t ACM::SetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr) {
+
306 uint8_t ACM::SetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr) {
307  return ( pUsb->ctrlReq(bAddress, 0, bmREQ_CDCOUT, CDC_SET_COMM_FEATURE, (fid & 0xff), (fid >> 8), bControlIface, nbytes, nbytes, dataptr, NULL));
308 }
309 
-
310 uint8_t ACM::GetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr) {
+
310 uint8_t ACM::GetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr) {
311  return ( pUsb->ctrlReq(bAddress, 0, bmREQ_CDCIN, CDC_GET_COMM_FEATURE, (fid & 0xff), (fid >> 8), bControlIface, nbytes, nbytes, dataptr, NULL));
312 }
313 
-
314 uint8_t ACM::ClearCommFeature(uint16_t fid) {
+
314 uint8_t ACM::ClearCommFeature(uint16_t fid) {
315  return ( pUsb->ctrlReq(bAddress, 0, bmREQ_CDCOUT, CDC_CLEAR_COMM_FEATURE, (fid & 0xff), (fid >> 8), bControlIface, 0, 0, NULL, NULL));
316 }
317 
-
318 uint8_t ACM::SetLineCoding(const LINE_CODING *dataptr) {
+
318 uint8_t ACM::SetLineCoding(const LINE_CODING *dataptr) {
319  return ( pUsb->ctrlReq(bAddress, 0, bmREQ_CDCOUT, CDC_SET_LINE_CODING, 0x00, 0x00, bControlIface, sizeof (LINE_CODING), sizeof (LINE_CODING), (uint8_t*)dataptr, NULL));
320 }
321 
-
322 uint8_t ACM::GetLineCoding(LINE_CODING *dataptr) {
+
322 uint8_t ACM::GetLineCoding(LINE_CODING *dataptr) {
323  return ( pUsb->ctrlReq(bAddress, 0, bmREQ_CDCIN, CDC_GET_LINE_CODING, 0x00, 0x00, bControlIface, sizeof (LINE_CODING), sizeof (LINE_CODING), (uint8_t*)dataptr, NULL));
324 }
325 
-
326 uint8_t ACM::SetControlLineState(uint8_t state) {
+
326 uint8_t ACM::SetControlLineState(uint8_t state) {
327  return ( pUsb->ctrlReq(bAddress, 0, bmREQ_CDCOUT, CDC_SET_CONTROL_LINE_STATE, state, 0, bControlIface, 0, 0, NULL, NULL));
328 }
329 
-
330 uint8_t ACM::SendBreak(uint16_t duration) {
+
330 uint8_t ACM::SendBreak(uint16_t duration) {
331  return ( pUsb->ctrlReq(bAddress, 0, bmREQ_CDCOUT, CDC_SEND_BREAK, (duration & 0xff), (duration >> 8), bControlIface, 0, 0, NULL, NULL));
332 }
333 
- +
335  Notify(PSTR("Endpoint descriptor:"), 0x80);
336  Notify(PSTR("\r\nLength:\t\t"), 0x80);
-
337  D_PrintHex<uint8_t > (ep_ptr->bLength, 0x80);
+
337  PrintHex<uint8_t > (ep_ptr->bLength, 0x80);
338  Notify(PSTR("\r\nType:\t\t"), 0x80);
-
339  D_PrintHex<uint8_t > (ep_ptr->bDescriptorType, 0x80);
+
339  PrintHex<uint8_t > (ep_ptr->bDescriptorType, 0x80);
340  Notify(PSTR("\r\nAddress:\t"), 0x80);
-
341  D_PrintHex<uint8_t > (ep_ptr->bEndpointAddress, 0x80);
+
341  PrintHex<uint8_t > (ep_ptr->bEndpointAddress, 0x80);
342  Notify(PSTR("\r\nAttributes:\t"), 0x80);
-
343  D_PrintHex<uint8_t > (ep_ptr->bmAttributes, 0x80);
+
343  PrintHex<uint8_t > (ep_ptr->bmAttributes, 0x80);
344  Notify(PSTR("\r\nMaxPktSize:\t"), 0x80);
-
345  D_PrintHex<uint16_t > (ep_ptr->wMaxPacketSize, 0x80);
+
345  PrintHex<uint16_t > (ep_ptr->wMaxPacketSize, 0x80);
346  Notify(PSTR("\r\nPoll Intrv:\t"), 0x80);
-
347  D_PrintHex<uint8_t > (ep_ptr->bInterval, 0x80);
+
347  PrintHex<uint8_t > (ep_ptr->bInterval, 0x80);
348  Notify(PSTR("\r\n"), 0x80);
349 }
+
#define USB_CLASS_COM_AND_CDC_CTRL
Definition: UsbCore.h:42
+
#define USB_CLASS_CDC_DATA
Definition: UsbCore.h:49
+
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
Definition: Usb.cpp:761
+ +
#define CDC_SUBCLASS_ACM
Definition: cdcacm.h:27
+
ACM(USB *pusb, CDCAsyncOper *pasync)
Definition: cdcacm.cpp:23
+
#define CDC_PROTOCOL_ITU_T_V_250
Definition: cdcacm.h:40
+
EpInfo * epinfo
Definition: address.h:76
+
#define CP_MASK_COMPARE_PROTOCOL
+
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+
static const uint8_t epInterruptInIndex
Definition: cdcacm.h:143
+
uint8_t bmNakPower
Definition: address.h:42
+
static const uint8_t epDataOutIndex
Definition: cdcacm.h:142
+
#define CDC_CLEAR_COMM_FEATURE
Definition: cdcacm.h:55
+
uint32_t qNextPollTime
Definition: cdcacm.h:152
+ +
uint8_t bControlIface
Definition: cdcacm.h:149
+
#define CDC_SET_COMM_FEATURE
Definition: cdcacm.h:53
+ + +
#define CDC_SET_LINE_CODING
Definition: cdcacm.h:62
+ +
bool ready
Definition: cdcacm.h:154
+
#define NotifyFail(...)
Definition: message.h:55
+
uint8_t bDataIface
Definition: cdcacm.h:150
+
USB * pUsb
Definition: cdcacm.h:145
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+
uint8_t bNumEP
Definition: cdcacm.h:151
+
#define bmREQ_CDCOUT
Definition: cdcacm.h:22
+
EpInfo epInfo[ACM_MAX_ENDPOINTS]
Definition: cdcacm.h:156
+
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
#define CP_MASK_COMPARE_CLASS
+
bool bPollEnable
Definition: cdcacm.h:153
+
#define CDC_SEND_BREAK
Definition: cdcacm.h:65
+
#define CDC_GET_COMM_FEATURE
Definition: cdcacm.h:54
+
virtual void FreeAddress(uint8_t addr)=0
+
uint8_t epAttribs
Definition: address.h:37
+
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)
Definition: Usb.cpp:126
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
Definition: cdcacm.cpp:334
+
#define Notify(...)
Definition: message.h:44
+
CDCAsyncOper * pAsync
Definition: cdcacm.h:146
+ + +
#define USBTRACE2(s, r)
Definition: macros.h:61
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
#define ACM_MAX_ENDPOINTS
Definition: cdcacm.h:137
+
#define NotifyFailGetConfDescr(...)
Definition: message.h:52
+
uint8_t GetLineCoding(LINE_CODING *dataptr)
Definition: cdcacm.cpp:322
+
uint8_t epAddr
Definition: address.h:33
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+
#define bmREQ_CDCIN
Definition: cdcacm.h:23
+
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr)
Definition: cdcacm.cpp:302
+
virtual uint8_t Poll()
Definition: cdcacm.cpp:262
+
Definition: address.h:32
+
#define CDC_GET_LINE_CODING
Definition: cdcacm.h:63
+
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:290
+
uint16_t wMaxPacketSize
Definition: usb_ch9.h:146
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: cdcacm.cpp:47
+
#define CP_MASK_COMPARE_SUBCLASS
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
uint8_t bEndpointAddress
Definition: usb_ch9.h:144
+
static const uint8_t epDataInIndex
Definition: cdcacm.h:141
+
uint8_t bAddress
Definition: cdcacm.h:147
+ +
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+ +
uint8_t SetLineCoding(const LINE_CODING *dataptr)
Definition: cdcacm.cpp:318
+ +
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: cdcacm.cpp:222
+
uint8_t SendBreak(uint16_t duration)
Definition: cdcacm.cpp:330
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+ +
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
uint8_t GetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr)
Definition: cdcacm.cpp:310
+
virtual uint8_t Release()
Definition: cdcacm.cpp:249
+
uint8_t bConfNum
Definition: cdcacm.h:148
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
#define CDC_SET_CONTROL_LINE_STATE
Definition: cdcacm.h:64
+
virtual uint8_t OnInit(ACM *pacm)=0
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
Definition: UsbCore.h:152
+
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
uint8_t SetControlLineState(uint8_t state)
Definition: cdcacm.cpp:326
+
uint8_t SetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr)
Definition: cdcacm.cpp:306
+
uint8_t ClearCommFeature(uint16_t fid)
Definition: cdcacm.cpp:314
+
#define USBTRACE(s)
Definition: macros.h:60
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+
uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr)
Definition: cdcacm.cpp:298
+ diff --git a/cdcacm_8h.html b/cdcacm_8h.html index 7df1a879..74296c8e 100644 --- a/cdcacm_8h.html +++ b/cdcacm_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcacm.h File Reference @@ -31,7 +31,7 @@ - + @@ -93,31 +93,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
cdcacm.h File Reference
-
#include <inttypes.h>
-#include <avr/pgmspace.h>
-#include "avrpins.h"
-#include "max3421e.h"
-#include "usbhost.h"
-#include "usb_ch9.h"
-#include "Usb.h"
-#include "Arduino.h"
-#include "printhex.h"
-#include "hexdump.h"
-#include "message.h"
-#include "confdescparser.h"
+
#include "Usb.h"
Include dependency graph for cdcacm.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -266,7 +255,7 @@ Typedefs
-

Definition at line 40 of file cdcacm.h.

+

Definition at line 22 of file cdcacm.h.

@@ -280,7 +269,7 @@ Typedefs
-

Definition at line 41 of file cdcacm.h.

+

Definition at line 23 of file cdcacm.h.

@@ -294,7 +283,7 @@ Typedefs
-

Definition at line 44 of file cdcacm.h.

+

Definition at line 26 of file cdcacm.h.

@@ -308,7 +297,7 @@ Typedefs
-

Definition at line 45 of file cdcacm.h.

+

Definition at line 27 of file cdcacm.h.

@@ -322,7 +311,7 @@ Typedefs
-

Definition at line 46 of file cdcacm.h.

+

Definition at line 28 of file cdcacm.h.

@@ -336,7 +325,7 @@ Typedefs
-

Definition at line 47 of file cdcacm.h.

+

Definition at line 29 of file cdcacm.h.

@@ -350,7 +339,7 @@ Typedefs
-

Definition at line 48 of file cdcacm.h.

+

Definition at line 30 of file cdcacm.h.

@@ -364,7 +353,7 @@ Typedefs
-

Definition at line 49 of file cdcacm.h.

+

Definition at line 31 of file cdcacm.h.

@@ -378,7 +367,7 @@ Typedefs
-

Definition at line 50 of file cdcacm.h.

+

Definition at line 32 of file cdcacm.h.

@@ -392,7 +381,7 @@ Typedefs
-

Definition at line 51 of file cdcacm.h.

+

Definition at line 33 of file cdcacm.h.

@@ -406,7 +395,7 @@ Typedefs
-

Definition at line 52 of file cdcacm.h.

+

Definition at line 34 of file cdcacm.h.

@@ -420,7 +409,7 @@ Typedefs
-

Definition at line 53 of file cdcacm.h.

+

Definition at line 35 of file cdcacm.h.

@@ -434,7 +423,7 @@ Typedefs
-

Definition at line 54 of file cdcacm.h.

+

Definition at line 36 of file cdcacm.h.

@@ -448,7 +437,7 @@ Typedefs
-

Definition at line 55 of file cdcacm.h.

+

Definition at line 37 of file cdcacm.h.

@@ -462,7 +451,7 @@ Typedefs
-

Definition at line 58 of file cdcacm.h.

+

Definition at line 40 of file cdcacm.h.

@@ -476,7 +465,7 @@ Typedefs
-

Definition at line 59 of file cdcacm.h.

+

Definition at line 41 of file cdcacm.h.

@@ -490,7 +479,7 @@ Typedefs
-

Definition at line 60 of file cdcacm.h.

+

Definition at line 42 of file cdcacm.h.

@@ -504,7 +493,7 @@ Typedefs
-

Definition at line 61 of file cdcacm.h.

+

Definition at line 43 of file cdcacm.h.

@@ -518,7 +507,7 @@ Typedefs
-

Definition at line 62 of file cdcacm.h.

+

Definition at line 44 of file cdcacm.h.

@@ -532,7 +521,7 @@ Typedefs
-

Definition at line 63 of file cdcacm.h.

+

Definition at line 45 of file cdcacm.h.

@@ -546,7 +535,7 @@ Typedefs
-

Definition at line 64 of file cdcacm.h.

+

Definition at line 46 of file cdcacm.h.

@@ -560,7 +549,7 @@ Typedefs
-

Definition at line 67 of file cdcacm.h.

+

Definition at line 49 of file cdcacm.h.

@@ -574,7 +563,7 @@ Typedefs
-

Definition at line 68 of file cdcacm.h.

+

Definition at line 50 of file cdcacm.h.

@@ -588,7 +577,7 @@ Typedefs
-

Definition at line 71 of file cdcacm.h.

+

Definition at line 53 of file cdcacm.h.

@@ -602,7 +591,7 @@ Typedefs
-

Definition at line 72 of file cdcacm.h.

+

Definition at line 54 of file cdcacm.h.

@@ -616,7 +605,7 @@ Typedefs
-

Definition at line 73 of file cdcacm.h.

+

Definition at line 55 of file cdcacm.h.

@@ -630,7 +619,7 @@ Typedefs
-

Definition at line 74 of file cdcacm.h.

+

Definition at line 56 of file cdcacm.h.

@@ -644,7 +633,7 @@ Typedefs
-

Definition at line 75 of file cdcacm.h.

+

Definition at line 57 of file cdcacm.h.

@@ -658,7 +647,7 @@ Typedefs
-

Definition at line 76 of file cdcacm.h.

+

Definition at line 58 of file cdcacm.h.

@@ -672,7 +661,7 @@ Typedefs
-

Definition at line 77 of file cdcacm.h.

+

Definition at line 59 of file cdcacm.h.

@@ -686,7 +675,7 @@ Typedefs
-

Definition at line 78 of file cdcacm.h.

+

Definition at line 60 of file cdcacm.h.

@@ -700,7 +689,7 @@ Typedefs
-

Definition at line 79 of file cdcacm.h.

+

Definition at line 61 of file cdcacm.h.

@@ -714,7 +703,7 @@ Typedefs
-

Definition at line 80 of file cdcacm.h.

+

Definition at line 62 of file cdcacm.h.

@@ -728,7 +717,7 @@ Typedefs
-

Definition at line 81 of file cdcacm.h.

+

Definition at line 63 of file cdcacm.h.

@@ -742,7 +731,7 @@ Typedefs
-

Definition at line 82 of file cdcacm.h.

+

Definition at line 64 of file cdcacm.h.

@@ -756,7 +745,7 @@ Typedefs
-

Definition at line 83 of file cdcacm.h.

+

Definition at line 65 of file cdcacm.h.

@@ -770,7 +759,7 @@ Typedefs
-

Definition at line 84 of file cdcacm.h.

+

Definition at line 66 of file cdcacm.h.

@@ -784,7 +773,7 @@ Typedefs
-

Definition at line 85 of file cdcacm.h.

+

Definition at line 67 of file cdcacm.h.

@@ -798,7 +787,7 @@ Typedefs
-

Definition at line 86 of file cdcacm.h.

+

Definition at line 68 of file cdcacm.h.

@@ -812,7 +801,7 @@ Typedefs
-

Definition at line 87 of file cdcacm.h.

+

Definition at line 69 of file cdcacm.h.

@@ -826,7 +815,7 @@ Typedefs
-

Definition at line 88 of file cdcacm.h.

+

Definition at line 70 of file cdcacm.h.

@@ -840,7 +829,7 @@ Typedefs
-

Definition at line 89 of file cdcacm.h.

+

Definition at line 71 of file cdcacm.h.

@@ -854,7 +843,7 @@ Typedefs
-

Definition at line 90 of file cdcacm.h.

+

Definition at line 72 of file cdcacm.h.

@@ -868,7 +857,7 @@ Typedefs
-

Definition at line 93 of file cdcacm.h.

+

Definition at line 75 of file cdcacm.h.

@@ -882,7 +871,7 @@ Typedefs
-

Definition at line 94 of file cdcacm.h.

+

Definition at line 76 of file cdcacm.h.

@@ -896,7 +885,7 @@ Typedefs
-

Definition at line 95 of file cdcacm.h.

+

Definition at line 77 of file cdcacm.h.

@@ -910,7 +899,7 @@ Typedefs
-

Definition at line 96 of file cdcacm.h.

+

Definition at line 78 of file cdcacm.h.

@@ -924,7 +913,7 @@ Typedefs
-

Definition at line 97 of file cdcacm.h.

+

Definition at line 79 of file cdcacm.h.

@@ -938,7 +927,7 @@ Typedefs
-

Definition at line 98 of file cdcacm.h.

+

Definition at line 80 of file cdcacm.h.

@@ -952,7 +941,7 @@ Typedefs
-

Definition at line 99 of file cdcacm.h.

+

Definition at line 81 of file cdcacm.h.

@@ -966,7 +955,7 @@ Typedefs
-

Definition at line 100 of file cdcacm.h.

+

Definition at line 82 of file cdcacm.h.

@@ -980,7 +969,7 @@ Typedefs
-

Definition at line 155 of file cdcacm.h.

+

Definition at line 137 of file cdcacm.h.

@@ -1027,7 +1016,7 @@ Typedefs diff --git a/cdcacm_8h__dep__incl.map b/cdcacm_8h__dep__incl.map index d5d52cd0..5ba9b76b 100644 --- a/cdcacm_8h__dep__incl.map +++ b/cdcacm_8h__dep__incl.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/cdcacm_8h__dep__incl.md5 b/cdcacm_8h__dep__incl.md5 index 687303c8..bbb3eb6c 100644 --- a/cdcacm_8h__dep__incl.md5 +++ b/cdcacm_8h__dep__incl.md5 @@ -1 +1 @@ -add71dc297e25931e2842b18d0cff6d3 \ No newline at end of file +97039ecdaa206b15dc79322f7b3da49a \ No newline at end of file diff --git a/cdcacm_8h__dep__incl.png b/cdcacm_8h__dep__incl.png index a5a7dc652b271647d72d3df3996dcbda3fddd406..619a1a2e82378b8cbf81f583ef14183b6a454f74 100644 GIT binary patch literal 8748 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

1iqYXx}q$*^ea z@C4+;3&25;Vx-N~O;TWuNW1{>$M8@N1*dR>OL_Gnw|n8fj0^z0d-txSwDbaSC+&OE z0j8Z%bctEcx5TV;bQ0`If!m9{gpNco zYKQLhm7&16XCMqupQ`rJ0F;+6Bkw`dV`DGp_OCZ}T>}&IVCc!odTw%3Qc^Ec8YGff ztSzc?sYAR=xvKgR3f8FE6v8JUMs0W}ZDJZ!?^F@*J1oUBsXM$;2GKT5vQtT&`uh55 zX=&n_kCA2QacNpGWywr0?3?wTvNo=Ch{gp4HE+hFJWtj3vp{&pw)6NWCPmzv`L0ny z>!}mh78iMGqpPlCJjJOVx)w;E%5x;j`|q>nnlVY*ubO^!)Zs)rQb_E!Wy<}x7XFsR z5u;!8$yV%R-U3ys+eRiP&4-2Fxyaw7FU#YbxTYrqV6Y+KC=yyaItpJxaYxeVMFd3F zu?Lp#MQIH@x3hb>j&H>GC7dm-j(5$rnb_L)oh{t;JlPpGHX~~h%i-AC`VIh~gb3b? z%NgT(NN~x+94%zafii+45s7dbilDxqw<+lbc2?pTRFt~E>oASs%78yhXV>8_yjDl-+PER=H z;Ue_`UvcePd7HcoxcF7X-CfQU)ob`niNZg`eDGOMCUUAdA=>6$LxVWA#7Yqj==@>n z=={?3+UCfj_%kQXu7`#(uW`r(K@*Oun!OW?+o2n}xl${SX(aK`UrndH3pj)(u5KmOm1Tf|$xqpMe&&W<34qYWq&YoZe-aU~!iAo&SH6V<{K<8rIhot0tt z$(ljoaF~|1cFNngomLW?VPTSUGc#Pt8q3DY3R6gFwtpw)e+Oq0-*vpZTRO;`Ab*({ z8%s$_YTSBTY*Oy%=tvV$gMY>7N6(d}b*!}Pn)CBpr=~3Lq`?9Me}|HhkuBdSVw4gQNoa6ci*6~y z%M1+-+1lBG%nQ271ZQPt=FFU&1cHogBMRj(h4BGtP}<|y^4gjk1Y(YXe$qlsRM@Gj zsi}E;S7@O~fKGdHl)=jSdb8`u9Wv$l7qYS%`*S6 z`ujaWV&&%Mw(CfET0Alj1s<51{w#U+)xyH!AgD>oPD7(}u@^}s60x=wA{B`fS zQR|`gkRNmHS65eWuMYYWNIPC} h|8(R3H07=HqXbTzRZn>|_`?X$RMmY{rt&=We*o5TIl%w` diff --git a/cdcacm_8h__incl.map b/cdcacm_8h__incl.map index 889edf15..c134106f 100644 --- a/cdcacm_8h__incl.map +++ b/cdcacm_8h__incl.map @@ -1,13 +1,3 @@ - - - - - - - - - - - + diff --git a/cdcacm_8h__incl.md5 b/cdcacm_8h__incl.md5 index 5c340b0f..d35865e2 100644 --- a/cdcacm_8h__incl.md5 +++ b/cdcacm_8h__incl.md5 @@ -1 +1 @@ -c5e74d019a225ea44242136e255ae09b \ No newline at end of file +a06da110b6401ffa80ac6ba1c8b87e4c \ No newline at end of file diff --git a/cdcacm_8h__incl.png b/cdcacm_8h__incl.png index d431372e4a9f022f62b76f7ef4fedc2c86468b09..e4a9e38cdcd967a23891633c75c2f9a5c5c26db4 100644 GIT binary patch literal 2544 zcmbuBX*3&X7snGqEe)boTkKWs*eaH(oi?_nErMFo5?U#05Nj=oAV#Qdl%UqyDXR9R z2%&1PUF}T6SW?T_X*)URecvzh^?lB{&%K|XbN}~$&hNR=W)F@0Pt1RuJO`2%zU_nyAi@cV^6-;#Zb)(+clm2)w1&uuajY&G?|A`Nw~ z$l2%xA8tXEBLHn4^BN=Ek5oL7W@dV`4W7je8%H;%-mUM^`WMPhGd+957u!Qk1GX0m zG5LggKJltMX)WA%BV+_C6{R=E6KK`0k2xCSD zbPk1i7dhX`7t>y&A85OA}>|ZA;!C|ZB1sz z5Dq6*Jn4yFNz0~LnV^_rXQ6ouhsIPsJ+GGm^ckyy30+1bye2jNC4m00gHG-176hh? zdxJ9_E8+kU@E+SY1*=?c{?8dIuA^O#K@leho2kL=W$Xxou!@U#{MqWDu-jNsoblp^ zK#P#h3)BrQTJI~F@tS9*u;=`uq7P>4f6Hgsap_u>#Kw53ZOavTJ5n>j#_Ij(f=Ce!sHd$Wrhbq%rU>EAqQl-P|4=(cHV5nrwV1d#X+5MT zVi@M>daPI zi}sPvI^s8*jG{)zYP#()t5*{qJ(Kxz0nw)OUy^8}ZZeba=~V~SqgmzB2~Q8)J1*M5 zfV~@E!Ue0IG9^vauqdN@L08{Ch=w~)nx?&>+g+dF; zg;H|Mr!3l3Vj+6TZ@4xzte~6%6vMa}>&e00HX*S-v!31+7fN)rQlF$4ZIek*A1=6Y z%N7b2SVCF^3pTSiUPxAd4CTHh-93GuqMbXizVd>C#me7Mt51)Y+A~}A#cH7e_Yer= zM=IZA1EIh$alTf6FVAHTt;N3*xj;vN0wC~~hQ@7Mu&UjMk!5)<*RL$$AP|~BL{Kh-YPe+5tg4<7tL3>ct)0N3>(2!hPLw57J+u$z5zl2X(ZgVdi8;Zaxutu%P0E1Fzc zSoozD$jnOeizvRIfhoPzrlz2vz-LA6JXbb~?0)lJ>!itNErgy|nN7=f!Yz)ETV}1i zP7Gr)tx(wT>@^q%k*bHo7(dGZ;oqiLnh+qu%)6?!-e-ru*)@8-QA0H(=*gTN(#L4R z&LPJ;VVI%J8@IOvQqE+D-(87Kp__iJ6#RAx7xwB>imWw~0R#43BF{X)yw$Sf^n-TLK98dm zk055O=)T(@%WE4GZ%YIJUX>g|w&TCU3*@OWNidNMw-gl<)I8>lkG{=cdat}Xl!bW7 zujrqnBk3a{&X?y_;n1GFI-H}p(Jbr2`#I_a1WFG&-7h5x6_rZ*O}!&1fsY-+Pwe5> z;Y3A{jBTw8BuhJZa$ZhCLOn(kFC1ct=yHB5;$}(i4HS#PJIQPeRW<#2L zP~(Q4^orFpzMGwN@ycSgbE&y7p+QawUjW1$0=eZj*NAm$EUecLQ8(@2F$K%f(%%(9 zREspa-x-PNgfv!J5)0tQ#<7>Zy}jWtYD`}BrGkwbRfxZLS?I!GNxy@IAKqYv&H)v8 zAF<1c_m$z_C#y$~%H^y5#MXZIsg)$R!^+CS;06W|HK`64 zDFub0663FLpijQ)@w7LS^Z-r)VuDrkaMe?RDpt~b%f)GrJRuxe%=<t<8 literal 135077 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 - + USB Host Shield 2.0: cdcacm.h Source File @@ -31,7 +31,7 @@ - + @@ -108,204 +108,260 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

17 #if !defined(__CDCACM_H__)
18 #define __CDCACM_H__
19 
-
20 #include <inttypes.h>
-
21 #include <avr/pgmspace.h>
-
22 #include "avrpins.h"
-
23 #include "max3421e.h"
-
24 #include "usbhost.h"
-
25 #include "usb_ch9.h"
-
26 #include "Usb.h"
-
27 
-
28 #if defined(ARDUINO) && ARDUINO >=100
-
29 #include "Arduino.h"
-
30 #else
-
31 #include <WProgram.h>
-
32 #endif
-
33 
-
34 #include "printhex.h"
-
35 #include "hexdump.h"
-
36 #include "message.h"
-
37 
-
38 #include "confdescparser.h"
-
39 
-
40 #define bmREQ_CDCOUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
-
41 #define bmREQ_CDCIN USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
-
42 
-
43 // CDC Subclass Constants
-
44 #define CDC_SUBCLASS_DLCM 0x01 // Direct Line Control Model
-
45 #define CDC_SUBCLASS_ACM 0x02 // Abstract Control Model
-
46 #define CDC_SUBCLASS_TCM 0x03 // Telephone Control Model
-
47 #define CDC_SUBCLASS_MCCM 0x04 // Multi Channel Control Model
-
48 #define CDC_SUBCLASS_CAPI 0x05 // CAPI Control Model
-
49 #define CDC_SUBCLASS_ETHERNET 0x06 // Ethernet Network Control Model
-
50 #define CDC_SUBCLASS_ATM 0x07 // ATM Network Control Model
-
51 #define CDC_SUBCLASS_WIRELESS_HANDSET 0x08 // Wireless Handset Control Model
-
52 #define CDC_SUBCLASS_DEVICE_MANAGEMENT 0x09 // Device Management
-
53 #define CDC_SUBCLASS_MOBILE_DIRECT_LINE 0x0A // Mobile Direct Line Model
-
54 #define CDC_SUBCLASS_OBEX 0x0B // OBEX
-
55 #define CDC_SUBCLASS_ETHERNET_EMU 0x0C // Ethernet Emulation Model
-
56 
-
57 // Communication Interface Class Control Protocol Codes
-
58 #define CDC_PROTOCOL_ITU_T_V_250 0x01 // AT Commands defined by ITU-T V.250
-
59 #define CDC_PROTOCOL_PCCA_101 0x02 // AT Commands defined by PCCA-101
-
60 #define CDC_PROTOCOL_PCCA_101_O 0x03 // AT Commands defined by PCCA-101 & Annex O
-
61 #define CDC_PROTOCOL_GSM_7_07 0x04 // AT Commands defined by GSM 7.07
-
62 #define CDC_PROTOCOL_3GPP_27_07 0x05 // AT Commands defined by 3GPP 27.007
-
63 #define CDC_PROTOCOL_C_S0017_0 0x06 // AT Commands defined by TIA for CDMA
-
64 #define CDC_PROTOCOL_USB_EEM 0x07 // Ethernet Emulation Model
-
65 
-
66 // CDC Commands defined by CDC 1.2
-
67 #define CDC_SEND_ENCAPSULATED_COMMAND 0x00
-
68 #define CDC_GET_ENCAPSULATED_RESPONSE 0x01
-
69 
-
70 // CDC Commands defined by PSTN 1.2
-
71 #define CDC_SET_COMM_FEATURE 0x02
-
72 #define CDC_GET_COMM_FEATURE 0x03
-
73 #define CDC_CLEAR_COMM_FEATURE 0x04
-
74 #define CDC_SET_AUX_LINE_STATE 0x10
-
75 #define CDC_SET_HOOK_STATE 0x11
-
76 #define CDC_PULSE_SETUP 0x12
-
77 #define CDC_SEND_PULSE 0x13
-
78 #define CDC_SET_PULSE_TIME 0x14
-
79 #define CDC_RING_AUX_JACK 0x15
-
80 #define CDC_SET_LINE_CODING 0x20
-
81 #define CDC_GET_LINE_CODING 0x21
-
82 #define CDC_SET_CONTROL_LINE_STATE 0x22
-
83 #define CDC_SEND_BREAK 0x23
-
84 #define CDC_SET_RINGER_PARMS 0x30
-
85 #define CDC_GET_RINGER_PARMS 0x31
-
86 #define CDC_SET_OPERATION_PARMS 0x32
-
87 #define CDC_GET_OPERATION_PARMS 0x33
-
88 #define CDC_SET_LINE_PARMS 0x34
-
89 #define CDC_GET_LINE_PARMS 0x35
-
90 #define CDC_DIAL_DIGITS 0x36
-
91 
-
92 //Class-Specific Notification Codes
-
93 #define NETWORK_CONNECTION 0x00
-
94 #define RESPONSE_AVAILABLE 0x01
-
95 #define AUX_JACK_HOOK_STATE 0x08
-
96 #define RING_DETECT 0x09
-
97 #define SERIAL_STATE 0x20
-
98 #define CALL_STATE_CHANGE 0x28
-
99 #define LINE_STATE_CHANGE 0x29
-
100 #define CONNECTION_SPEED_CHANGE 0x2a
-
101 
-
102 // CDC Functional Descriptor Structures
-
103 
-
104 typedef struct {
- - - -
108  uint8_t bmCapabilities;
-
109  uint8_t bDataInterface;
- -
111 
-
112 typedef struct {
- - - -
116  uint8_t bmCapabilities;
- - -
119 
-
120 typedef struct {
- - - - - - -
127 
-
128 typedef struct {
-
129  uint32_t dwDTERate; // Data Terminal Rate in bits per second
-
130  uint8_t bCharFormat; // 0 - 1 stop bit, 1 - 1.5 stop bits, 2 - 2 stop bits
-
131  uint8_t bParityType; // 0 - None, 1 - Odd, 2 - Even, 3 - Mark, 4 - Space
-
132  uint8_t bDataBits; // Data bits (5, 6, 7, 8 or 16)
-
133 } LINE_CODING;
-
134 
-
135 typedef struct
-
136 {
-
137  uint8_t bmRequestType; // 0xa1 for class-specific notifications
-
138  uint8_t bNotification;
-
139  uint16_t wValue;
-
140  uint16_t wIndex;
-
141  uint16_t wLength;
-
142  uint16_t bmState; //UART state bitmap for SERIAL_STATE, other notifications variable length
- +
20 #include "Usb.h"
+
21 
+
22 #define bmREQ_CDCOUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
+
23 #define bmREQ_CDCIN USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
+
24 
+
25 // CDC Subclass Constants
+
26 #define CDC_SUBCLASS_DLCM 0x01 // Direct Line Control Model
+
27 #define CDC_SUBCLASS_ACM 0x02 // Abstract Control Model
+
28 #define CDC_SUBCLASS_TCM 0x03 // Telephone Control Model
+
29 #define CDC_SUBCLASS_MCCM 0x04 // Multi Channel Control Model
+
30 #define CDC_SUBCLASS_CAPI 0x05 // CAPI Control Model
+
31 #define CDC_SUBCLASS_ETHERNET 0x06 // Ethernet Network Control Model
+
32 #define CDC_SUBCLASS_ATM 0x07 // ATM Network Control Model
+
33 #define CDC_SUBCLASS_WIRELESS_HANDSET 0x08 // Wireless Handset Control Model
+
34 #define CDC_SUBCLASS_DEVICE_MANAGEMENT 0x09 // Device Management
+
35 #define CDC_SUBCLASS_MOBILE_DIRECT_LINE 0x0A // Mobile Direct Line Model
+
36 #define CDC_SUBCLASS_OBEX 0x0B // OBEX
+
37 #define CDC_SUBCLASS_ETHERNET_EMU 0x0C // Ethernet Emulation Model
+
38 
+
39 // Communication Interface Class Control Protocol Codes
+
40 #define CDC_PROTOCOL_ITU_T_V_250 0x01 // AT Commands defined by ITU-T V.250
+
41 #define CDC_PROTOCOL_PCCA_101 0x02 // AT Commands defined by PCCA-101
+
42 #define CDC_PROTOCOL_PCCA_101_O 0x03 // AT Commands defined by PCCA-101 & Annex O
+
43 #define CDC_PROTOCOL_GSM_7_07 0x04 // AT Commands defined by GSM 7.07
+
44 #define CDC_PROTOCOL_3GPP_27_07 0x05 // AT Commands defined by 3GPP 27.007
+
45 #define CDC_PROTOCOL_C_S0017_0 0x06 // AT Commands defined by TIA for CDMA
+
46 #define CDC_PROTOCOL_USB_EEM 0x07 // Ethernet Emulation Model
+
47 
+
48 // CDC Commands defined by CDC 1.2
+
49 #define CDC_SEND_ENCAPSULATED_COMMAND 0x00
+
50 #define CDC_GET_ENCAPSULATED_RESPONSE 0x01
+
51 
+
52 // CDC Commands defined by PSTN 1.2
+
53 #define CDC_SET_COMM_FEATURE 0x02
+
54 #define CDC_GET_COMM_FEATURE 0x03
+
55 #define CDC_CLEAR_COMM_FEATURE 0x04
+
56 #define CDC_SET_AUX_LINE_STATE 0x10
+
57 #define CDC_SET_HOOK_STATE 0x11
+
58 #define CDC_PULSE_SETUP 0x12
+
59 #define CDC_SEND_PULSE 0x13
+
60 #define CDC_SET_PULSE_TIME 0x14
+
61 #define CDC_RING_AUX_JACK 0x15
+
62 #define CDC_SET_LINE_CODING 0x20
+
63 #define CDC_GET_LINE_CODING 0x21
+
64 #define CDC_SET_CONTROL_LINE_STATE 0x22
+
65 #define CDC_SEND_BREAK 0x23
+
66 #define CDC_SET_RINGER_PARMS 0x30
+
67 #define CDC_GET_RINGER_PARMS 0x31
+
68 #define CDC_SET_OPERATION_PARMS 0x32
+
69 #define CDC_GET_OPERATION_PARMS 0x33
+
70 #define CDC_SET_LINE_PARMS 0x34
+
71 #define CDC_GET_LINE_PARMS 0x35
+
72 #define CDC_DIAL_DIGITS 0x36
+
73 
+
74 //Class-Specific Notification Codes
+
75 #define NETWORK_CONNECTION 0x00
+
76 #define RESPONSE_AVAILABLE 0x01
+
77 #define AUX_JACK_HOOK_STATE 0x08
+
78 #define RING_DETECT 0x09
+
79 #define SERIAL_STATE 0x20
+
80 #define CALL_STATE_CHANGE 0x28
+
81 #define LINE_STATE_CHANGE 0x29
+
82 #define CONNECTION_SPEED_CHANGE 0x2a
+
83 
+
84 // CDC Functional Descriptor Structures
+
85 
+
86 typedef struct {
+
87  uint8_t bFunctionLength;
+
88  uint8_t bDescriptorType;
+ +
90  uint8_t bmCapabilities;
+
91  uint8_t bDataInterface;
+ +
93 
+
94 typedef struct {
+
95  uint8_t bFunctionLength;
+
96  uint8_t bDescriptorType;
+ +
98  uint8_t bmCapabilities;
+ + +
101 
+
102 typedef struct {
+ + + + + + +
109 
+
110 typedef struct {
+
111  uint32_t dwDTERate; // Data Terminal Rate in bits per second
+
112  uint8_t bCharFormat; // 0 - 1 stop bit, 1 - 1.5 stop bits, 2 - 2 stop bits
+
113  uint8_t bParityType; // 0 - None, 1 - Odd, 2 - Even, 3 - Mark, 4 - Space
+
114  uint8_t bDataBits; // Data bits (5, 6, 7, 8 or 16)
+
115 } LINE_CODING;
+
116 
+
117 typedef struct
+
118 {
+
119  uint8_t bmRequestType; // 0xa1 for class-specific notifications
+
120  uint8_t bNotification;
+
121  uint16_t wValue;
+
122  uint16_t wIndex;
+
123  uint16_t wLength;
+
124  uint16_t bmState; //UART state bitmap for SERIAL_STATE, other notifications variable length
+ +
126 
+
127 class ACM;
+
128 
+ +
130 public:
+
131  virtual uint8_t OnInit(ACM *pacm) = 0;
+
132  //virtual void OnDataRcvd(ACM *pacm, uint8_t nbytes, uint8_t *dataptr) = 0;
+
133  //virtual void OnDisconnected(ACM *pacm) = 0;
+
134 };
+
135 
+
136 
+
137 #define ACM_MAX_ENDPOINTS 4
+
138 
+
139 class ACM : public USBDeviceConfig, public UsbConfigXtracter {
+
140 protected:
+
141  static const uint8_t epDataInIndex; // DataIn endpoint index
+
142  static const uint8_t epDataOutIndex; // DataOUT endpoint index
+
143  static const uint8_t epInterruptInIndex; // InterruptIN endpoint index
144 
-
145 class ACM;
-
146 
- -
148 public:
-
149  virtual uint8_t OnInit(ACM *pacm) = 0;
-
150  //virtual void OnDataRcvd(ACM *pacm, uint8_t nbytes, uint8_t *dataptr) = 0;
-
151  //virtual void OnDisconnected(ACM *pacm) = 0;
-
152 };
-
153 
-
154 
-
155 #define ACM_MAX_ENDPOINTS 4
-
156 
-
157 class ACM : public USBDeviceConfig, public UsbConfigXtracter {
-
158 protected:
-
159  static const uint8_t epDataInIndex; // DataIn endpoint index
-
160  static const uint8_t epDataOutIndex; // DataOUT endpoint index
-
161  static const uint8_t epInterruptInIndex; // InterruptIN endpoint index
+ + +
147  uint8_t bAddress;
+
148  uint8_t bConfNum; // configuration number
+
149  uint8_t bControlIface; // Control interface value
+
150  uint8_t bDataIface; // Data interface value
+
151  uint8_t bNumEP; // total number of EP in the configuration
+
152  uint32_t qNextPollTime; // next poll time
+
153  bool bPollEnable; // poll enable flag
+
154  bool ready; //device ready indicator
+
155 
+ +
157 
+ +
159 
+
160 public:
+
161  ACM(USB *pusb, CDCAsyncOper *pasync);
162 
- - -
165  uint8_t bAddress;
-
166  uint8_t bConfNum; // configuration number
-
167  uint8_t bControlIface; // Control interface value
-
168  uint8_t bDataIface; // Data interface value
-
169  uint8_t bNumEP; // total number of EP in the configuration
-
170  uint32_t qNextPollTime; // next poll time
-
171  bool bPollEnable; // poll enable flag
-
172  bool ready; //device ready indicator
-
173 
- +
163  uint8_t SetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr);
+
164  uint8_t GetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr);
+
165  uint8_t ClearCommFeature(uint16_t fid);
+
166  uint8_t SetLineCoding(const LINE_CODING *dataptr);
+
167  uint8_t GetLineCoding(LINE_CODING *dataptr);
+
168  uint8_t SetControlLineState(uint8_t state);
+
169  uint8_t SendBreak(uint16_t duration);
+
170  uint8_t GetNotif( uint16_t *bytes_rcvd, uint8_t *dataptr );
+
171 
+
172  // Methods for recieving and sending data
+
173  uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr);
+
174  uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
175 
- -
177 
-
178 public:
-
179  ACM(USB *pusb, CDCAsyncOper *pasync);
+
176  // USBDeviceConfig implementation
+
177  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
178  virtual uint8_t Release();
+
179  virtual uint8_t Poll();
180 
-
181  uint8_t SetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr);
-
182  uint8_t GetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr);
-
183  uint8_t ClearCommFeature(uint16_t fid);
-
184  uint8_t SetLineCoding(const LINE_CODING *dataptr);
-
185  uint8_t GetLineCoding(LINE_CODING *dataptr);
-
186  uint8_t SetControlLineState(uint8_t state);
-
187  uint8_t SendBreak(uint16_t duration);
-
188  uint8_t GetNotif( uint16_t *bytes_rcvd, uint8_t *dataptr );
-
189 
-
190  // Methods for recieving and sending data
-
191  uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr);
-
192  uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
-
193 
-
194  // USBDeviceConfig implementation
-
195  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
196  virtual uint8_t Release();
-
197  virtual uint8_t Poll();
-
198 
-
199  virtual uint8_t GetAddress() {
-
200  return bAddress;
-
201  };
-
202 
-
203  virtual bool isReady() {
-
204  return ready;
-
205  };
-
206 
-
207  // UsbConfigXtracter implementation
-
208  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
-
209 };
-
210 
-
211 #endif // __CDCACM_H__
+
181  virtual uint8_t GetAddress() {
+
182  return bAddress;
+
183  };
+
184 
+
185  virtual bool isReady() {
+
186  return ready;
+
187  };
+
188 
+
189  // UsbConfigXtracter implementation
+
190  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
+
191 };
+
192 
+
193 #endif // __CDCACM_H__
+
uint16_t wIndex
Definition: cdcacm.h:122
+
ACM(USB *pusb, CDCAsyncOper *pasync)
Definition: cdcacm.cpp:23
+
static const uint8_t epInterruptInIndex
Definition: cdcacm.h:143
+
virtual uint8_t GetAddress()
Definition: cdcacm.h:181
+
static const uint8_t epDataOutIndex
Definition: cdcacm.h:142
+
uint32_t qNextPollTime
Definition: cdcacm.h:152
+
uint8_t bParityType
Definition: cdcacm.h:113
+
uint8_t bCharFormat
Definition: cdcacm.h:112
+
uint8_t bDataBits
Definition: cdcacm.h:114
+
uint8_t bNotification
Definition: cdcacm.h:120
+
uint8_t bControlIface
Definition: cdcacm.h:149
+
uint16_t wValue
Definition: cdcacm.h:121
+ +
bool ready
Definition: cdcacm.h:154
+
uint8_t bDataIface
Definition: cdcacm.h:150
+
USB * pUsb
Definition: cdcacm.h:145
+
uint8_t bDataInterface
Definition: cdcacm.h:91
+
uint8_t bDescriptorType
Definition: cdcacm.h:88
+
uint8_t bNumEP
Definition: cdcacm.h:151
+ +
EpInfo epInfo[ACM_MAX_ENDPOINTS]
Definition: cdcacm.h:156
+ + + +
uint8_t bFunctionLength
Definition: cdcacm.h:95
+
uint8_t bDescriptorSubtype
Definition: cdcacm.h:89
+
uint8_t bNumRingerPatterns
Definition: cdcacm.h:107
+
bool bPollEnable
Definition: cdcacm.h:153
+
uint8_t bDescriptorSubtype
Definition: cdcacm.h:97
+
uint16_t bmState
Definition: cdcacm.h:124
+
void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
Definition: cdcacm.cpp:334
+
CDCAsyncOper * pAsync
Definition: cdcacm.h:146
+
#define ACM_MAX_ENDPOINTS
Definition: cdcacm.h:137
+
uint8_t GetLineCoding(LINE_CODING *dataptr)
Definition: cdcacm.cpp:322
+ +
uint8_t bDescriptorType
Definition: cdcacm.h:96
+
uint8_t bRingerVolSteps
Definition: cdcacm.h:106
+
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr)
Definition: cdcacm.cpp:302
+
virtual uint8_t Poll()
Definition: cdcacm.cpp:262
+
Definition: address.h:32
+
uint8_t bmCapabilities
Definition: cdcacm.h:98
+
uint8_t bDescriptorSubtype
Definition: cdcacm.h:105
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: cdcacm.cpp:47
+
uint8_t bmRequestType
Definition: cdcacm.h:119
+
static const uint8_t epDataInIndex
Definition: cdcacm.h:141
+
uint8_t bAddress
Definition: cdcacm.h:147
+ +
virtual bool isReady()
Definition: cdcacm.h:185
+
uint8_t SetLineCoding(const LINE_CODING *dataptr)
Definition: cdcacm.cpp:318
+ +
uint8_t bFunctionLength
Definition: cdcacm.h:103
+
struct ACM_FUNC_DESCR TEL_CALL_STATE_REP_CPBL_FUNC_DESCR
+
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: cdcacm.cpp:222
+
uint8_t SendBreak(uint16_t duration)
Definition: cdcacm.cpp:330
+
uint16_t wLength
Definition: cdcacm.h:123
+ +
uint8_t GetNotif(uint16_t *bytes_rcvd, uint8_t *dataptr)
+
uint32_t dwDTERate
Definition: cdcacm.h:111
+
uint8_t GetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr)
Definition: cdcacm.cpp:310
+
virtual uint8_t Release()
Definition: cdcacm.cpp:249
+
uint8_t bConfNum
Definition: cdcacm.h:148
+
struct ACM_FUNC_DESCR TEL_OPER_MODES_FUNC_DESCR
+
virtual uint8_t OnInit(ACM *pacm)=0
+ +
Definition: UsbCore.h:152
+
Definition: cdcacm.h:139
+
uint8_t bDescriptorType
Definition: cdcacm.h:104
+
uint8_t SetControlLineState(uint8_t state)
Definition: cdcacm.cpp:326
+
uint8_t SetCommFeature(uint16_t fid, uint8_t nbytes, uint8_t *dataptr)
Definition: cdcacm.cpp:306
+
uint8_t ClearCommFeature(uint16_t fid)
Definition: cdcacm.cpp:314
+
struct ACM_FUNC_DESCR DLM_FUNC_DESCR
+
uint8_t bFunctionLength
Definition: cdcacm.h:87
+
uint8_t bmCapabilities
Definition: cdcacm.h:90
+
uint8_t RcvData(uint16_t *nbytesptr, uint8_t *dataptr)
Definition: cdcacm.cpp:298
diff --git a/cdcftdi_8cpp.html b/cdcftdi_8cpp.html index 0374a032..27425ee7 100644 --- a/cdcftdi_8cpp.html +++ b/cdcftdi_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcftdi.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for cdcftdi.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for cdcftdi.cpp: diff --git a/cdcftdi_8cpp__incl.map b/cdcftdi_8cpp__incl.map index 904a55a2..c2c61b3e 100644 --- a/cdcftdi_8cpp__incl.map +++ b/cdcftdi_8cpp__incl.map @@ -1,14 +1,4 @@ - - - - - - - - - - - - + + diff --git a/cdcftdi_8cpp__incl.md5 b/cdcftdi_8cpp__incl.md5 index b06115b4..958e3057 100644 --- a/cdcftdi_8cpp__incl.md5 +++ b/cdcftdi_8cpp__incl.md5 @@ -1 +1 @@ -92ac5cc688901d9f77fad186cb146498 \ No newline at end of file +65fc37f20195417aa899b408712d428a \ No newline at end of file diff --git a/cdcftdi_8cpp__incl.png b/cdcftdi_8cpp__incl.png index 57268c54c4cbc6d79d9b7cae2924e09c63233ead..343e3d44f3d5be97e3ebbc3ab242146711f9f893 100644 GIT binary patch literal 4515 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 - + USB Host Shield 2.0: cdcftdi.cpp Source File @@ -31,7 +31,7 @@ - + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
20 const uint8_t FTDI::epDataOutIndex = 2;
21 const uint8_t FTDI::epInterruptInIndex = 3;
22 
- +
24 pAsync(pasync),
25 pUsb(p),
26 bAddress(0),
@@ -129,7 +129,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
38  pUsb->RegisterDeviceClass(this);
39 }
40 
-
41 uint8_t FTDI::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
41 uint8_t FTDI::Init(uint8_t parent, uint8_t port, bool lowspeed) {
42  const uint8_t constBufSize = sizeof (USB_DEVICE_DESCRIPTOR);
43 
44  uint8_t buf[constBufSize];
@@ -144,20 +144,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
53 
54  AddressPool &addrPool = pUsb->GetAddressPool();
55 
-
56  USBTRACE("FTDI Init\r\n");
+
56  USBTRACE("FTDI Init\r\n");
57 
58  if (bAddress)
- +
60 
61  // Get pointer to pseudo device with address 0 assigned
62  p = addrPool.GetUsbDevicePtr(0);
63 
64  if (!p)
- +
66 
67  if (!p->epinfo) {
-
68  USBTRACE("epinfo\r\n");
- +
68  USBTRACE("epinfo\r\n");
+
70  }
71 
72  // Save old pointer to EP_RECORD of address 0
@@ -169,7 +169,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
78  p->lowspeed = lowspeed;
79 
80  // Get device descriptor
-
81  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf);
+
81  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf);
82 
83  // Restore p->epinfo
84  p->epinfo = oldep_ptr;
@@ -178,7 +178,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
87  goto FailGetDevDescr;
88 
89  if (((USB_DEVICE_DESCRIPTOR*)buf)->idVendor != FTDI_VID || ((USB_DEVICE_DESCRIPTOR*)buf)->idProduct != FTDI_PID)
- +
91 
92  // Save type of FTDI chip
93  wFTDIType = ((USB_DEVICE_DESCRIPTOR*)buf)->bcdDevice;
@@ -187,7 +187,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
96  bAddress = addrPool.AllocAddress(parent, false, port);
97 
98  if (!bAddress)
- +
100 
101  // Extract Max Packet Size from the device descriptor
102  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0;
@@ -199,18 +199,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
108  p->lowspeed = false;
109  addrPool.FreeAddress(bAddress);
110  bAddress = 0;
-
111  USBTRACE2("setAddr:", rcode);
+
111  USBTRACE2("setAddr:", rcode);
112  return rcode;
113  }
114 
-
115  USBTRACE2("Addr:", bAddress);
+
115  USBTRACE2("Addr:", bAddress);
116 
117  p->lowspeed = false;
118 
119  p = addrPool.GetUsbDevicePtr(bAddress);
120 
121  if (!p)
- +
123 
124  p->lowspeed = lowspeed;
125 
@@ -222,7 +222,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
131  if (rcode)
132  goto FailSetDevTblEntry;
133 
-
134  USBTRACE2("NC:", num_of_conf);
+
134  USBTRACE2("NC:", num_of_conf);
135 
136  for (uint8_t i = 0; i < num_of_conf; i++) {
@@ -243,14 +243,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
152  } // for
153 
154  if (bNumEP < 2)
- +
156 
-
157  USBTRACE2("NumEP:", bNumEP);
+
157  USBTRACE2("NumEP:", bNumEP);
158 
159  // Assign epInfo to epinfo pointer
160  rcode = pUsb->setEpInfoEntry(bAddress, bNumEP, epInfo);
161 
-
162  USBTRACE2("Conf:", bConfNum);
+
162  USBTRACE2("Conf:", bConfNum);
163 
164  // Set Configuration Value
165  rcode = pUsb->setConf(bAddress, 0, bConfNum);
@@ -263,7 +263,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
172  if (rcode)
173  goto FailOnInit;
174 
-
175  USBTRACE("FTDI configured\r\n");
+
175  USBTRACE("FTDI configured\r\n");
176 
177  bPollEnable = true;
178  return 0;
@@ -294,7 +294,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
203 
204 FailOnInit:
205 #ifdef DEBUG_USB_HOST
-
206  USBTRACE("OnInit:");
+
206  USBTRACE("OnInit:");
207 #endif
208 
209 Fail:
@@ -305,7 +305,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
214  return rcode;
215 }
216 
-
217 void FTDI::EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *pep) {
+
217 void FTDI::EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *pep) {
218  ErrorMessage<uint8_t > (PSTR("Conf.Val"), conf);
219  ErrorMessage<uint8_t > (PSTR("Iface Num"), iface);
220  ErrorMessage<uint8_t > (PSTR("Alt.Set"), alt);
@@ -332,7 +332,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
241  PrintEndpointDescriptor(pep);
242 }
243 
-
244 uint8_t FTDI::Release() {
+
244 uint8_t FTDI::Release() {
245  pUsb->GetAddressPool().FreeAddress(bAddress);
246 
247  bAddress = 0;
@@ -342,7 +342,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
251  return 0;
252 }
253 
-
254 uint8_t FTDI::Poll() {
+
254 uint8_t FTDI::Poll() {
255  uint8_t rcode = 0;
256 
257  //if (!bPollEnable)
@@ -357,7 +357,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
266  return rcode;
267 }
268 
-
269 uint8_t FTDI::SetBaudRate(uint32_t baud) {
+
269 uint8_t FTDI::SetBaudRate(uint32_t baud) {
270  uint16_t baud_value, baud_index = 0;
271  uint32_t divisor3;
272 
@@ -389,53 +389,123 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
298  else // 1.0
299  if (baud_value == 0x4001) baud_value = 1; // 1.5
300  }
-
301  USBTRACE2("baud_value:", baud_value);
-
302  USBTRACE2("baud_index:", baud_index);
+
301  USBTRACE2("baud_value:", baud_value);
+
302  USBTRACE2("baud_index:", baud_index);
303  return pUsb->ctrlReq(bAddress, 0, bmREQ_FTDI_OUT, FTDI_SIO_SET_BAUD_RATE, baud_value & 0xff, baud_value >> 8, baud_index, 0, 0, NULL, NULL);
304 }
305 
-
306 uint8_t FTDI::SetModemControl(uint16_t signal) {
+
306 uint8_t FTDI::SetModemControl(uint16_t signal) {
307  return pUsb->ctrlReq(bAddress, 0, bmREQ_FTDI_OUT, FTDI_SIO_MODEM_CTRL, signal & 0xff, signal >> 8, 0, 0, 0, NULL, NULL);
308 }
309 
-
310 uint8_t FTDI::SetFlowControl(uint8_t protocol, uint8_t xon, uint8_t xoff) {
+
310 uint8_t FTDI::SetFlowControl(uint8_t protocol, uint8_t xon, uint8_t xoff) {
311  return pUsb->ctrlReq(bAddress, 0, bmREQ_FTDI_OUT, FTDI_SIO_SET_FLOW_CTRL, xon, xoff, protocol << 8, 0, 0, NULL, NULL);
312 }
313 
-
314 uint8_t FTDI::SetData(uint16_t databm) {
+
314 uint8_t FTDI::SetData(uint16_t databm) {
315  return pUsb->ctrlReq(bAddress, 0, bmREQ_FTDI_OUT, FTDI_SIO_SET_DATA, databm & 0xff, databm >> 8, 0, 0, 0, NULL, NULL);
316 }
317 
-
318 uint8_t FTDI::RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr) {
+
318 uint8_t FTDI::RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr) {
319  return pUsb->inTransfer(bAddress, epInfo[epDataInIndex].epAddr, bytes_rcvd, dataptr);
320 }
321 
-
322 uint8_t FTDI::SndData(uint16_t nbytes, uint8_t *dataptr) {
+
322 uint8_t FTDI::SndData(uint16_t nbytes, uint8_t *dataptr) {
323  return pUsb->outTransfer(bAddress, epInfo[epDataOutIndex].epAddr, nbytes, dataptr);
324 }
325 
326 void FTDI::PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR* ep_ptr) {
327  Notify(PSTR("Endpoint descriptor:"), 0x80);
328  Notify(PSTR("\r\nLength:\t\t"), 0x80);
-
329  D_PrintHex<uint8_t > (ep_ptr->bLength, 0x80);
+
329  PrintHex<uint8_t > (ep_ptr->bLength, 0x80);
330  Notify(PSTR("\r\nType:\t\t"), 0x80);
-
331  D_PrintHex<uint8_t > (ep_ptr->bDescriptorType, 0x80);
+
331  PrintHex<uint8_t > (ep_ptr->bDescriptorType, 0x80);
332  Notify(PSTR("\r\nAddress:\t"), 0x80);
-
333  D_PrintHex<uint8_t > (ep_ptr->bEndpointAddress, 0x80);
+
333  PrintHex<uint8_t > (ep_ptr->bEndpointAddress, 0x80);
334  Notify(PSTR("\r\nAttributes:\t"), 0x80);
-
335  D_PrintHex<uint8_t > (ep_ptr->bmAttributes, 0x80);
+
335  PrintHex<uint8_t > (ep_ptr->bmAttributes, 0x80);
336  Notify(PSTR("\r\nMaxPktSize:\t"), 0x80);
-
337  D_PrintHex<uint16_t > (ep_ptr->wMaxPacketSize, 0x80);
+
337  PrintHex<uint16_t > (ep_ptr->wMaxPacketSize, 0x80);
338  Notify(PSTR("\r\nPoll Intrv:\t"), 0x80);
-
339  D_PrintHex<uint8_t > (ep_ptr->bInterval, 0x80);
+
339  PrintHex<uint8_t > (ep_ptr->bInterval, 0x80);
340  Notify(PSTR("\r\n"), 0x80);
341 }
+
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
Definition: Usb.cpp:761
+ +
#define bmREQ_FTDI_OUT
Definition: cdcftdi.h:22
+
EpInfo * epinfo
Definition: address.h:76
+
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: cdcftdi.cpp:217
+
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+
uint8_t SetBaudRate(uint32_t baud)
Definition: cdcftdi.cpp:269
+
uint8_t bmNakPower
Definition: address.h:42
+
#define FT232AM
Definition: cdcftdi.h:31
+ +
uint8_t SetModemControl(uint16_t control)
Definition: cdcftdi.cpp:306
+ +
#define FTDI_SIO_SET_BAUD_RATE
Definition: cdcftdi.h:40
+ + + +
FTDI(USB *pusb, FTDIAsyncOper *pasync)
Definition: cdcftdi.cpp:23
+ +
#define NotifyFail(...)
Definition: message.h:55
+
#define FTDI_SIO_SET_DATA
Definition: cdcftdi.h:41
+
uint8_t SetFlowControl(uint8_t protocol, uint8_t xon=0x11, uint8_t xoff=0x13)
Definition: cdcftdi.cpp:310
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+ +
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
uint8_t RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr)
Definition: cdcftdi.cpp:318
+
virtual void FreeAddress(uint8_t addr)=0
+
uint8_t epAttribs
Definition: address.h:37
+
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)
Definition: Usb.cpp:126
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
#define Notify(...)
Definition: message.h:44
+ + +
#define USBTRACE2(s, r)
Definition: macros.h:61
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
#define NotifyFailGetConfDescr(...)
Definition: message.h:52
+
uint8_t epAddr
Definition: address.h:33
+
#define USB_NAK_MAX_POWER
Definition: address.h:27
+
virtual uint8_t Poll()
Definition: cdcftdi.cpp:254
+
Definition: address.h:32
+
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
Definition: Usb.cpp:290
+
uint16_t wMaxPacketSize
Definition: usb_ch9.h:146
+
#define FTDI_PID
Definition: cdcftdi.h:29
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: cdcftdi.cpp:41
+
#define FTDI_SIO_SET_FLOW_CTRL
Definition: cdcftdi.h:39
+
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
uint8_t bEndpointAddress
Definition: usb_ch9.h:144
+
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr)
Definition: cdcftdi.cpp:322
+ +
virtual uint8_t OnInit(FTDI *pftdi)=0
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+
#define FTDI_VID
Definition: cdcftdi.h:28
+
uint8_t inTransfer(uint8_t addr, uint8_t ep, uint16_t *nbytesptr, uint8_t *data)
Definition: Usb.cpp:206
+
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
virtual uint8_t Release()
Definition: cdcftdi.cpp:244
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
#define FTDI_SIO_MODEM_CTRL
Definition: cdcftdi.h:38
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
Definition: UsbCore.h:152
+
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
Definition: UsbCore.h:172
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
uint8_t SetData(uint16_t databm)
Definition: cdcftdi.cpp:314
+
#define FTDI_MAX_ENDPOINTS
Definition: cdcftdi.h:87
+
#define USBTRACE(s)
Definition: macros.h:60
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+ diff --git a/cdcftdi_8h.html b/cdcftdi_8h.html index e2406f92..6cb3b53d 100644 --- a/cdcftdi_8h.html +++ b/cdcftdi_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcftdi.h File Reference @@ -31,7 +31,7 @@ - + @@ -92,31 +92,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
cdcftdi.h File Reference
-
#include <inttypes.h>
-#include <avr/pgmspace.h>
-#include "avrpins.h"
-#include "max3421e.h"
-#include "usbhost.h"
-#include "usb_ch9.h"
-#include "Usb.h"
-#include "Arduino.h"
-#include "printhex.h"
-#include "hexdump.h"
-#include "message.h"
-#include "confdescparser.h"
+
#include "Usb.h"
Include dependency graph for cdcftdi.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -228,7 +217,7 @@ Macros
-

Definition at line 40 of file cdcftdi.h.

+

Definition at line 22 of file cdcftdi.h.

@@ -242,7 +231,7 @@ Macros
-

Definition at line 41 of file cdcftdi.h.

+

Definition at line 23 of file cdcftdi.h.

@@ -256,7 +245,7 @@ Macros
-

Definition at line 46 of file cdcftdi.h.

+

Definition at line 28 of file cdcftdi.h.

@@ -270,7 +259,7 @@ Macros
-

Definition at line 47 of file cdcftdi.h.

+

Definition at line 29 of file cdcftdi.h.

@@ -284,7 +273,7 @@ Macros
-

Definition at line 49 of file cdcftdi.h.

+

Definition at line 31 of file cdcftdi.h.

@@ -298,7 +287,7 @@ Macros
-

Definition at line 50 of file cdcftdi.h.

+

Definition at line 32 of file cdcftdi.h.

@@ -312,7 +301,7 @@ Macros
-

Definition at line 51 of file cdcftdi.h.

+

Definition at line 33 of file cdcftdi.h.

@@ -326,7 +315,7 @@ Macros
-

Definition at line 52 of file cdcftdi.h.

+

Definition at line 34 of file cdcftdi.h.

@@ -340,7 +329,7 @@ Macros
-

Definition at line 55 of file cdcftdi.h.

+

Definition at line 37 of file cdcftdi.h.

@@ -354,7 +343,7 @@ Macros
-

Definition at line 56 of file cdcftdi.h.

+

Definition at line 38 of file cdcftdi.h.

@@ -368,7 +357,7 @@ Macros
-

Definition at line 57 of file cdcftdi.h.

+

Definition at line 39 of file cdcftdi.h.

@@ -382,7 +371,7 @@ Macros
-

Definition at line 58 of file cdcftdi.h.

+

Definition at line 40 of file cdcftdi.h.

@@ -396,7 +385,7 @@ Macros
-

Definition at line 59 of file cdcftdi.h.

+

Definition at line 41 of file cdcftdi.h.

@@ -410,7 +399,7 @@ Macros
-

Definition at line 60 of file cdcftdi.h.

+

Definition at line 42 of file cdcftdi.h.

@@ -424,7 +413,7 @@ Macros
-

Definition at line 61 of file cdcftdi.h.

+

Definition at line 43 of file cdcftdi.h.

@@ -438,7 +427,7 @@ Macros
-

Definition at line 62 of file cdcftdi.h.

+

Definition at line 44 of file cdcftdi.h.

@@ -452,7 +441,7 @@ Macros
-

Definition at line 64 of file cdcftdi.h.

+

Definition at line 46 of file cdcftdi.h.

@@ -466,7 +455,7 @@ Macros
-

Definition at line 65 of file cdcftdi.h.

+

Definition at line 47 of file cdcftdi.h.

@@ -480,7 +469,7 @@ Macros
-

Definition at line 66 of file cdcftdi.h.

+

Definition at line 48 of file cdcftdi.h.

@@ -494,7 +483,7 @@ Macros
-

Definition at line 68 of file cdcftdi.h.

+

Definition at line 50 of file cdcftdi.h.

@@ -508,7 +497,7 @@ Macros
-

Definition at line 69 of file cdcftdi.h.

+

Definition at line 51 of file cdcftdi.h.

@@ -522,7 +511,7 @@ Macros
-

Definition at line 70 of file cdcftdi.h.

+

Definition at line 52 of file cdcftdi.h.

@@ -536,7 +525,7 @@ Macros
-

Definition at line 71 of file cdcftdi.h.

+

Definition at line 53 of file cdcftdi.h.

@@ -550,7 +539,7 @@ Macros
-

Definition at line 72 of file cdcftdi.h.

+

Definition at line 54 of file cdcftdi.h.

@@ -564,7 +553,7 @@ Macros
-

Definition at line 73 of file cdcftdi.h.

+

Definition at line 55 of file cdcftdi.h.

@@ -578,7 +567,7 @@ Macros
-

Definition at line 74 of file cdcftdi.h.

+

Definition at line 56 of file cdcftdi.h.

@@ -592,7 +581,7 @@ Macros
-

Definition at line 75 of file cdcftdi.h.

+

Definition at line 57 of file cdcftdi.h.

@@ -606,7 +595,7 @@ Macros
-

Definition at line 76 of file cdcftdi.h.

+

Definition at line 58 of file cdcftdi.h.

@@ -620,7 +609,7 @@ Macros
-

Definition at line 78 of file cdcftdi.h.

+

Definition at line 60 of file cdcftdi.h.

@@ -634,7 +623,7 @@ Macros
-

Definition at line 79 of file cdcftdi.h.

+

Definition at line 61 of file cdcftdi.h.

@@ -648,7 +637,7 @@ Macros
-

Definition at line 80 of file cdcftdi.h.

+

Definition at line 62 of file cdcftdi.h.

@@ -662,7 +651,7 @@ Macros
-

Definition at line 81 of file cdcftdi.h.

+

Definition at line 63 of file cdcftdi.h.

@@ -676,7 +665,7 @@ Macros
-

Definition at line 82 of file cdcftdi.h.

+

Definition at line 64 of file cdcftdi.h.

@@ -690,7 +679,7 @@ Macros
-

Definition at line 83 of file cdcftdi.h.

+

Definition at line 65 of file cdcftdi.h.

@@ -704,7 +693,7 @@ Macros
-

Definition at line 85 of file cdcftdi.h.

+

Definition at line 67 of file cdcftdi.h.

@@ -718,7 +707,7 @@ Macros
-

Definition at line 86 of file cdcftdi.h.

+

Definition at line 68 of file cdcftdi.h.

@@ -732,7 +721,7 @@ Macros
-

Definition at line 87 of file cdcftdi.h.

+

Definition at line 69 of file cdcftdi.h.

@@ -746,7 +735,7 @@ Macros
-

Definition at line 88 of file cdcftdi.h.

+

Definition at line 70 of file cdcftdi.h.

@@ -760,7 +749,7 @@ Macros
-

Definition at line 90 of file cdcftdi.h.

+

Definition at line 72 of file cdcftdi.h.

@@ -774,7 +763,7 @@ Macros
-

Definition at line 91 of file cdcftdi.h.

+

Definition at line 73 of file cdcftdi.h.

@@ -788,7 +777,7 @@ Macros
-

Definition at line 92 of file cdcftdi.h.

+

Definition at line 74 of file cdcftdi.h.

@@ -802,7 +791,7 @@ Macros
-

Definition at line 93 of file cdcftdi.h.

+

Definition at line 75 of file cdcftdi.h.

@@ -816,7 +805,7 @@ Macros
-

Definition at line 105 of file cdcftdi.h.

+

Definition at line 87 of file cdcftdi.h.

@@ -825,7 +814,7 @@ Macros diff --git a/cdcftdi_8h__dep__incl.map b/cdcftdi_8h__dep__incl.map index c14de0c6..24527680 100644 --- a/cdcftdi_8h__dep__incl.map +++ b/cdcftdi_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/cdcftdi_8h__dep__incl.md5 b/cdcftdi_8h__dep__incl.md5 index 051399d5..400265fa 100644 --- a/cdcftdi_8h__dep__incl.md5 +++ b/cdcftdi_8h__dep__incl.md5 @@ -1 +1 @@ -8caa95f05ded51a4a822e8e6a67432dd \ No newline at end of file +6df33ccb134496caa17a0ccfb805cc20 \ No newline at end of file diff --git a/cdcftdi_8h__dep__incl.png b/cdcftdi_8h__dep__incl.png index a248f7ff69017070a886b4c6fe17aa3189e422b5..1a152fca5d0a65c2e7593df4b8e6ac68ccd5aa34 100644 GIT binary patch literal 3242 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 S(rEVp0000 - - - - - - - - - - - + diff --git a/cdcftdi_8h__incl.md5 b/cdcftdi_8h__incl.md5 index 9e2029b9..a83f7eac 100644 --- a/cdcftdi_8h__incl.md5 +++ b/cdcftdi_8h__incl.md5 @@ -1 +1 @@ -3e0f595f487813169afdca6824b37a21 \ No newline at end of file +7d34e76d8855698f6d76eca966d6ea18 \ No newline at end of file diff --git a/cdcftdi_8h__incl.png b/cdcftdi_8h__incl.png index c5eececdcc7e0c18c7d5e05889b464ad6ef9a351..aabce32f3d505960ea4a72996968755368c5edd6 100644 GIT binary patch literal 2515 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�zf{ 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 G!T$#u;9Fq; diff --git a/cdcftdi_8h_source.html b/cdcftdi_8h_source.html index 1b8bf266..dcf8e79d 100644 --- a/cdcftdi_8h_source.html +++ b/cdcftdi_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcftdi.h Source File @@ -31,7 +31,7 @@ - + @@ -108,144 +108,148 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

17 #if !defined(__CDCFTDI_H__)
18 #define __CDCFTDI_H__
19 
-
20 #include <inttypes.h>
-
21 #include <avr/pgmspace.h>
-
22 #include "avrpins.h"
-
23 #include "max3421e.h"
-
24 #include "usbhost.h"
-
25 #include "usb_ch9.h"
-
26 #include "Usb.h"
+
20 #include "Usb.h"
+
21 
+
22 #define bmREQ_FTDI_OUT 0x40
+
23 #define bmREQ_FTDI_IN 0xc0
+
24 
+
25 //#define bmREQ_FTDI_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
+
26 //#define bmREQ_FTDI_IN USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
27 
-
28 #if defined(ARDUINO) && ARDUINO >=100
-
29 #include "Arduino.h"
-
30 #else
-
31 #include <WProgram.h>
-
32 #endif
-
33 
-
34 #include "printhex.h"
-
35 #include "hexdump.h"
-
36 #include "message.h"
-
37 
-
38 #include "confdescparser.h"
-
39 
-
40 #define bmREQ_FTDI_OUT 0x40
-
41 #define bmREQ_FTDI_IN 0xc0
-
42 
-
43 //#define bmREQ_FTDI_OUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
-
44 //#define bmREQ_FTDI_IN USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
-
45 
-
46 #define FTDI_VID 0x0403 // FTDI VID
-
47 #define FTDI_PID 0x6001 // FTDI PID
-
48 
-
49 #define FT232AM 0x0200
-
50 #define FT232BM 0x0400
-
51 #define FT2232 0x0500
-
52 #define FT232R 0x0600
-
53 
-
54 // Commands
-
55 #define FTDI_SIO_RESET 0 /* Reset the port */
-
56 #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */
-
57 #define FTDI_SIO_SET_FLOW_CTRL 2 /* Set flow control register */
-
58 #define FTDI_SIO_SET_BAUD_RATE 3 /* Set baud rate */
-
59 #define FTDI_SIO_SET_DATA 4 /* Set the data characteristics of the port */
-
60 #define FTDI_SIO_GET_MODEM_STATUS 5 /* Retrieve current value of modem status register */
-
61 #define FTDI_SIO_SET_EVENT_CHAR 6 /* Set the event character */
-
62 #define FTDI_SIO_SET_ERROR_CHAR 7 /* Set the error character */
-
63 
-
64 #define FTDI_SIO_RESET_SIO 0
-
65 #define FTDI_SIO_RESET_PURGE_RX 1
-
66 #define FTDI_SIO_RESET_PURGE_TX 2
-
67 
-
68 #define FTDI_SIO_SET_DATA_PARITY_NONE (0x0 << 8 )
-
69 #define FTDI_SIO_SET_DATA_PARITY_ODD (0x1 << 8 )
-
70 #define FTDI_SIO_SET_DATA_PARITY_EVEN (0x2 << 8 )
-
71 #define FTDI_SIO_SET_DATA_PARITY_MARK (0x3 << 8 )
-
72 #define FTDI_SIO_SET_DATA_PARITY_SPACE (0x4 << 8 )
-
73 #define FTDI_SIO_SET_DATA_STOP_BITS_1 (0x0 << 11)
-
74 #define FTDI_SIO_SET_DATA_STOP_BITS_15 (0x1 << 11)
-
75 #define FTDI_SIO_SET_DATA_STOP_BITS_2 (0x2 << 11)
-
76 #define FTDI_SIO_SET_BREAK (0x1 << 14)
-
77 
-
78 #define FTDI_SIO_SET_DTR_MASK 0x1
-
79 #define FTDI_SIO_SET_DTR_HIGH ( 1 | ( FTDI_SIO_SET_DTR_MASK << 8))
-
80 #define FTDI_SIO_SET_DTR_LOW ( 0 | ( FTDI_SIO_SET_DTR_MASK << 8))
-
81 #define FTDI_SIO_SET_RTS_MASK 0x2
-
82 #define FTDI_SIO_SET_RTS_HIGH ( 2 | ( FTDI_SIO_SET_RTS_MASK << 8 ))
-
83 #define FTDI_SIO_SET_RTS_LOW ( 0 | ( FTDI_SIO_SET_RTS_MASK << 8 ))
-
84 
-
85 #define FTDI_SIO_DISABLE_FLOW_CTRL 0x0
-
86 #define FTDI_SIO_RTS_CTS_HS (0x1 << 8)
-
87 #define FTDI_SIO_DTR_DSR_HS (0x2 << 8)
-
88 #define FTDI_SIO_XON_XOFF_HS (0x4 << 8)
-
89 
-
90 #define FTDI_SIO_CTS_MASK 0x10
-
91 #define FTDI_SIO_DSR_MASK 0x20
-
92 #define FTDI_SIO_RI_MASK 0x40
-
93 #define FTDI_SIO_RLSD_MASK 0x80
-
94 
-
95 class FTDI;
-
96 
- -
98 public:
-
99  virtual uint8_t OnInit(FTDI *pftdi) = 0;
-
100 };
-
101 
-
102 
-
103 // Only single port chips are currently supported by the library,
-
104 // so only three endpoints are allocated.
-
105 #define FTDI_MAX_ENDPOINTS 3
-
106 
-
107 class FTDI : public USBDeviceConfig, public UsbConfigXtracter {
-
108  static const uint8_t epDataInIndex; // DataIn endpoint index
-
109  static const uint8_t epDataOutIndex; // DataOUT endpoint index
-
110  static const uint8_t epInterruptInIndex; // InterruptIN endpoint index
-
111 
-
112  FTDIAsyncOper *pAsync;
-
113  USB *pUsb;
-
114  uint8_t bAddress;
-
115  uint8_t bConfNum; // configuration number
-
116  uint8_t bNumIface; // number of interfaces in the configuration
-
117  uint8_t bNumEP; // total number of EP in the configuration
-
118  uint32_t qNextPollTime; // next poll time
-
119  bool bPollEnable; // poll enable flag
-
120  uint16_t wFTDIType; // Type of FTDI chip
-
121 
-
122  EpInfo epInfo[FTDI_MAX_ENDPOINTS];
-
123 
-
124  void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR* ep_ptr);
-
125 
-
126 public:
-
127  FTDI(USB *pusb, FTDIAsyncOper *pasync);
+
28 #define FTDI_VID 0x0403 // FTDI VID
+
29 #define FTDI_PID 0x6001 // FTDI PID
+
30 
+
31 #define FT232AM 0x0200
+
32 #define FT232BM 0x0400
+
33 #define FT2232 0x0500
+
34 #define FT232R 0x0600
+
35 
+
36 // Commands
+
37 #define FTDI_SIO_RESET 0 /* Reset the port */
+
38 #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */
+
39 #define FTDI_SIO_SET_FLOW_CTRL 2 /* Set flow control register */
+
40 #define FTDI_SIO_SET_BAUD_RATE 3 /* Set baud rate */
+
41 #define FTDI_SIO_SET_DATA 4 /* Set the data characteristics of the port */
+
42 #define FTDI_SIO_GET_MODEM_STATUS 5 /* Retrieve current value of modem status register */
+
43 #define FTDI_SIO_SET_EVENT_CHAR 6 /* Set the event character */
+
44 #define FTDI_SIO_SET_ERROR_CHAR 7 /* Set the error character */
+
45 
+
46 #define FTDI_SIO_RESET_SIO 0
+
47 #define FTDI_SIO_RESET_PURGE_RX 1
+
48 #define FTDI_SIO_RESET_PURGE_TX 2
+
49 
+
50 #define FTDI_SIO_SET_DATA_PARITY_NONE (0x0 << 8 )
+
51 #define FTDI_SIO_SET_DATA_PARITY_ODD (0x1 << 8 )
+
52 #define FTDI_SIO_SET_DATA_PARITY_EVEN (0x2 << 8 )
+
53 #define FTDI_SIO_SET_DATA_PARITY_MARK (0x3 << 8 )
+
54 #define FTDI_SIO_SET_DATA_PARITY_SPACE (0x4 << 8 )
+
55 #define FTDI_SIO_SET_DATA_STOP_BITS_1 (0x0 << 11)
+
56 #define FTDI_SIO_SET_DATA_STOP_BITS_15 (0x1 << 11)
+
57 #define FTDI_SIO_SET_DATA_STOP_BITS_2 (0x2 << 11)
+
58 #define FTDI_SIO_SET_BREAK (0x1 << 14)
+
59 
+
60 #define FTDI_SIO_SET_DTR_MASK 0x1
+
61 #define FTDI_SIO_SET_DTR_HIGH ( 1 | ( FTDI_SIO_SET_DTR_MASK << 8))
+
62 #define FTDI_SIO_SET_DTR_LOW ( 0 | ( FTDI_SIO_SET_DTR_MASK << 8))
+
63 #define FTDI_SIO_SET_RTS_MASK 0x2
+
64 #define FTDI_SIO_SET_RTS_HIGH ( 2 | ( FTDI_SIO_SET_RTS_MASK << 8 ))
+
65 #define FTDI_SIO_SET_RTS_LOW ( 0 | ( FTDI_SIO_SET_RTS_MASK << 8 ))
+
66 
+
67 #define FTDI_SIO_DISABLE_FLOW_CTRL 0x0
+
68 #define FTDI_SIO_RTS_CTS_HS (0x1 << 8)
+
69 #define FTDI_SIO_DTR_DSR_HS (0x2 << 8)
+
70 #define FTDI_SIO_XON_XOFF_HS (0x4 << 8)
+
71 
+
72 #define FTDI_SIO_CTS_MASK 0x10
+
73 #define FTDI_SIO_DSR_MASK 0x20
+
74 #define FTDI_SIO_RI_MASK 0x40
+
75 #define FTDI_SIO_RLSD_MASK 0x80
+
76 
+
77 class FTDI;
+
78 
+ +
80 public:
+
81  virtual uint8_t OnInit(FTDI *pftdi) = 0;
+
82 };
+
83 
+
84 
+
85 // Only single port chips are currently supported by the library,
+
86 // so only three endpoints are allocated.
+
87 #define FTDI_MAX_ENDPOINTS 3
+
88 
+
89 class FTDI : public USBDeviceConfig, public UsbConfigXtracter {
+
90  static const uint8_t epDataInIndex; // DataIn endpoint index
+
91  static const uint8_t epDataOutIndex; // DataOUT endpoint index
+
92  static const uint8_t epInterruptInIndex; // InterruptIN endpoint index
+
93 
+
94  FTDIAsyncOper *pAsync;
+
95  USB *pUsb;
+
96  uint8_t bAddress;
+
97  uint8_t bConfNum; // configuration number
+
98  uint8_t bNumIface; // number of interfaces in the configuration
+
99  uint8_t bNumEP; // total number of EP in the configuration
+
100  uint32_t qNextPollTime; // next poll time
+
101  bool bPollEnable; // poll enable flag
+
102  uint16_t wFTDIType; // Type of FTDI chip
+
103 
+
104  EpInfo epInfo[FTDI_MAX_ENDPOINTS];
+
105 
+
106  void PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR* ep_ptr);
+
107 
+
108 public:
+
109  FTDI(USB *pusb, FTDIAsyncOper *pasync);
+
110 
+
111  uint8_t SetBaudRate(uint32_t baud);
+
112  uint8_t SetModemControl(uint16_t control);
+
113  uint8_t SetFlowControl(uint8_t protocol, uint8_t xon = 0x11, uint8_t xoff = 0x13);
+
114  uint8_t SetData(uint16_t databm);
+
115 
+
116  // Methods for recieving and sending data
+
117  uint8_t RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr);
+
118  uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
+
119 
+
120  // USBDeviceConfig implementation
+
121  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
122  virtual uint8_t Release();
+
123  virtual uint8_t Poll();
+
124 
+
125  virtual uint8_t GetAddress() {
+
126  return bAddress;
+
127  };
128 
-
129  uint8_t SetBaudRate(uint32_t baud);
-
130  uint8_t SetModemControl(uint16_t control);
-
131  uint8_t SetFlowControl(uint8_t protocol, uint8_t xon = 0x11, uint8_t xoff = 0x13);
-
132  uint8_t SetData(uint16_t databm);
-
133 
-
134  // Methods for recieving and sending data
-
135  uint8_t RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr);
-
136  uint8_t SndData(uint16_t nbytes, uint8_t *dataptr);
-
137 
-
138  // USBDeviceConfig implementation
-
139  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
140  virtual uint8_t Release();
-
141  virtual uint8_t Poll();
-
142 
-
143  virtual uint8_t GetAddress() {
-
144  return bAddress;
-
145  };
-
146 
-
147  // UsbConfigXtracter implementation
-
148  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
-
149 };
-
150 
-
151 #endif // __CDCFTDI_H__
+
129  // UsbConfigXtracter implementation
+
130  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
+
131 };
+
132 
+
133 #endif // __CDCFTDI_H__
+
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
Definition: cdcftdi.cpp:217
+
uint8_t SetBaudRate(uint32_t baud)
Definition: cdcftdi.cpp:269
+
uint8_t SetModemControl(uint16_t control)
Definition: cdcftdi.cpp:306
+ +
FTDI(USB *pusb, FTDIAsyncOper *pasync)
Definition: cdcftdi.cpp:23
+
uint8_t SetFlowControl(uint8_t protocol, uint8_t xon=0x11, uint8_t xoff=0x13)
Definition: cdcftdi.cpp:310
+ + + +
uint8_t RcvData(uint16_t *bytes_rcvd, uint8_t *dataptr)
Definition: cdcftdi.cpp:318
+
virtual uint8_t Poll()
Definition: cdcftdi.cpp:254
+
Definition: address.h:32
+
Definition: cdcftdi.h:89
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: cdcftdi.cpp:41
+
uint8_t SndData(uint16_t nbytes, uint8_t *dataptr)
Definition: cdcftdi.cpp:322
+
virtual uint8_t GetAddress()
Definition: cdcftdi.h:125
+ +
virtual uint8_t OnInit(FTDI *pftdi)=0
+
virtual uint8_t Release()
Definition: cdcftdi.cpp:244
+
Definition: UsbCore.h:152
+
uint8_t SetData(uint16_t databm)
Definition: cdcftdi.cpp:314
+
#define FTDI_MAX_ENDPOINTS
Definition: cdcftdi.h:87
diff --git a/cdcprolific_8cpp.html b/cdcprolific_8cpp.html index 283a98ca..8afe9dc5 100644 --- a/cdcprolific_8cpp.html +++ b/cdcprolific_8cpp.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcprolific.cpp File Reference @@ -31,7 +31,7 @@ - + @@ -95,7 +95,7 @@ Include dependency graph for cdcprolific.cpp:
- +

Go to the source code of this file.

@@ -104,7 +104,7 @@ Include dependency graph for cdcprolific.cpp: diff --git a/cdcprolific_8cpp__incl.map b/cdcprolific_8cpp__incl.map index a66d120a..b047f776 100644 --- a/cdcprolific_8cpp__incl.map +++ b/cdcprolific_8cpp__incl.map @@ -1,15 +1,5 @@ - - - - - - - - - - - - - + + + diff --git a/cdcprolific_8cpp__incl.md5 b/cdcprolific_8cpp__incl.md5 index 83b70d33..44ce861d 100644 --- a/cdcprolific_8cpp__incl.md5 +++ b/cdcprolific_8cpp__incl.md5 @@ -1 +1 @@ -024796eb8be7efe19f54e55f83f089b1 \ No newline at end of file +1b82f3fbedb914a6f7a2686151967527 \ No newline at end of file diff --git a/cdcprolific_8cpp__incl.png b/cdcprolific_8cpp__incl.png index 5f6aba2584d44911d80a320d467e94fbebb2ed5d..67103ea15eea05792fc91dad0ae99a3165d71f1f 100644 GIT binary patch literal 7014 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 H1P%H>GJe2o literal 211774 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 - + USB Host Shield 2.0: cdcprolific.cpp Source File @@ -31,7 +31,7 @@ - + @@ -107,12 +107,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
17 #include "cdcprolific.h"
18 
- +
20 ACM(p, pasync),
21 wPLType(0) {
22 }
23 
-
24 uint8_t PL2303::Init(uint8_t parent, uint8_t port, bool lowspeed) {
+
24 uint8_t PL2303::Init(uint8_t parent, uint8_t port, bool lowspeed) {
25  const uint8_t constBufSize = sizeof (USB_DEVICE_DESCRIPTOR);
26 
27  uint8_t buf[constBufSize];
@@ -123,20 +123,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
32 
33  AddressPool &addrPool = pUsb->GetAddressPool();
34 
-
35  USBTRACE("PL Init\r\n");
+
35  USBTRACE("PL Init\r\n");
36 
37  if (bAddress)
- +
39 
40  // Get pointer to pseudo device with address 0 assigned
41  p = addrPool.GetUsbDevicePtr(0);
42 
43  if (!p)
- +
45 
46  if (!p->epinfo) {
-
47  USBTRACE("epinfo\r\n");
- +
47  USBTRACE("epinfo\r\n");
+
49  }
50 
51  // Save old pointer to EP_RECORD of address 0
@@ -148,7 +148,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
57  p->lowspeed = lowspeed;
58 
59  // Get device descriptor
-
60  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf);
+
60  rcode = pUsb->getDevDescr(0, 0, sizeof (USB_DEVICE_DESCRIPTOR), (uint8_t*)buf);
61 
62  // Restore p->epinfo
63  p->epinfo = oldep_ptr;
@@ -157,7 +157,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
66  goto FailGetDevDescr;
67 
68  if (((USB_DEVICE_DESCRIPTOR*)buf)->idVendor != PL_VID && ((USB_DEVICE_DESCRIPTOR*)buf)->idProduct != PL_PID)
- +
70 
71  // Save type of PL chip
72  wPLType = ((USB_DEVICE_DESCRIPTOR*)buf)->bcdDevice;
@@ -166,7 +166,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
75  bAddress = addrPool.AllocAddress(parent, false, port);
76 
77  if (!bAddress)
- +
79 
80  // Extract Max Packet Size from the device descriptor
81  epInfo[0].maxPktSize = (uint8_t)((USB_DEVICE_DESCRIPTOR*)buf)->bMaxPacketSize0;
@@ -178,18 +178,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
87  p->lowspeed = false;
88  addrPool.FreeAddress(bAddress);
89  bAddress = 0;
-
90  USBTRACE2("setAddr:", rcode);
+
90  USBTRACE2("setAddr:", rcode);
91  return rcode;
92  }
93 
-
94  USBTRACE2("Addr:", bAddress);
+
94  USBTRACE2("Addr:", bAddress);
95 
96  p->lowspeed = false;
97 
98  p = addrPool.GetUsbDevicePtr(bAddress);
99 
100  if (!p)
- +
102 
103  p->lowspeed = lowspeed;
104 
@@ -201,7 +201,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
110  if (rcode)
111  goto FailSetDevTblEntry;
112 
-
113  USBTRACE2("NC:", num_of_conf);
+
113  USBTRACE2("NC:", num_of_conf);
114 
115  for (uint8_t i = 0; i < num_of_conf; i++) {
@@ -222,12 +222,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
131  } // for
132 
133  if (bNumEP < 2)
- +
135 
136  // Assign epInfo to epinfo pointer
138 
-
139  USBTRACE2("Conf:", bConfNum);
+
139  USBTRACE2("Conf:", bConfNum);
140 
141  // Set Configuration Value
142  rcode = pUsb->setConf(bAddress, 0, bConfNum);
@@ -240,7 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
149  if (rcode)
150  goto FailOnInit;
151 
-
152  USBTRACE("PL configured\r\n");
+
152  USBTRACE("PL configured\r\n");
153 
154  //bPollEnable = true;
155  ready = true;
@@ -272,7 +272,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
181 
182 FailOnInit:
183 #ifdef DEBUG_USB_HOST
-
184  USBTRACE("OnInit:");
+
184  USBTRACE("OnInit:");
185 #endif
186 
187 Fail:
@@ -300,12 +300,59 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
209 //}
210 
211 
+
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
Definition: Usb.cpp:761
+ +
EpInfo * epinfo
Definition: address.h:76
+
bool lowspeed
Definition: address.h:79
+
#define USB_ERROR_EPINFO_IS_NULL
Definition: UsbCore.h:67
+ +
#define PL_PID
Definition: cdcprolific.h:23
+
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: cdcprolific.cpp:24
+
PL2303(USB *pusb, CDCAsyncOper *pasync)
Definition: cdcprolific.cpp:19
+ +
bool ready
Definition: cdcacm.h:154
+
#define NotifyFail(...)
Definition: message.h:55
+
USB * pUsb
Definition: cdcacm.h:145
+
uint8_t setConf(uint8_t addr, uint8_t ep, uint8_t conf_value)
Definition: Usb.cpp:795
+
uint8_t bNumEP
Definition: cdcacm.h:151
+
EpInfo epInfo[ACM_MAX_ENDPOINTS]
Definition: cdcacm.h:156
+
#define NotifyFailGetDevDescr(...)
Definition: message.h:50
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
Definition: Usb.cpp:64
+
virtual void FreeAddress(uint8_t addr)=0
+
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
+
CDCAsyncOper * pAsync
Definition: cdcacm.h:146
+ +
#define USBTRACE2(s, r)
Definition: macros.h:61
+
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
Definition: Usb.cpp:790
+
#define NotifyFailGetConfDescr(...)
Definition: message.h:52
+
Definition: address.h:32
+
#define PL_VID
Definition: cdcprolific.h:22
+ +
virtual uint8_t AllocAddress(uint8_t parent, bool is_hub=false, uint8_t port=0)=0
+
uint8_t bAddress
Definition: cdcacm.h:147
+
#define USB_ERROR_CLASS_INSTANCE_ALREADY_IN_USE
Definition: UsbCore.h:69
+
#define USB_ERROR_ADDRESS_NOT_FOUND_IN_POOL
Definition: UsbCore.h:66
+ +
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
Definition: UsbCore.h:61
+
virtual uint8_t Release()
Definition: cdcacm.cpp:249
+
uint8_t bConfNum
Definition: cdcacm.h:148
+
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
Definition: UsbCore.h:64
+
virtual uint8_t OnInit(ACM *pacm)=0
+
uint8_t maxPktSize
Definition: address.h:34
+
AddressPool & GetAddressPool()
Definition: UsbCore.h:168
+
Definition: UsbCore.h:152
+
Definition: cdcacm.h:139
+
#define NotifyFailSetConfDescr(...)
Definition: message.h:53
+
#define USBTRACE(s)
Definition: macros.h:60
+
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
Definition: Usb.cpp:756
+
#define NotifyFailSetDevTblEntry(...)
Definition: message.h:51
+ diff --git a/cdcprolific_8h.html b/cdcprolific_8h.html index e3a2d440..975bccbf 100644 --- a/cdcprolific_8h.html +++ b/cdcprolific_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcprolific.h File Reference @@ -31,7 +31,7 @@ - + @@ -93,32 +93,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
cdcprolific.h File Reference
-
#include <inttypes.h>
-#include <avr/pgmspace.h>
-#include "avrpins.h"
-#include "max3421e.h"
-#include "usbhost.h"
-#include "usb_ch9.h"
-#include "Usb.h"
-#include "Arduino.h"
-#include "printhex.h"
-#include "hexdump.h"
-#include "message.h"
-#include "confdescparser.h"
-#include "cdcacm.h"
+
#include "cdcacm.h"
Include dependency graph for cdcprolific.h:
- +
This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -283,7 +271,7 @@ Enumerations
-

Definition at line 41 of file cdcprolific.h.

+

Definition at line 22 of file cdcprolific.h.

@@ -297,7 +285,7 @@ Enumerations
-

Definition at line 42 of file cdcprolific.h.

+

Definition at line 23 of file cdcprolific.h.

@@ -311,7 +299,7 @@ Enumerations
-

Definition at line 46 of file cdcprolific.h.

+

Definition at line 27 of file cdcprolific.h.

@@ -325,7 +313,7 @@ Enumerations
-

Definition at line 47 of file cdcprolific.h.

+

Definition at line 28 of file cdcprolific.h.

@@ -339,7 +327,7 @@ Enumerations
-

Definition at line 48 of file cdcprolific.h.

+

Definition at line 29 of file cdcprolific.h.

@@ -353,7 +341,7 @@ Enumerations
-

Definition at line 49 of file cdcprolific.h.

+

Definition at line 30 of file cdcprolific.h.

@@ -367,7 +355,7 @@ Enumerations
-

Definition at line 51 of file cdcprolific.h.

+

Definition at line 32 of file cdcprolific.h.

@@ -381,7 +369,7 @@ Enumerations
-

Definition at line 52 of file cdcprolific.h.

+

Definition at line 33 of file cdcprolific.h.

@@ -395,7 +383,7 @@ Enumerations
-

Definition at line 54 of file cdcprolific.h.

+

Definition at line 35 of file cdcprolific.h.

@@ -409,7 +397,7 @@ Enumerations
-

Definition at line 55 of file cdcprolific.h.

+

Definition at line 36 of file cdcprolific.h.

@@ -423,7 +411,7 @@ Enumerations
-

Definition at line 56 of file cdcprolific.h.

+

Definition at line 37 of file cdcprolific.h.

@@ -437,7 +425,7 @@ Enumerations
-

Definition at line 57 of file cdcprolific.h.

+

Definition at line 38 of file cdcprolific.h.

@@ -451,7 +439,7 @@ Enumerations
-

Definition at line 58 of file cdcprolific.h.

+

Definition at line 39 of file cdcprolific.h.

@@ -465,7 +453,7 @@ Enumerations
-

Definition at line 59 of file cdcprolific.h.

+

Definition at line 40 of file cdcprolific.h.

@@ -479,7 +467,7 @@ Enumerations
-

Definition at line 60 of file cdcprolific.h.

+

Definition at line 41 of file cdcprolific.h.

@@ -493,7 +481,7 @@ Enumerations
-

Definition at line 61 of file cdcprolific.h.

+

Definition at line 42 of file cdcprolific.h.

@@ -507,7 +495,7 @@ Enumerations
-

Definition at line 62 of file cdcprolific.h.

+

Definition at line 43 of file cdcprolific.h.

@@ -521,7 +509,7 @@ Enumerations
-

Definition at line 63 of file cdcprolific.h.

+

Definition at line 44 of file cdcprolific.h.

@@ -535,7 +523,7 @@ Enumerations
-

Definition at line 64 of file cdcprolific.h.

+

Definition at line 45 of file cdcprolific.h.

@@ -549,7 +537,7 @@ Enumerations
-

Definition at line 65 of file cdcprolific.h.

+

Definition at line 46 of file cdcprolific.h.

@@ -563,7 +551,7 @@ Enumerations
-

Definition at line 67 of file cdcprolific.h.

+

Definition at line 48 of file cdcprolific.h.

@@ -577,7 +565,7 @@ Enumerations
-

Definition at line 68 of file cdcprolific.h.

+

Definition at line 49 of file cdcprolific.h.

@@ -591,7 +579,7 @@ Enumerations
-

Definition at line 70 of file cdcprolific.h.

+

Definition at line 51 of file cdcprolific.h.

@@ -605,7 +593,7 @@ Enumerations
-

Definition at line 71 of file cdcprolific.h.

+

Definition at line 52 of file cdcprolific.h.

@@ -619,7 +607,7 @@ Enumerations
-

Definition at line 72 of file cdcprolific.h.

+

Definition at line 53 of file cdcprolific.h.

@@ -633,7 +621,7 @@ Enumerations
-

Definition at line 73 of file cdcprolific.h.

+

Definition at line 54 of file cdcprolific.h.

@@ -647,7 +635,7 @@ Enumerations
-

Definition at line 74 of file cdcprolific.h.

+

Definition at line 55 of file cdcprolific.h.

@@ -661,7 +649,7 @@ Enumerations
-

Definition at line 76 of file cdcprolific.h.

+

Definition at line 57 of file cdcprolific.h.

@@ -675,7 +663,7 @@ Enumerations
-

Definition at line 77 of file cdcprolific.h.

+

Definition at line 58 of file cdcprolific.h.

@@ -689,7 +677,7 @@ Enumerations
-

Definition at line 87 of file cdcprolific.h.

+

Definition at line 68 of file cdcprolific.h.

@@ -703,7 +691,7 @@ Enumerations
-

Definition at line 88 of file cdcprolific.h.

+

Definition at line 69 of file cdcprolific.h.

@@ -717,7 +705,7 @@ Enumerations
-

Definition at line 89 of file cdcprolific.h.

+

Definition at line 70 of file cdcprolific.h.

@@ -731,7 +719,7 @@ Enumerations
-

Definition at line 90 of file cdcprolific.h.

+

Definition at line 71 of file cdcprolific.h.

@@ -745,7 +733,7 @@ Enumerations
-

Definition at line 91 of file cdcprolific.h.

+

Definition at line 72 of file cdcprolific.h.

@@ -759,7 +747,7 @@ Enumerations
-

Definition at line 93 of file cdcprolific.h.

+

Definition at line 74 of file cdcprolific.h.

@@ -773,7 +761,7 @@ Enumerations
-

Definition at line 94 of file cdcprolific.h.

+

Definition at line 75 of file cdcprolific.h.

@@ -787,7 +775,7 @@ Enumerations
-

Definition at line 95 of file cdcprolific.h.

+

Definition at line 76 of file cdcprolific.h.

@@ -801,7 +789,7 @@ Enumerations
-

Definition at line 96 of file cdcprolific.h.

+

Definition at line 77 of file cdcprolific.h.

@@ -815,7 +803,7 @@ Enumerations
-

Definition at line 97 of file cdcprolific.h.

+

Definition at line 78 of file cdcprolific.h.

@@ -829,7 +817,7 @@ Enumerations
-

Definition at line 99 of file cdcprolific.h.

+

Definition at line 80 of file cdcprolific.h.

@@ -843,7 +831,7 @@ Enumerations
-

Definition at line 100 of file cdcprolific.h.

+

Definition at line 81 of file cdcprolific.h.

@@ -857,7 +845,7 @@ Enumerations
-

Definition at line 102 of file cdcprolific.h.

+

Definition at line 83 of file cdcprolific.h.

@@ -871,7 +859,7 @@ Enumerations
-

Definition at line 103 of file cdcprolific.h.

+

Definition at line 84 of file cdcprolific.h.

@@ -885,7 +873,7 @@ Enumerations
-

Definition at line 106 of file cdcprolific.h.

+

Definition at line 87 of file cdcprolific.h.

@@ -899,7 +887,7 @@ Enumerations
-

Definition at line 107 of file cdcprolific.h.

+

Definition at line 88 of file cdcprolific.h.

@@ -913,7 +901,7 @@ Enumerations
-

Definition at line 108 of file cdcprolific.h.

+

Definition at line 89 of file cdcprolific.h.

@@ -927,7 +915,7 @@ Enumerations
-

Definition at line 109 of file cdcprolific.h.

+

Definition at line 90 of file cdcprolific.h.

@@ -941,7 +929,7 @@ Enumerations
-

Definition at line 110 of file cdcprolific.h.

+

Definition at line 91 of file cdcprolific.h.

@@ -955,7 +943,7 @@ Enumerations
-

Definition at line 112 of file cdcprolific.h.

+

Definition at line 93 of file cdcprolific.h.

@@ -969,7 +957,7 @@ Enumerations
-

Definition at line 113 of file cdcprolific.h.

+

Definition at line 94 of file cdcprolific.h.

@@ -983,7 +971,7 @@ Enumerations
-

Definition at line 114 of file cdcprolific.h.

+

Definition at line 95 of file cdcprolific.h.

@@ -997,7 +985,7 @@ Enumerations
-

Definition at line 115 of file cdcprolific.h.

+

Definition at line 96 of file cdcprolific.h.

@@ -1011,7 +999,7 @@ Enumerations
-

Definition at line 117 of file cdcprolific.h.

+

Definition at line 98 of file cdcprolific.h.

@@ -1025,7 +1013,7 @@ Enumerations
-

Definition at line 118 of file cdcprolific.h.

+

Definition at line 99 of file cdcprolific.h.

@@ -1039,7 +1027,7 @@ Enumerations
-

Definition at line 119 of file cdcprolific.h.

+

Definition at line 100 of file cdcprolific.h.

@@ -1053,7 +1041,7 @@ Enumerations
-

Definition at line 120 of file cdcprolific.h.

+

Definition at line 101 of file cdcprolific.h.

@@ -1067,7 +1055,7 @@ Enumerations
-

Definition at line 123 of file cdcprolific.h.

+

Definition at line 104 of file cdcprolific.h.

@@ -1081,7 +1069,7 @@ Enumerations
-

Definition at line 124 of file cdcprolific.h.

+

Definition at line 105 of file cdcprolific.h.

@@ -1095,7 +1083,7 @@ Enumerations
-

Definition at line 135 of file cdcprolific.h.

+

Definition at line 116 of file cdcprolific.h.

@@ -1122,7 +1110,7 @@ Enumerations -

Definition at line 79 of file cdcprolific.h.

+

Definition at line 60 of file cdcprolific.h.

@@ -1148,7 +1136,7 @@ Enumerations -

Definition at line 126 of file cdcprolific.h.

+

Definition at line 107 of file cdcprolific.h.

@@ -1157,7 +1145,7 @@ Enumerations diff --git a/cdcprolific_8h__dep__incl.map b/cdcprolific_8h__dep__incl.map index 55cd38d5..7f306dfd 100644 --- a/cdcprolific_8h__dep__incl.map +++ b/cdcprolific_8h__dep__incl.map @@ -1,3 +1,3 @@ - + diff --git a/cdcprolific_8h__dep__incl.md5 b/cdcprolific_8h__dep__incl.md5 index 9cc63a3d..6e869c59 100644 --- a/cdcprolific_8h__dep__incl.md5 +++ b/cdcprolific_8h__dep__incl.md5 @@ -1 +1 @@ -562e086e1837f99028ea54377104d2e8 \ No newline at end of file +7e1c0310ccf8e65031fd95168f61528c \ No newline at end of file diff --git a/cdcprolific_8h__dep__incl.png b/cdcprolific_8h__dep__incl.png index edd12dc3810c3c104654bc9584ab5cb014943d51..5622086ec6c041526ce5df041fdf8f72df17b7d3 100644 GIT binary patch literal 3759 zcmcha=|2?S+s9{UhOw8TtYb@rMkrgzPPUAt!3>c-eC^v{?2$EOipG*Xj1bwzzD>xk z?1Vv*vCDSP@1M9IoO2$XbFS-iUFY@woH!!`Ek-&HIsgE`sH3fJOj*4t!X4Ew~)Umk|5rH z`-AsTw%mf4_UaHOu!-@`L6^V~(%FFfYQt*U-@fouLo;d9b`a!3|ASZ4h}YrO7r6 z5qWFo_{xh9U@547_XF<%OhW+KRzCRfWntiNeCtI%h@NeDA?#A$9FNM_2)j7ZddsY! zbiNNK4h|NcpB}+AH8oZIkPTkZYXk4pdZrbjODtGB@IWHx!)w__2%o(*ed54C!A!je ztBPX44wP&bFBUpkj@VU_lS5F2EO*6W1{y=p}~b5tIX8m!I2CSj$me6~X^ zBq(U~9rvh(>yM%P&uV+0r4G=)z3<8!!+C1P4g*-p@p=#Ild}nP>x`t{l=H(G4|s19 zH{`zSWO<&;L|MP6-h1gdTQZ|)H<`a98SB| zy3ff&e#|y_mzI=hGo`Mt_UuuTH+jI8USr!$M6WA>NNuc1EWI5wzgin%r$;l$$ZBaW;FF(`O<2r)d{M6c~%25 zKjzV37~l;%OWmCKq&3&%pE>EbIUYw5jW2ll@XyS~J4YO!qS`lJ#egb=fPx$>FItUh zyu$LK%g<_|RTAl2@Y!Q#wTnkbvud0VUgp-;N(b$<)7UE={~j;>)$KtiDmbhrd6thF zRz@HHCpUe}$}MRdCDs(Uw>Dm8dY8^;`=EGgVeeIVoE%+eiZD<`*7j(7ZoCqyAoWQn z?Y2ovkZ+)eFb#O0!>|J#>og9P9fGc_{v{XuJNP|T_#{)2SEM-ao{&)YilMG`>uv#N0bI?rf3d{>DXUOzTQ3+Y#P zIhanIDsW7n(;{(?f)B9(xA|s-W;~X+f;M&it+?g-cq#loXQ$*EsS?>_@!9;Cq3(Qt z%&QlWM0FYMI%qp5O4BQXRP!3aGqBm&G%a8u@bWii??Tl zUBXc$m@)sORN}T*2vf(|4~QHE%kT82O)w-5Z{Ph2?visNd}QEYXdQZMbXFk^Nfe28VM& zU%(h3wNX@~+>rxp!?#T@xC_e(0JDNyJr9Iq&yJ4+ED>t4o?k>4`smkO)O*|eG>vaB z+r*3oU?O-v^-ohLQL!p$zds9x+K!Z8^7|STDCV{&q&t4hHIKXnD%L9N!;th|s+(6> z$QU0+A@M9^E@{(Mq2am2{VH}AzG#AixoG#D$hdBKwo`*s>$K%%j%K^`uB^X~fr)`f z73dqi>RB|wKY-^s5YF;uXO=%ikY(uK`HlST zH3-yu9A@R^e6qWQ`r*5tqT1j8r5Pu8u6c47R%}uWFE+UcPh{802_r;Kc|V;0>W=jl z&@S^GwJ8fC0?{0LG?)UHd@y_h&a^mYBM%TXWtG8};k*Dj;4vVy^nFRY$w4~xu{4$m zpfjP)SX5Tb)mGf@1JEwJ?E*7>v4X1qK!RzlT`$vn1^>zqqFO7aqF8G*S;MHfisrWt z7e^8t1cWMqKp-E|(3~|Ul+u&VQ@9bV!otF{;Eno< z>H@p-{>O{NjJs!QZG~^EWyOd0x>PW}XUCqbV%B`wTsfJUjy&vfV=Gz-Hy?A$`{WWr zPIo;J^wGy)t_lpFrXVhYVSemdr42or>bgviX75}CH$-Q7{} zW#!W?DJt29h6ZEON`KlaYM0eek*}U_svKc=-469SK3>DC?oekd}oSP4=*onQd` zS+;_|0Zhf%KQxq3mBy(Y+WaaxIn&FC*!HTcOPzfBx0QZd-&l)M0}!z>aIa{QN5~is zkA5zt@XX|snf|oRjx_;|fCU)W6%?pXPgAG~L=6k)p!sp=U7dHRTBp>-7=E{?3rV}4 zR}>duwH9~*sbiX{b4&9};CW=RjT-Ch>|DfkZC0VH98seOdtUtbgMvSs z2jQg1^DcgNx4R>nUjIU+Es9V-AM|a!cdv92=Q__BXY<mnI2 zfywG)Mf#8hu`6nXx`|3;7MPjG${^z&@6Cip0XK7+V<0^FG2uW8M-#*d(YqPd(3|#E zizVVUMb(_|=tTMTXG` z5Ir&OWH-FML}Ap=cQJ3?HK|K+6CXNUsLL1r6K|~ydFJO=C&ml}QssgfIfh@~BlH#b zSEir5npWht6{gX!ta~X5Tt2}{pqjN6_lft>m(Xj-&$b}SW6*XWTj@^Wt%cLCGPLZE zKJoe!rx|}IJJw1`{b1V@?qpI$b6uC41$YnHXtF6HCbpvHU0v$`cYar?KpFSTC)fM- z3&~IcmG-E!K7nNHW6+W6NK3H)tpTXVaPH#>WPrn4uL?b4ITyUvv6rV389G0%Jqd) zMZ+7#gx4*>M|7y*pmY}W84jAlxKh>#=~VdinZF^z}i_ z4rql`0J9S;@(4MgW5HD8I#ubr^ki6)behY!Try`dDYfPMt5x{Fid9_IOr_Z+Zn1Gs zsv>JE>{lsH3K>-chDUDjGk+}+ZFF>jAylpxe=M_s3F#B5>%`=z5l^IpXZ$S^L(E3!+Bnx^EoHi-PK-EPF)TF z07XX!q^Cr0NgO3BC5gQv2fjpPLY?f9z|pr;%V;W3fD}+L!e@_&ST#nm|+*n$=8o%fq9)8{@Ha35F zUQI&-AH$d1tD1tsV1{u0>ZOg1zK36Mlesa=;7tp+Ryk2U7NZ{>6SgbfBO2WcEs=R#J=X@!6s}B z#jf7`Un^z7tf1aUDS}T!B$6g!6xG9bmxhmgr+ zTU%Qc3Kba{se(7Ku-KbrJX9}`0V)WDSWOdS`?X zC3$;$x3#rZR#w8Rl!gT_w{x&vM15G7offb+8PEo~8W&Ij$ypXqlwrSmJG5 zn)TtZc)}qwY~fX4+6?rrf=sjZ;WJ?>l~r~H=d+MVGYaU?R4B2ss@YM<_F1^uXgP2f z>p3DO{}NOyJus&_!=SmI+c<5T`*rMzgrNg#=o`xaONLG4p#jF=cy0Zr{QQf@`sas> z#IYv;bZ3g>n_0iAls^ai;QjAYm(_F$_T1JAUra;LCmchg(}m!-yaIGLH7eqMgTF`1igs z=GU%iMSy#FjHHcO$q4D{f;LTsL)EuZ59XLT^C!`(gFo$y_!E*zaG`wVuaQ!}w(iD8 z1674|u@L8NcIgr#3~5*I(denDq*PJ%%_N-+Fd_Am4*siaYfx1MrJTFz>4C2}MMXt~ z@^V~0o6SZ-{C#|qjtloy1UpKSg4Q0=cDS_wayr{l%BP17|%AtIK2U z?d=`L%eRcWT_1@4m=`oOH5~`AI_Z5GyzWTgDT(y1MJltk^&;Tj>=j2PT~n4Y*A5R4 z2Y&9=O0+N>b&&4d6w9}cKKrqaNr~XBtghbj^t@nX^eT{nq4*`O&)C)!y=j%oeEk|; zuTrbh*In5bns8f0Lbj2fvgl0 zvMZXIQO~Q>AVMp`qcW`3@VM7mK#4$A5@!ex-#MAfg_o|9cwZP;4 za$)lE{Q_A@Bc5eTlVif*^4UjC(-kpx(hL%Zg?7Bo9>H={@A-EeuRB8aDHlP zib|#SoxT(uEAtpp+rRUtE$grV{0wno^xyi@ H9*q4jK3kpr diff --git a/cdcprolific_8h__incl.map b/cdcprolific_8h__incl.map index 7307ea2b..04791f13 100644 --- a/cdcprolific_8h__incl.map +++ b/cdcprolific_8h__incl.map @@ -1,14 +1,4 @@ - - - - - - - - - - - - + + diff --git a/cdcprolific_8h__incl.md5 b/cdcprolific_8h__incl.md5 index 2f6dab5a..4016e2b7 100644 --- a/cdcprolific_8h__incl.md5 +++ b/cdcprolific_8h__incl.md5 @@ -1 +1 @@ -abfb9c70839cd9c8054ce192c20e3e3b \ No newline at end of file +e26e4be2e6b8e7c00195ad3f65bee601 \ No newline at end of file diff --git a/cdcprolific_8h__incl.png b/cdcprolific_8h__incl.png index 803c3d42077907f88fd0154266120d49ee803545..dfab66528e6c3ac469c400192d773f11365c5abc 100644 GIT binary patch literal 4638 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%0AsZg{>r3{j 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ⅈiMB5mOw!{*3ycZm?%?I%lW~o>fj*l=Ef5w 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%0D>wh;Q{Fu+1{?DDg8o&Qb93~kzvm0!d6xm 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 diff --git a/cdcprolific_8h_source.html b/cdcprolific_8h_source.html index 1ee1029f..bcc0c049 100644 --- a/cdcprolific_8h_source.html +++ b/cdcprolific_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: cdcprolific.h Source File @@ -31,7 +31,7 @@ - + @@ -108,145 +108,145 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

18 #define __CDCPROLIFIC_H__
19 
-
20 #include <inttypes.h>
-
21 #include <avr/pgmspace.h>
-
22 #include "avrpins.h"
-
23 #include "max3421e.h"
-
24 #include "usbhost.h"
-
25 #include "usb_ch9.h"
-
26 #include "Usb.h"
-
27 
-
28 #if defined(ARDUINO) && ARDUINO >=100
-
29 #include "Arduino.h"
-
30 #else
-
31 #include <WProgram.h>
-
32 #endif
-
33 
-
34 #include "printhex.h"
-
35 #include "hexdump.h"
-
36 #include "message.h"
-
37 
-
38 #include "confdescparser.h"
-
39 #include "cdcacm.h"
-
40 
-
41 #define PL_VID 0x067B
-
42 #define PL_PID ( 0x2303 || 0x0609 )
-
43 
-
44 //#define PL_PID 0x0609
-
45 
-
46 #define PROLIFIC_REV_H 0x0202
-
47 #define PROLIFIC_REV_X 0x0300
-
48 #define PROLIFIC_REV_HX_CHIP_D 0x0400
-
49 #define PROLIFIC_REV_1 0x0001
+
20 #include "cdcacm.h"
+
21 
+
22 #define PL_VID 0x067B
+
23 #define PL_PID ( 0x2303 || 0x0609 )
+
24 
+
25 //#define PL_PID 0x0609
+
26 
+
27 #define PROLIFIC_REV_H 0x0202
+
28 #define PROLIFIC_REV_X 0x0300
+
29 #define PROLIFIC_REV_HX_CHIP_D 0x0400
+
30 #define PROLIFIC_REV_1 0x0001
+
31 
+
32 #define kXOnChar '\x11'
+
33 #define kXOffChar '\x13'
+
34 
+
35 #define SPECIAL_SHIFT (5)
+
36 #define SPECIAL_MASK ((1<<SPECIAL_SHIFT) - 1)
+
37 #define STATE_ALL ( PD_RS232_S_MASK | PD_S_MASK )
+
38 #define FLOW_RX_AUTO ( PD_RS232_A_RFR | PD_RS232_A_DTR | PD_RS232_A_RXO )
+
39 #define FLOW_TX_AUTO ( PD_RS232_A_CTS | PD_RS232_A_DSR | PD_RS232_A_TXO | PD_RS232_A_DCD )
+
40 #define CAN_BE_AUTO ( FLOW_RX_AUTO | FLOW_TX_AUTO )
+
41 #define CAN_NOTIFY ( PD_RS232_N_MASK )
+
42 #define EXTERNAL_MASK ( PD_S_MASK | (PD_RS232_S_MASK & ~PD_RS232_S_LOOP) )
+
43 #define INTERNAL_DELAY ( PD_RS232_S_LOOP )
+
44 #define DEFAULT_AUTO ( PD_RS232_A_DTR | PD_RS232_A_RFR | PD_RS232_A_CTS | PD_RS232_A_DSR )
+
45 #define DEFAULT_NOTIFY 0x00
+
46 #define DEFAULT_STATE ( PD_S_TX_ENABLE | PD_S_RX_ENABLE | PD_RS232_A_TXO | PD_RS232_A_RXO )
+
47 
+
48 #define CONTINUE_SEND 1
+
49 #define PAUSE_SEND 2
50 
-
51 #define kXOnChar '\x11'
-
52 #define kXOffChar '\x13'
-
53 
-
54 #define SPECIAL_SHIFT (5)
-
55 #define SPECIAL_MASK ((1<<SPECIAL_SHIFT) - 1)
-
56 #define STATE_ALL ( PD_RS232_S_MASK | PD_S_MASK )
-
57 #define FLOW_RX_AUTO ( PD_RS232_A_RFR | PD_RS232_A_DTR | PD_RS232_A_RXO )
-
58 #define FLOW_TX_AUTO ( PD_RS232_A_CTS | PD_RS232_A_DSR | PD_RS232_A_TXO | PD_RS232_A_DCD )
-
59 #define CAN_BE_AUTO ( FLOW_RX_AUTO | FLOW_TX_AUTO )
-
60 #define CAN_NOTIFY ( PD_RS232_N_MASK )
-
61 #define EXTERNAL_MASK ( PD_S_MASK | (PD_RS232_S_MASK & ~PD_RS232_S_LOOP) )
-
62 #define INTERNAL_DELAY ( PD_RS232_S_LOOP )
-
63 #define DEFAULT_AUTO ( PD_RS232_A_DTR | PD_RS232_A_RFR | PD_RS232_A_CTS | PD_RS232_A_DSR )
-
64 #define DEFAULT_NOTIFY 0x00
-
65 #define DEFAULT_STATE ( PD_S_TX_ENABLE | PD_S_RX_ENABLE | PD_RS232_A_TXO | PD_RS232_A_RXO )
-
66 
-
67 #define CONTINUE_SEND 1
-
68 #define PAUSE_SEND 2
-
69 
-
70 #define kRxAutoFlow ((UInt32)( PD_RS232_A_RFR | PD_RS232_A_DTR | PD_RS232_A_RXO ))
-
71 #define kTxAutoFlow ((UInt32)( PD_RS232_A_CTS | PD_RS232_A_DSR | PD_RS232_A_TXO | PD_RS232_A_DCD ))
-
72 #define kControl_StateMask ((UInt32)( PD_RS232_S_CTS | PD_RS232_S_DSR | PD_RS232_S_CAR | PD_RS232_S_RI ))
-
73 #define kRxQueueState ((UInt32)( PD_S_RXQ_EMPTY | PD_S_RXQ_LOW_WATER | PD_S_RXQ_HIGH_WATER | PD_S_RXQ_FULL ))
-
74 #define kTxQueueState ((UInt32)( PD_S_TXQ_EMPTY | PD_S_TXQ_LOW_WATER | PD_S_TXQ_HIGH_WATER | PD_S_TXQ_FULL ))
-
75 
-
76 #define kCONTROL_DTR 0x01
-
77 #define kCONTROL_RTS 0x02
-
78 
-
79 enum tXO_State {
-
80  kXOnSent = -2,
-
81  kXOffSent = -1,
-
82  kXO_Idle = 0,
- - -
85 };
-
86 
-
87 #define kStateTransientMask 0x74
-
88 #define kBreakError 0x04
-
89 #define kFrameError 0x10
-
90 #define kParityError 0x20
-
91 #define kOverrunError 0x40
+
51 #define kRxAutoFlow ((UInt32)( PD_RS232_A_RFR | PD_RS232_A_DTR | PD_RS232_A_RXO ))
+
52 #define kTxAutoFlow ((UInt32)( PD_RS232_A_CTS | PD_RS232_A_DSR | PD_RS232_A_TXO | PD_RS232_A_DCD ))
+
53 #define kControl_StateMask ((UInt32)( PD_RS232_S_CTS | PD_RS232_S_DSR | PD_RS232_S_CAR | PD_RS232_S_RI ))
+
54 #define kRxQueueState ((UInt32)( PD_S_RXQ_EMPTY | PD_S_RXQ_LOW_WATER | PD_S_RXQ_HIGH_WATER | PD_S_RXQ_FULL ))
+
55 #define kTxQueueState ((UInt32)( PD_S_TXQ_EMPTY | PD_S_TXQ_LOW_WATER | PD_S_TXQ_HIGH_WATER | PD_S_TXQ_FULL ))
+
56 
+
57 #define kCONTROL_DTR 0x01
+
58 #define kCONTROL_RTS 0x02
+
59 
+
60 enum tXO_State {
+
61  kXOnSent = -2,
+
62  kXOffSent = -1,
+
63  kXO_Idle = 0,
+ + +
66 };
+
67 
+
68 #define kStateTransientMask 0x74
+
69 #define kBreakError 0x04
+
70 #define kFrameError 0x10
+
71 #define kParityError 0x20
+
72 #define kOverrunError 0x40
+
73 
+
74 #define kCTS 0x80
+
75 #define kDSR 0x02
+
76 #define kRI 0x08
+
77 #define kDCD 0x01
+
78 #define kHandshakeInMask ((UInt32)( PD_RS232_S_CTS | PD_RS232_S_DSR | PD_RS232_S_CAR | PD_RS232_S_RI ))
+
79 
+
80 #define VENDOR_WRITE_REQUEST_TYPE 0x40
+
81 #define VENDOR_WRITE_REQUEST 0x01
+
82 
+
83 #define VENDOR_READ_REQUEST_TYPE 0xc0
+
84 #define VENDOR_READ_REQUEST 0x01
+
85 
+
86 // Device Configuration Registers (DCR0, DCR1, DCR2)
+
87 #define SET_DCR0 0x00
+
88 #define GET_DCR0 0x80
+
89 #define DCR0_INIT 0x01
+
90 #define DCR0_INIT_H 0x41
+
91 #define DCR0_INIT_X 0x61
92 
-
93 #define kCTS 0x80
-
94 #define kDSR 0x02
-
95 #define kRI 0x08
-
96 #define kDCD 0x01
-
97 #define kHandshakeInMask ((UInt32)( PD_RS232_S_CTS | PD_RS232_S_DSR | PD_RS232_S_CAR | PD_RS232_S_RI ))
-
98 
-
99 #define VENDOR_WRITE_REQUEST_TYPE 0x40
-
100 #define VENDOR_WRITE_REQUEST 0x01
-
101 
-
102 #define VENDOR_READ_REQUEST_TYPE 0xc0
-
103 #define VENDOR_READ_REQUEST 0x01
-
104 
-
105 // Device Configuration Registers (DCR0, DCR1, DCR2)
-
106 #define SET_DCR0 0x00
-
107 #define GET_DCR0 0x80
-
108 #define DCR0_INIT 0x01
-
109 #define DCR0_INIT_H 0x41
-
110 #define DCR0_INIT_X 0x61
-
111 
-
112 #define SET_DCR1 0x01
-
113 #define GET_DCR1 0x81
-
114 #define DCR1_INIT_H 0x80
-
115 #define DCR1_INIT_X 0x00
-
116 
-
117 #define SET_DCR2 0x02
-
118 #define GET_DCR2 0x82
-
119 #define DCR2_INIT_H 0x24
-
120 #define DCR2_INIT_X 0x44
-
121 
-
122 // On-chip Data Buffers:
-
123 #define RESET_DOWNSTREAM_DATA_PIPE 0x08
-
124 #define RESET_UPSTREAM_DATA_PIPE 0x09
-
125 
- - -
128  type_1, /* don't know the difference between type 0 and */
-
129  rev_X, /* type 1, until someone from prolific tells us... */
-
130  rev_HX, /* HX version of the pl2303 chip */
- +
93 #define SET_DCR1 0x01
+
94 #define GET_DCR1 0x81
+
95 #define DCR1_INIT_H 0x80
+
96 #define DCR1_INIT_X 0x00
+
97 
+
98 #define SET_DCR2 0x02
+
99 #define GET_DCR2 0x82
+
100 #define DCR2_INIT_H 0x24
+
101 #define DCR2_INIT_X 0x44
+
102 
+
103 // On-chip Data Buffers:
+
104 #define RESET_DOWNSTREAM_DATA_PIPE 0x08
+
105 #define RESET_UPSTREAM_DATA_PIPE 0x09
+
106 
+ + +
109  type_1, /* don't know the difference between type 0 and */
+
110  rev_X, /* type 1, until someone from prolific tells us... */
+
111  rev_HX, /* HX version of the pl2303 chip */
+ +
113 };
+
114 
+
115 
+
116 #define PL_MAX_ENDPOINTS 4
+
117 
+
118 class PL2303 : public ACM {
+
119  uint16_t wPLType; // Type of chip
+
120 
+
121 public:
+
122  PL2303(USB *pusb, CDCAsyncOper *pasync);
+
123 
+
124  // USBDeviceConfig implementation
+
125  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
+
126  //virtual uint8_t Release();
+
127  //virtual uint8_t Poll();
+
128  //virtual uint8_t GetAddress() { return bAddress; };
+
129 
+
131  //virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
132 };
133 
-
134 
-
135 #define PL_MAX_ENDPOINTS 4
-
136 
-
137 class PL2303 : public ACM {
-
138  uint16_t wPLType; // Type of chip
-
139 
-
140 public:
-
141  PL2303(USB *pusb, CDCAsyncOper *pasync);
-
142 
-
143  // USBDeviceConfig implementation
-
144  virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed);
-
145  //virtual uint8_t Release();
-
146  //virtual uint8_t Poll();
-
147  //virtual uint8_t GetAddress() { return bAddress; };
-
148 
-
150  //virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep);
-
151 };
-
152 
-
153 #endif // __CDCPROLIFIC_H__
+
134 #endif // __CDCPROLIFIC_H__
+ + +
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
Definition: cdcprolific.cpp:24
+
PL2303(USB *pusb, CDCAsyncOper *pasync)
Definition: cdcprolific.cpp:19
+ +
tXO_State
Definition: cdcprolific.h:60
+ + + + + + +
pl2303_type
Definition: cdcprolific.h:107
+ + + + +
Definition: UsbCore.h:152
+
Definition: cdcacm.h:139
diff --git a/class_a_c_m-members.html b/class_a_c_m-members.html index 30a4317f..d74ffb0d 100644 --- a/class_a_c_m-members.html +++ b/class_a_c_m-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -131,7 +131,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_a_c_m.html b/class_a_c_m.html index 587d087d..ada8e7bd 100644 --- a/class_a_c_m.html +++ b/class_a_c_m.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: ACM Class Reference @@ -31,7 +31,7 @@ - + @@ -100,14 +100,14 @@ Inheritance diagram for ACM:
Inheritance graph
- +
[legend]
Collaboration diagram for ACM:
Collaboration graph
- +
[legend]

@@ -197,7 +197,7 @@ Static Protected Attributes

Detailed Description

-

Definition at line 157 of file cdcacm.h.

+

Definition at line 139 of file cdcacm.h.

Constructor & Destructor Documentation

@@ -239,7 +239,7 @@ Static Protected Attributes void ACM::PrintEndpointDescriptor ( const USB_ENDPOINT_DESCRIPTOR *  - ep_ptr) + ep_ptr) @@ -330,7 +330,7 @@ Static Protected Attributes uint8_t ACM::ClearCommFeature ( uint16_t  - fid) + fid) @@ -348,7 +348,7 @@ Static Protected Attributes uint8_t ACM::SetLineCoding ( const LINE_CODING *  - dataptr) + dataptr) @@ -366,7 +366,7 @@ Static Protected Attributes uint8_t ACM::GetLineCoding ( LINE_CODING *  - dataptr) + dataptr) @@ -384,7 +384,7 @@ Static Protected Attributes uint8_t ACM::SetControlLineState ( uint8_t  - state) + state) @@ -402,7 +402,7 @@ Static Protected Attributes uint8_t ACM::SendBreak ( uint16_t  - duration) + duration) @@ -550,7 +550,7 @@ Static Protected Attributes uint8_t ACM::Release ( - ) + ) @@ -577,7 +577,7 @@ Static Protected Attributes uint8_t ACM::Poll ( - ) + ) @@ -604,7 +604,7 @@ Static Protected Attributes virtual uint8_t ACM::GetAddress ( - ) + ) @@ -617,7 +617,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 199 of file cdcacm.h.

+

Definition at line 181 of file cdcacm.h.

@@ -631,7 +631,7 @@ Static Protected Attributes virtual bool ACM::isReady ( - ) + ) @@ -642,7 +642,7 @@ Static Protected Attributes
-

Definition at line 203 of file cdcacm.h.

+

Definition at line 185 of file cdcacm.h.

@@ -721,7 +721,7 @@ Static Protected Attributes
-

Definition at line 159 of file cdcacm.h.

+

Definition at line 141 of file cdcacm.h.

@@ -743,7 +743,7 @@ Static Protected Attributes
-

Definition at line 160 of file cdcacm.h.

+

Definition at line 142 of file cdcacm.h.

@@ -765,7 +765,7 @@ Static Protected Attributes
-

Definition at line 161 of file cdcacm.h.

+

Definition at line 143 of file cdcacm.h.

@@ -787,7 +787,7 @@ Static Protected Attributes
-

Definition at line 163 of file cdcacm.h.

+

Definition at line 145 of file cdcacm.h.

@@ -809,7 +809,7 @@ Static Protected Attributes
-

Definition at line 164 of file cdcacm.h.

+

Definition at line 146 of file cdcacm.h.

@@ -831,7 +831,7 @@ Static Protected Attributes
-

Definition at line 165 of file cdcacm.h.

+

Definition at line 147 of file cdcacm.h.

@@ -853,7 +853,7 @@ Static Protected Attributes
-

Definition at line 166 of file cdcacm.h.

+

Definition at line 148 of file cdcacm.h.

@@ -875,7 +875,7 @@ Static Protected Attributes
-

Definition at line 167 of file cdcacm.h.

+

Definition at line 149 of file cdcacm.h.

@@ -897,7 +897,7 @@ Static Protected Attributes
-

Definition at line 168 of file cdcacm.h.

+

Definition at line 150 of file cdcacm.h.

@@ -919,7 +919,7 @@ Static Protected Attributes
-

Definition at line 169 of file cdcacm.h.

+

Definition at line 151 of file cdcacm.h.

@@ -941,7 +941,7 @@ Static Protected Attributes
-

Definition at line 170 of file cdcacm.h.

+

Definition at line 152 of file cdcacm.h.

@@ -963,7 +963,7 @@ Static Protected Attributes
-

Definition at line 171 of file cdcacm.h.

+

Definition at line 153 of file cdcacm.h.

@@ -985,7 +985,7 @@ Static Protected Attributes
-

Definition at line 172 of file cdcacm.h.

+

Definition at line 154 of file cdcacm.h.

@@ -1007,7 +1007,7 @@ Static Protected Attributes
-

Definition at line 174 of file cdcacm.h.

+

Definition at line 156 of file cdcacm.h.

@@ -1020,7 +1020,7 @@ Static Protected Attributes diff --git a/class_a_c_m__coll__graph.map b/class_a_c_m__coll__graph.map index 14fa3281..899d89ac 100644 --- a/class_a_c_m__coll__graph.map +++ b/class_a_c_m__coll__graph.map @@ -1,8 +1,8 @@ - - - - - - + + + + + + diff --git a/class_a_c_m__coll__graph.md5 b/class_a_c_m__coll__graph.md5 index 29c98a55..cbec54cc 100644 --- a/class_a_c_m__coll__graph.md5 +++ b/class_a_c_m__coll__graph.md5 @@ -1 +1 @@ -2ce7b0bd22032d77543f5a91c300b1c0 \ No newline at end of file +1882407469fb975afc811a5305d11f3f \ No newline at end of file diff --git a/class_a_c_m__coll__graph.png b/class_a_c_m__coll__graph.png index 868adc3d53da77301caf632af55e855468093b2d..7ecc33e07da0dc8667433fa8cc5e2f035b8a5f9b 100644 GIT binary patch literal 21760 zcmeEuWm6ta6E5x=LU0Qf+}$BqAh^4`1$Ve{f(Lg9PSD`)?hZEucXthNHt%ES7o1P0 zYHN#Hmf4<}maBWNCR{;I5)}y_2?7EFRa)w!5(EU4Jn-`z0vvFcD|l-J0U-<_{ZT~4 z9r7d-KILuSdl#){omhpV=e#tdkDlJ5mL&?#>h`l6vBTl z7LoP6Y`>&7ue<(_dYc?rs--G%HRHT=dJ*b5j@Vl^El?L*eSf_gEW17!N3K+Fvn1MX zZM1rNzR{ypD4W_#@9nSTw8#iSnDv)rVFFM*JUmp&@l>DRxG!%oU7~cp>oT)-y&n+w z?~X@?<@$F*Ql#9FNb+5HEO7tG4}sW-py2M9yZ(PYfuR=Opy4L(|98@)kT}4fF}_{- z?+Iufm^Z9>FYaHW{<*Ke7v2~O4j}mN2}TBlKqUOXFQHMzrl-@n{c=f8VAR#ha^DQ+ zr}Q`|NH*ySL1p#6cPLRSPdnnTXnB2kD)6}4Wi=VZSh(nmz!~v6Yoq4+%NIHV}7uIQOGKxkyeaR}@xV=Pn8w9&J!w=$QgX*E#OVaH-BZ zc{H7Cg1dzOq;^L3Md1DZ_-u)CfqJFhw~P!MIoqY5;#pp&JZBbW9fmz2m)Wns2ljY~ zQDPuC&p?Qk$8DQ%OK3VJSUKbyopZ;q3ta*E~ zOnu&a`r^bCcm!p)9RrbMZurmM6k%|?pXU_V^UJgugeL454@9Tl6Y)A%oi^(^pP8Q4Ss2e2S|e267;>Q(A}~PiHyDde1{V4up2q|G ze@f}!gJ7U>9KqCnKFD#))P8RiW4x%CE7Jb3OOS`zeBO<`vlSzB8#a?Kjpgz3uqPf& zjVI*WIwfaFGJu&w*?ii3w0&GN!TCf>i0F&kT@#38z3X{q$cZvX2CP7q_4g!N)lZMN zCv+Mpc#u7QgEK^KD~7iZMdyfE!TTJ^=>AAN@+!=L@~NF#!o=d^A6{G9nnl-XBeL^i$nx>U;2d zkrtK5?~8#G3*y&opIc4P>)Ux6|*C%tupq?l#igG@K zYs_Q9Ii2?v4i>BPPzbpv7fdURJDzXTGrTW{rgKD~n{L6@x&wi>o$fx*k2k~}J)!9E zEs=X-l(B9UF_M3K7E)Kl?S);-+vBAqG#^cu!`bTDu$5^tj-&F1)t|G2;KjQ|PWdYJ zX}98Pmr|{|(qR3I%|3=XQ4e9z=QlR-&LNqJ2?-{jv-p>`TA$?P((Nf^4Bhr?I;|CEez>Fj_-8p0%Fs^662V7~%;17SizpV2EJrstK0qM(` z->Y`B+ZiK<%5g6HHe>*HWY5O?oG)Ab6*h(h{p;D@m*K^QgZJ(M@*grG%{TdPW|g59 zARB(UriTaC8dAd&P@_DR>$c3JJn6d3sZQ5ftEX~*`A%nxGG=%`F34#;Pp?^P5x33_ z!;o2GzFB%JvtnDJgLuE#8B4T+-3X7OZFC=#`^ST0XOJoXC7J^Ug<0RT^lbc%1YaN3q#F)V)B6-WQ2=H@6IX<`a8}d zg+jm}<2w9cdQYD5c3k($E%{`*0Xec^<6P;PXNM{7edDK-hDa}%MjHhob@AB1#db;# z`D$IEQKG-xMIfTEf#bKyZG+k1G?!-D4=O9Ic>hE<{~1IexOt+ozWy7OfbgU|DXc(HVX-x%U zjiqrADLy_w$)tI!l_qS2{XS%6>6fO~#lEj#w94{!+EDyo@Brab<{WhoF*K}f;&vh8 zE>x5o__BOum#-&H2w>4*+olvAQ`V#67ybKdnB-L!Q)WDOD>$;ASk$YOC*ZjV4X|vn z1%kqr3j2zO`d@>>kTKh>c+=?dFa53>TlWS;&d?8~hy35%g(Kf|B3T#@jK>=fIF6z( z>tHiT(9uQOD7qs-zsvjf7d#Q>hS?p}EJ8*lanud4B{X*61fu+Sh0t!+|F(uS1Tm6; zYXW6qNwfEyD4K;k9U_?8e1XJC{(o{}VeqIOjVR$8-$z8-0^>8m?v=h{Fe+pFjR6n?=>}fe4WCa!g|(a z|9oE4ew5>%&*Spl%1eKu-Q^194&_D}rvN^Ydeg7-?}6&9 z{$Y>FZHJ$SN19gU!wz^a#0epvoBGEn&EFcy9q8YnkdWs2+eN#{5zqXse-nz7e~&BV z#W}^_ZveQ`{Y}pK_E4bLzdB2S5epGqBdONI(Fjuu$s%fN$rY&5wV0+>F+*7g5KO#2W*Ds7$4NiQvLuPTGi6G7bqmW&QetJS@ca!O_=iOi0@EA zU$N;vWefUzcfGQlDICfY@cN$gvOAXk8LaR7U^;uMSZAerF!w`!b~>BQJbG~_4E)*X z!^UP`#0Y?bDJUspiYbgdf~WE%wbR^Q-lTxqXUhOo>roducx<=Q7-vfdT269Xy97|5 zM4_Qa!DT;zeN|?kA>T59+0;KvnyDwkDcUnhOP9R!U7Zllzf(-I2p&$PlN5N3+f|&r z_I*5{&gQ;CSr*xXv6L~sO7=(j12)y$tn(t=2gk=bEdiLBUGY>^PPtnH;P<>@%f_h~ z0QpAQ(#t(o9n2J^`;u#szpoFu93b(F)Jh*38k)V$!mGQEbAxH2H>2+M>wL|0TMgI3 zGdj?9Snq@soA5RF$Qvc+_mEr{{LeOHI}rg(kgHmM_un%Zz$wyvcrWn}x_?6o!UAk6 z)1ZstKXXC&6VntvM*c6s{L9p+fvk?VD?s}{!^21bd`M0h?muxCuq`=^^9|0c-XVp0 zPMbwirnc*Ek%T--!$}NB%`h+cr>$3Vc&sL2wU#seg!;|SC9MGX{s|-qmdo|!8D6JN zj<-wZGDF`e#~xmv&-{K`Oubjf=Uy#UrEB_qIYP<7F-I8cHlNC7-n^MWr!FTa_+WCd zP??=Tt2*q$FGO(87~#nOd_AM|{bTrVij8K8%%&j#^?$h99gEMCjKPPyTlK1Bx0vk2 zrtTn+lFv*X2GnS~dVo0o>8wMa*kcy-=Ym@b&Hw;LSD(gh#*SK5cVa z^SK*};#&RiIi2%Ha0i?%;8pJpAnL+r)nWw^&)Z`fx0NrFpk+wA*z89o>VnJlK=ib| z?b06=jyqTc9IK=naYob zbj`l~p%56F@MD@{?`i+)#7I*Ev+>E*WXuAXDjad8*K|6etspo zE%lIWelOk+`*|@svFjcr6L*~;=rO+qM0mSD=^m@gp-MJS2e96sg^sSa*WfqQ4^Lap zlCe@II9Cz%yO^fr%bWVDCV^gb4)Ld4Aiqc3nNdqOJlQCZL0;3H2N7GI?6v zFN}DAymuQYB^1usuQXP#xGvlF-!z@vqvV*6rWgh>BN#p1p0KTx;x29cDNO)*-FTx+ z=!i3d{p+3ItGQm8c7t7A-p-MqnOPyGE7G9}is*ZoW_`csIcMHLIMi>ZBT3Rn^W_3T zJ>I5DOrnxczzhho4B#Od=;-J=hWdWH{7Dt*bsCxF1vlQ>P3KE{M0=5R_5`^eGPT~! zYnw?!&prWplMT$f8wFe9V=0F*d7mythNPjUm&YU6iD;r#-zVFv00BT-#&UraeaP?S zisZ?;_eGNKSC}a?5@PT)n&^pN_W?BNhb>r8%;d$^fMl*oE_FEi@^~iSND7N_zDzP> zVWmWN6pmmJYzP*N=s~hVgGKJ{wK)EDD5*ccdv=V+QO zt|#FHybjj$Wtsu#XtiW#B#SV}?j0i0onC?({*&na7-=@qT@^Hw9@vij0qqv_CyfHp zuwX^*e%&YF(*oZubH^_1JD%qWU++3zZ7q8)!t$Vk!}FLVoPLwM-iHRepLXdnngJQb zZq=upq)#WOie-QbYk?=}v6c9vjU_uW=(j05AQ$YwwL^P5k3Z{byDu}2R@+(%^sPKj zBet}fh%eY!S?O(YJvPB{vn?ewfo(Cb==|sYE>q$-O(erL<=|-k0a2bD;{MN>#giDH zuB)~z%nhd1(YMI-wTtA4tY?cAJvIYDR+;?KM`>nBo*_5fh3N4G0cEgB%k{Qb-0-)h zrnQ3i>(DV<7WSnNwb#fiTa8xKKmy|GLFlyB^{iNQO4e}`d|P0RqE(dP_*Ih;{-nzL z;c}j?vUT&*%k8p#gI(hW+(LUBh!TG#*>bWDM&S0u{k}3&D~t6(hHLRE=qeZPhS{#9 zkaBk4uusfO@sDs=R(uF`uZTtHlgTB)oW6b7>i5Sz3JCfqyb0Y8heF3kuE&dUMW2h; zO&&j-ah7!_c-Z+pop3!lF8KLP1a`bkwNJK0fd_n^fvN7kyqxYFr8z`z;7#I`6p)yZ z>A(Bb5#*gmaxvZz-Jjx1$n^vS5PIGC@vZh2x3hZZG07t!>$~74wt)AL#8XJJfSnuG zJ~ZUt-VQ}0O54laJ2O(%OL1#@@*osTbrw*$>oFrZ)2n6S6OIUQ=51ssWV5%+6uf zIi7Vr)|G8$@7Vh;s6MBKRrndpZA4(BmBG$t_;7i9g+cY4sdtB=0QMH=1>a0?Y%`;t+rgZk9 z!%Vh#I}`r|MJ6Bt!lI83hyBR1Z4e3+Yeb!Osn~43Zt&Hj!=PXtfrYgMvyC4-+BgnTCJ*-E=-bqaD~t(UPl|D?<~#;Gz5vxD_MR1a z!H0Z2&*RyW_^HMBwkT^NVjuaC>YY7jD1xi8s3MS#Zn2hnzKLlE7fUnCy&4P>lj9ql61TrRS|gg+`MY7SV!Ai< zI^6@w^ylm-H?qeM*Hg?hpw@M|oL}9wh2jzK3Wa)}@XYw#%@5%tnqX}4pFoc``j(+S zquTjjlXj)aG);#Ss%xPeULGd=w9eY@vI>H)8U@(p?}z8fps!kh(pTiiip(0itV$-K zjE|36?lPgzqw4slc}&dY!Nx3F-aDo1CL&0xPc+E-FbMaoJvgOEL`kJ(pYiX9d(_*( z3YwGNWU?9DQ{4eglNrKD^Emkh#!V8JM0~Dg(pdVA`aU;_j4vrBurn*dc_97+hi}p( z_}SA1GU?YR-WH*zBE~uO@JUE9NocPrjgux8lGgRPE@Dk_`g{}FzKoi`8oD zZkPcn6Bp6?;}V~FDxvxVi~h&EE-shpvK+Ro8T?7&MT_dyw+DL zboq`loW_Up`dmB4z4+8Pf|he;@H}?YG;OxEAvcQ zkJ1dngO*jCs*Tq^0k3%7r86}A%njv zkf?J?{M8VZm_^sxea1Md#6c{S$0-H`{!GXjJvdPPbr*?{Vs0%fyGA5_=XK#sf)*JV zIXwRL!olq7HWrb!f$a64tAzYP?m7O|rnsA1M_9*p%?DKEx$wdE|hk4>xtxWgI@zM7>soQNu z6G%7yp;qqrYi&WI_$HXitJc^e?0V;rjwZ%q0xqLcKh1SAHa+3 z;JeF(iYcbf_4(6*!jfEiaG00S?vGbtZ8edP%pS1uMmedW5`@plwF&o^cMEPMvD>-T z18n}7konM`f3&xLguU>8&eLVQMFbzC~asFvoCbPc!M*EZaj-*i+#qcf7Yk)XybPf>d8+z z8}_nk7zPE|BdL(Q1Stv|;6vPF`Jv1zeiU5{4k9Qw8aR(=3VBZ&yPw>e8L6oIy}HDi z5m)aD$G|x>Sqq4GCc_Cd62gI`8^p)aL`+I5{@`fb9w`*Ab*(#pG6|JfFaORU2y*up z$CZgZCjb(-j)Fy+R-p9?F@{6XN$f(rCqYf{{LGJ(d%WA@SWNc@{UZvfUOzm#W)2{2 z5l%+<42rwVg6ebiFC+|l%cM~>jiiueF;|YDPN0|&5Cj!oMZ-D+kDsUgtD^i3h4~km z*J}eaD|Gc;1s#YpN%TD909U>&+zC<$M7ytOIemj01&?%kLJZfLqT`=SQEQ%n6@V7t zMlcW>T$u|~>*jslSQK$|vWK|rj+Zkkhniap{q%6BDslG$e?#(##Q*lT3!Vhw5w=C{ z{CiiO`_w*8V8ypm_}nT6d@is93_468FlLTUAPiykMhpn7k7&(}Q~4n1xPt3RVQFwP z-w@O4*O)PbfG_nZn2c#qI_su2+`Zqw7fpj)c_{WK$@n3^8Gz zi<^i?&X`<{!z(jjiMN$zm^QU0$|N% zDwyoMMxt@{{XX0T^XE8$-a+0{-9K1qx1R>GiasGQyoC|B7$*G)_PDXznnYRFqP@Eg z5RgCplG#l3$0|AhvPxGInIw8lj&4pcqQ!^xQdm)}S`h>gnB(|yGRBCO+sq+X-Vwe1 z5glRB0_W5g4~&`*LT9+nzE3$vOTmNd8qxKyt*Zz_Wt0zhXfFz$T^;zgNlVK2S z9`Pw82|n*=>HylX09rj+EST-Gb)s)ZP%!dh$^f1p-a_&v;FsS6U(8nS^%AH8eMbir zOpQX>36DTw(%Oh|P6B7ZEGI7M@6XL#=7N(jnYvW~3ptE--z`oZO`_+B>)CT{;H|m@ zsW0J5h|)od#>=G5JzZ^N?2MSm&5N{xHO&`Ek9lqy28TLC0@q(Z{7a7Hl_e5R1V-!~ z0yA-FE@#M+!n@;TC?a;<^I)hG{C3jw?_zqSDP1{OOnN9YC7H?AT20Y&X}=fI;X{sc zq`Q2s2o&s`+b8#PR~m&ver6Eo(DXVGvNL_aX&*H#`&!A{!WQaBh=M4#50Ze@q{mOjj>i9rjewRr}p)C zhyjouAbqCPGrRvfo$A)VhUi_iB(Y{OvJRl1)=3HjDNH6Me)vg+b;?lx7@XrRa>$dn z_=-;jhgo)2dqWFtnXdE+t_I088n0MZBoO6TU}BxdbyLIF$%UnE2beR-vgEvSp zHg~?W<3H~FEEaP>z1Q~FToxo2M=1$`IB3(&ds$wxYbJhETjc0eaLj|MEh_5Yn2Us4 zy4WBYn80{hslv~BN1NP>2nG7x6z^I|nBxY}+~pT5NRN%(sZQMRB`}x~p-KEs&jk1? zW?saYyCwbaCOG>AFm&xTH11=CY@FTa3eB2`mpnOuIy7E4S zB>8S=fxB9!LoO20rto^y=Oi>AIjm8zRVN+#KwXVy<2N&vzQ)28Oql9~xHioLAP{AR za^g=qG)@%b4Ak z;;0L$@+zi$4JS)V4ddZZ`s?DI3qn!n5Hu`|5gtmI<`PnW8%+m#3Ac!(&&bUYO0-Do z9*vAm$GlU9b8~}yR5Tv%5hm7|ES#FZ?z7F(_L)j;4In_F?}F+Q&^?Ct%raoE(8BnL zOt&AZI@(Ap+%IMcpL;9R^$3A28wqMa>i0;=Wyp(}Nwrr4v<8_a73RyY>*4LlXSB5*{MO8i4cW@Lku4oF=W>%|ipor8oicQ z8ZHC_yBd9MG^~D@gDF;14Fbb;5ZvV)q6Ao=;I^!|cDo_CNcLkeRhBjlnTh|xY*?cP zg!+5LWJ2BXnGiuA?$5eVnEfDYMj%GBOm~^|D5A-Q_I1wR58Ep+gdR~IWWw=kw~}6n zUSUrz<%p_oazZ6ma+e}Cs64%!FGJElSjP<#Ou#0}`8Bms00;Uoi}9ly>oO+QhIiD^ z@HW5Fph3v*ChDqG_fi`tB|Q8#;I%!#3WI^D0$C%wz2eG^{>@Ert>VIm^bUVHVUAA~ zGbsfDn!>J~ku-!?XsZVjn;woGl4XeUuB!oc(0qCyUd0Ze0}8N;b@NF2;I$f`X|gC0 zG%=jLVOv|zFF-FV3&@1sSTHuVhS&D(qE#X=-ypfID68EGP)b_S3e=?E95;$bs z)1C=+gn6OI=Kk=3fE$?)Scj87-QidxcqjbJw|Q}`^7&6TcdgiqyF&sjb~p@>tuTh6 z{!1EF4ad!8KMnwJFa3{BU_03rq_D@L56bR;3)%3^yFR-FK(1>q?AgI(0e}-U* zedLgrgTb)(2+79%jhi9jf3p+m`L$2yT>(02nM0>A6fC8G+#B3kJ{E)w+wim^9s+FSEMh6yFfj z;F6$~xUfaGJS0CPYl=k|p2lYw4YbPlZ3_~1!XXXCSUAM^2cvAbsQG+oB-wS1#26fu znlgPe{DZTk(Q{Nz@oZ=4aEEIMK?x)6{QV6MP}80@HI!@Yy2F;wl)|qZIQJ)xf>=O5 zeC?w@z>2!YVi_|Y_~w!tL)$zmi+6LXFV_~6JiCMT)jC~DZ9Iu_p7RVoeI9+G>^apQ9u4<+Qw(6b|kTlHU${jOrXM)f8zKyicH%y^N>vjtwFwP#G*{ zK&^|aU*Zs+R6{Q~RWqDMPP5Phs89qJu&9Vx+jfkU15TH4Ld`HyBaJCkqNmb(!6&pQ{I zfpC@$<>KhbQqxWZMg@yr?Q%FX)D{ACD{Ec0O7W_E4?#G@WBp_@echj<+hyKu-yD~? zx-zx;4Ool>Wq9zC=%1__=V1 zO%_G#CGAz}qJ@t&2MjQjEdwcQ2hDza~y}t3tDjHDklt zOE?SCK*W@K=g7}5TUM-2yH*EFH3bQbnTK@vF+3R%;GXFMZPV3OR4e4YlDOG9Zk1x* zRY7MD1kGxr7RI1fUEfz9qG0OK`6qDr69tX9zS2@szU_Fd&ySe`M>bzV@lxIzHb>JX z9E>#APxF{_o4Z*UaGh2hv!`my?*l^D^OYo)>8yJb*MnG< zu3(VR(D~d70ZxNAh2QULIn;i6{&m-CC8cjJOG(W?4Z6(g{G^qZL0kBtfyZv2yU~{j!1}8pNyw!`SqHYh@HXlEs1jX)P}aw5a;GR z*JE@3ekb?i{WZ}Ucs`irBwzP?q~vH@25kJKa~Il*7$WdD%B|Nnt?7ER((?+eq*lS% z6=d`ioz%k;D77KV-^*Lg`dbOMNb+(eC8Q6%Rlj~zzU0er$W9va4_$3$@HjQ%{d{`Z z+u>C(ul-bth+Dvewx50ZlYJ^5QmdTYE3E}fL*yDbvTx)peL%4dFNZDoZ~Wl zL(VRuP`*~zdhO93K5!HMGv0$#vc1v0#H93BGEfM+4PS5NN|!l_ZeI|(_5g{YDY-jJ zi3g{R3B9h6a;@Hjj(>S+gxW=;&#+r4h?`CLc9J8aT#TjF^&==L7t+sZYCYvkL?M;d zSy1j}%z!P(EmV#{ql$cMejUPg?GIud9*oLVs>{8Byicqzyc`|D(Ro-k*~>=94lALO z3a!Yi)?^&K3E_F)-svey-02$~y96x7yqBz6E1Bo@J$CCZXx*wLzwG%;2aP0;!J3|_ zF5WDpBDAtigeesB14?o`E%jO^$Mxi^<4$6x=~$XBFM)kBK0FTF)2|jUd{}B~YP`_Y zHm~gbZZ-6SwT?Eq0eTvz-LiPDwTy}g1TO`!jg+kL*giNmc z`_OGCpzTyg^q1VUG*PQ}aV-5_ z`^v{}%3C#lxw}K=a{~ii@`9=55<6?d>iWO%=VJ+vO>?5U&l=X$N+xoQcRelg4XEdu zIZkLZCPmL-1>Dd13ejvCC~Q{ccuVSa97NzfF8YS7uGFNnJP+USY(@4G1~`ZccQM6{;e4VTE*P8>s>51LV-Auxcu4j#=~qsN(p$7wVJq>H(CZL_Wcu0@uNmsN zJ&>+8)Lw@t7|Q*`zo3DC`&B<(3rYUVVlla9eq^LEt8u>-TPv5#p^{6l`(&#FOCM3U zN;2aZ1xKQQ3q`6VYq?k`Yi(ARa^*GrC^KU_0=4{0C8mFa-7lt|P`~mgneA^fyu&@{ z=n2D#Jlj~(FH=%S3zD2ehlpNd^nCgUcV2ZRvnNWc3pB*Ypw6#fymlJm2(Eg2ou58M z&8bhN#9wB})IztsBZ>^AhR+>9IDH^9JQwZ)CD-J3k7wUeeow`CbY;ov~iaptqYPMjp1XFiW% zw~@zrS7lVlm&Gc`!<&|x0guyOG{{A6pGE6jlcJ~k+2Bm+Ehk!;$^radxk93(_y_y5 zSXH6pM6qSoIZP_EuxEkO^7OWB8;YnWirb$`5rSY!zt(!yLsv#70ZI0R$mb>2+u@yW z=>=?9iRu?h(vC|FjAJ=jA=mJ)h8hVi)jr5}ZJS(M%WQLDZzadOnC z`kbJUD1qj#%%yF@XNRT0fCm*I9K7UMp%O;mmfFag>)syJf3GZSs^??jA7%OBFVbn_umRi@h zpan^8RVyBK25oRt-c9;-A^l*K1!ap;FXd*`jHh)g<=VRzl%JFrMW+Rz-Ci#=q_*C4 z&Xeb5Ija&z_@DE#nFFGAx9562A>j`k>igK3yQp`^JY~0vYl92=6Y;*!;9=t!)HjXY z1|N8#EYsPdqQWx+ZT$$p3F)m-L9g98i!0?CO4BH2G4Z4;=e+vScEFyUvA=|+Ws|)2 zd1zsx4ZA4Z;i9~hw0VGMZi}illl1YC#e`Gn1dSV_ znSx+-=Vc!1AX?lMw*yCSOk)IPhy6i?TA2CDHFB{~UsFPRG-B_N&N|4Gg|8KI01uVu z$-TwNObad4v!_@EN#3y2XttZY%I{T?2;c|U6flp5ibrbKmD+~ftt*#`!Q=P5)3e=f zn`!)V6(#UC$rrR%ED|U;Mi4If9bj`R&teWdqcX=kY{2tH{#p_hxWoL6A#N=FPWt9>=T)z_F-o%+_o$ZTEhDJ57KM!*o$V@z%=@q; zq5uG3!Rg^J9R$HeF!m6z^uFLESzYQcdB>VxRCrg_w845V-EPW|@zGBsH2i%&*aP~I z>Sc>BcgJm%W*3`pD3$W97k2yQkV5u2tQ;)Ac9*%(lcKIE{7^qj(6&Eea9f!QmAQSZ z1gqdqOELMyJsn&BERKiCh9j*oi=5zanvHU+Dq)K5O>ohEwdruMFvQG(EnkVgpRQ#R zF2KgA&}4)QP)X->K_bIx6}PLP1kMJ3@L!F>b)bfe#(gixh!H z^--6Z8R`5Ku}hqIajrkFr89I0)+=&O$j09;%*QI*mr!cVhm!FFtfcO( zzC{*UQZ_bi92Py(TBUQxcAqE6t>i)1K!@E_onCJ6T!YV(NR8a;{YAt!$t$<`NiJi8 z)!cpeS5CLWvvgs(5X$&7J-U`8;yB+*_Qb=JOV9pWAJgB&nb&^SJDnjYHH^AZx7%@R zX@%zr`i`xPyNCwim=*==%2pSf49$hwh%SDU-ME?AKCW~nN(DBf$z3IQLFc?SiyG20 zG7C!{dqW%x&T&S4_bx}XkIqKzF+}5u;jax6Xf~sUJiRy#iFKoou2?XADS-kA-r&k9Y6;tzmp4R4d~*{Hf#(!}{6yjL zbaKG!t+j9;vdLV^b~t{}G|C@KzGbh?aNzZ`;5Geo!FNv`b5fAhAM=tDV8|+NG!0s9y=LN}BBW`O9%p+$G&)o`$#4+$B5~-n%6a^;t zoSp!`k+yS{nt;o0b_lB|$Zd-|qRp@e&gI8N81M2)>BI#h0S(I08qn@hN>u*iW#qTl znqG@*x#yzaC!w;(x4fwWBQe9U`nQ(<;V6^-b392bvC=S0AVuZzAEgCk`haUc;vFf2inL_ ztF@Mu&1|@IGewoLBTQ!$===^Kl~NVn$hU8}tVH-DJ88N&Pui?3xOay`OJv55*2y0K7~$Th&@CH$YO!sYIUdc4j`tnZ#&_APd1p zB=meu<#AMQ?ULdg>`CRPWc&RE!5ecT_AIIX5tqQg%eaS%p3Le5Rb#5Uc0(m^Gh}xOB?cgebQ%J zQE75Co!i%~ux0wCO5eKD0T5Nm`E}hlf-eCAV#~PU7Qo=+6!R$8Zb)J^9Zt!`A?yH< zy$%%4ZB0#0fm*p1tLw3b2SD5$djQCmix&3GvR6RA8Ce=)BMCcZxmMjb&zr*`pcl+O z8|mqFMZJC~a-ipl*>dS;foF%`Bnl6Q#iVdmhx^55)#*tL@*BtqGO>_-a2kh-la}=I z87T+@uiSshIoWqcOADp!%`L<3M0RES0=T$I#Mb4VPMaK;J zWvX?+?LP(>Z9_OAeAO{zLbXEx(=*MmHI2jCiiC&pxOHF@7AX?ot&)C%nY{ts4AUu> zLqhBQJe+MBv6|f{wmx5PD31}!GCjCtQEdKk6|dXqP&3zXcBS_G=%y_%aFbUcT6Bes z9sH&&{pXtJQ-TLE%|r?dboT2!(4S;=px$194`J&TRfb6}(YV^uMxk@F^bo_G~`_S|TZh5xzQ8;xL z^W8JRCZ+dL)cQlI{nOb*B;Yvy|jON@&%{N>Ptss^w$8Rq;oYRtx1J>1OwkrmOZ zW)1n`qlFkbov^dY02YeIqIwIdOfbj7v$5$G(Bzc_6e5u7=i|sF>F1zQZ$X?Oj4&)P zmivBHX1Leo5OumEqjvr1v?1@w9-IbmtK~R@PU9r4UTfo0e>T^e_sohp@Xg&6q?tn9 z;AJ=+#CI2PvsNeor#M(xIP=Tl$d=pDP+r{$5*M`^-((z&17h-G|Z%Ck!M#zh{>P9t2bjm{|?};`98T zv|V059h(iyU(GHR*K@dQN@A7^zGXH5V4^N;zdKvAFEJba4Um8feH8WM`-C&R5#=qk zUGD*spw7)P13&0j+uf?QB*&|&m{l9lBS$=t@w3N}&&Ly2Du)@tfI$HFW5?a<4R0%# zlHkKO)xl(LyZ7x9A;*f3o}9pqV$jk;)YCK2X`#U(ZDMQS)Na(l|WR*^~o^YULjzcUNx9|zz zIrGnFT@MWL#Vop2I?3`XK#r)h&%iN{?h!M4Yo$osp58I;bMC3(B#>58gS;_5D83gT z=RKmh!fINi*YWno+$sRajj>1I-tAAV+$S8)P*>xyROq#}R#OMAhiiKLY8EI_K7JZ; zS#X(4Ccz=No%>A+)7d|iB?8Y^+#f}dUd&r&7WCfD&=P3pv&weMYF^bKbIk=@_9y8UALfpY@CIyjFes%U}2iM;suoe-3rY=*X=LNWvvHlUG8%5;qkZ~a;irh zg-+Yr{B%QPTYaJo$d*AQ^|3$e83mYO{$Sotc|2=DXLsN28qGq42tX{sAITz3owH zoU=X$ZHG*9gvUppaTN9l9CU))MEndP`n~MepT#E$2APc?Q2|1{iW}Tr>dghv?8|r4 zar1rO!TkFs^NySx!|qkz*Hl@n9;3}Nt-4{^x=?MX*5738x&WI>A|+tmU;p*xIchRT zjCVH}oF|D6>V!R+Su)SIMQMwpf*KdGXns0viJC_QryD?uPG9bfd=|vO>EB|;4OOGl z(70S;+-k5`e}cuzaL9IB^%xi>4kEiFuy4&}Gv>qFvcqNR!R`XOtZB6CZCEtB{cyQ^ z?y%TDVZ4F*0-TbAjgL&pARykh{P|x19;w!3ZvptQ(66vYh_EqHO+KKD9{Dh!wA8d- zb?w_6m+@-nM5E93^Aw&G<|sCE+~Ik4G$ars_z@uFPv|xQ3W-fdLSTh%dRpyyW93wb z_KXigwe5-PqS=ZVrADN956Y9QnQb?zc3IHPD|bC1W_MLOL=r(&?5OvBb}0b=*rs^@ z&idvsGikh^P2#>MG^P%XXjn=LtsM#Vi6E2A{N`vu9`*EyKK`6)pkwVs)pUw7Cghph0H2dGzu^r>nTWdlDKXI5ZM<4q(}yfd}AFrc~37 zquT&lYQMjRd7dV(ib6OUq%YqHpMqcuMTe za$=xB{^@7qeKq;ah4Hr{^`pPm>|3x{XGO z4pO?2Vnv~n%zmu?D$m}qvsqWuO#FVM1WG~ZTH6UhuM+Uo3gdDEiOT1dnLowI*?LN9 zL1e;w6=uDDEu$%fs+gv&Xuj?GWjm*Yb(nV=9q2U}#w@*G*WVsx7?qqBdweYb8|X=q zLcx%JFl=iBDo;s+X&f!ii-nP?OK#&lh*gs0PvXZY^;k!9N15!L5K2N^JX15m-7I^N z_Mp0U7LO-y^KBQJHr)lhS&)JIRa?NYlHS{|DBpG{VWh*J+|-KD%@~8pRCe1@!Tr-V z*n9~qy0a_r;BrQOBvK72;=Hh+;74AomPFX$Oi>h??X25_Z#XNiNJsf zP;qvgQ_bAU)%cMX5S8LHoh^&Kg-_cuKp)qoZ0dVN?f_v|*9y-xy{EhLRVCd6?-`A$R)~={^O+MG962vs?yq)=8%LEY1?>m zI(Df-8h%*F-WiJ6|5L@8heO%LeO%LsP?m_YC;K{af zNoCJ2k?doMNy!!^VQ4I&c#yKZXX<^P>wT~5{&TM1ocliK+~?fi@A-a2pf{>MJ|@^8 zhD<)}@8$ZpVAAq}o#n>ijj(R>DrB9j2dCSCg!KzU0K1^aRKC>73|@Y0#PeIlR>?+v zJJO)dE1#k?n!s3tTQ3tI4yGSfiC zbBS!y84fdm-WX0m*Xi>y{jmkd%85yQ+eB&c@iX2fo%Ah|dX4UZ-O>hy{tjz-D)XZX z)aYlbF}z9d_g|;7XY&)Si0HCCpPcXMIM)F(SvnO6Jj9#E^8R^!5>{=6VKQOp`w>97 zn(ugcQJN~^AMd>%vLoj_gTX$4jD*GQoQU*~v~ z{=bUuNGwV`E(r5Y+b`!k)R$%gt=AhTNa}7E4M0NtOecYQ#CFMNCK<|QWCwfM?=vcW(B%&~Dg;wZDFJ~Rh>7r&Hs(hEfKO(?H#CKuQy(%-J{(xa%^E}Au?i`LWagDLMV{BjOryizQK zlb$#(@BUQR5N~-aU(7IfLgvJxj6|R&ke=F*_5R!oh8^7Ik6oKQvhTj;2oG$jdMK~_ zVXtrP{nHF3QL`X;UW>E7K3@fN_Vg^Uv|h&T2CTv5c;4}Acio_SE0)Nfj1oZpB%D|I zN8Bu~E9RYv`gQW^M`x8*Rzg&_*@Cz*5RF>SPYMwG*HZ;lll4E#4eCEbROq)=vlV6e zrKhFR5LhpR5aMQM7dHqk>M>i@+Tjdxp7*$v$c$EbOr`a`3jWewHU24Bd^=?Q<)lZ^ zy7jPsA2wGyS#1+rcIV|GuSm>^eB|)OrvY~*=#1l=&;u*Hy8{DSZn{;|@8Lfu-`ngh z8ARDsk(irNX-GLI+jOym6YN7$+ zi%j>}J9X*IwopdSE@-s*m-ajU*FWjP9G@S2xRtxm{<}S8{8`{&RnyLdj?ZsBw~8%j zw95w%qYOd6f-e_{V^_+?d&i5mK4V0~v^iBqrA@(bPGD8{GJ-rXq)OyC+9StN6l|C# zyfm8yy@-2))NMk=zAr1-A9Tw+tNnXb5=%tO~$P{`_+`PfCNcn z$am+dISnmt(T%s5#GF7$b`QqF5diXdN9vv3NI^zuGT-rS-hT_KT!a7r_oN3zI&xqCFEQ<6Y0ZIIS9ljE6D)#X6A z^KtCK?+|azV{?yO{|UB&l%&%cSQK4NrgP@LEWD5(?0=d9Qz#eznhw>Q^@7OEzCdqu zInyO_1TIGdD}&RR9NRcHIEYsrE8It9D|*FDduu78f|?^9)A@KXwV&*a%x_o>YnXfg z8uS9|xrYX^P`$$Yw06v-N8w24F!)p=hZg-IqhK~VW7`X6rBVR3 zvV*{$Ur*#v#H9%)vj4o&&JxL_=+G0m*~{*SQL1bF^`J%Xa^d;a37Ob} z)zuhIxnj*2mi7c2m;Rk9qfCt1=_RiYuIY6CD(PoJsC8_+iH!^O0+#C!I1z3tzd745OV(A#jm-ca5&umUam_B z$2$XJDp>4gS6`uiXmN_(Ecce|hN*fUe1VKcVb3`W-6GB4DeIqUm7zySDPto_wqT0_ zoCxQx2iyY)KT{_%6daR~YuK$l!Fv|AK71^ZgSQFiHeL}xTYm5C;$$6HFbV5Q*)Ju9 zQgfsSu8fI1PbA!DlbkzAKXA@-?cmRU=MF{E!XlWD&KNvpCS@X3wf< zD(+;}9km-1IRm=vcBcX0Xz=aOYIsLeQ7h6il?AM;xx`J{2~*qCA?mdqm`R4YJ1Y(Z zN9;AQ>irREuWEnzC-FI0(d-8{YCKYl9Rm=!c6{;ba7Y@m+C{B`P%h~F29}~BK`|H- z8@ts2MS)f97{f9c4brHVaR~>8T^cK?6EkncEv3u~_d%9eGkEE-4+J|F!)VKwY5TEG zV|j}GnrYC-hW#>wP`j9-4dNxuGhqTc0t-&adW>g|xjRZ1ZXq@OxYH#)-c?8ljN%73 zHzWX1Ba#x3o`0yA>|6ET?6_2cuFN8*)9!lmMMXs-Myi7oJNP`+c3cX7bSFrpL%+Ft)pRjTxy?6X&yFNeukK#D z+T8Y|BMrB#fvj#Q0+h}Vy4cj*) ztICa}^9pe6myPr}LVSFlMJ1*wU_Lym^SS!~a8U~1E-w~^?mPmDC6 z-&u(owQn7(GHbTqO?z7Z6NfUrMO{qs*jn<52w#2lN$gxk_K!316!*E@Jp;Tm3aOw# z1r_2}y(Ft%>DuH&vL!)|T`68~CYj-6<*$QIMwV+co(i=X%l2i{5s?-QF}qLPGz&@~ zy4`*Zn)k%8@M?^hFA4j3NLo^oAYsdJbtRTv2psW9#>w73ucJyITM)huLj>$&tS-HS z%W3(LJ4UB#yv-|JgqGP<&dkWbz|?`i2|<^Gv!ECBs0f(jGzA{vRy{%M)7yZ}W)Tv< z$=r%~FK8iEo?xDZsR;XX4ucFY)-5iY$zEK{@?@9h=B6psu|&>fL!&8kB9GZIg+lyz z4Nb%07Lw$0%J}!*r_?;yzP~)dpPFu?OsZ}%twB(Wn#rjkrh8Oqz9vIGAp1_W`rp<6 zFcBh+AyYRpxW4_9`JBrfAB{8CRLgP!nwYk7{SQ5Vf<65?QMEkeNIxV+}N>N}~R7EhFL_=n>$iHgZe+}9w0yT})BWDcdp^#VLkvadN73h+w?mdAy_Hi5& zk&_!G^-WDp$$Cu61OrdD2n5Z2yQtaAnl@Q6*zdJK5JU?}-FpUXikt(W>4n%tEDiGq zZw)C91$)SWCk4oEv8DSyBn!%|F|k3c7`-|pj|r^-s6xmz32+cHDR?|Us}dOI0`v;| zm6BXfS;%@0+Dl7b?$rGNMvgvU>|K876A#`<6jD$(x=)+}SK$+bp60zG zA?N%?rrQi)6fi#XqCC5MUvs_2GRHK^0jjIt$E8p=iG%-pv}Zie<&dS8u+cRXNZ%{H z1x+%M0k!D*k}WBRgEe|+HO!!#C1)j(S=6!QxB23~cQ+K5$qNgw0ZWVeyx>MkUY-QH zAh@Ku(XtCup%s5Rt)M`Pm?0_Gf0{>4g#N4q6YXt^x=bwq`p<4Z=nut5JBcdp+goKa z7jDM2G+zk72Jnv}4yV3p1x3Sx+}zysc4IWg+d>0BY!ACMx{m6KSypq6Y$s_0AmJmh zlQ{ASildNi=&+q7hPh6An~QzJoLYVqZULZ)EzJ{fhCF=o<7L;i0Ffk9*jR?;2#A$V zfI`7T1_GqS9ss;S$^7@W!A6Rt76>YBUW=@z+w8|$QV=#8+9yF^_BufR-C^ilyT@;G zid)6}dk4Vyjnv;ppcK8T?|$6oCHQ372ZBnk9@;;>`+En1Wn<{IcR2*cOK=|fG^lb2 z&`#;rL=M zaZby3gTJk)=%ORv;Rr(d+||L)LShctXw8c$6#R~$U2(%}@KEb?sI+`!mUa{>CmPVk z0#^1*r}`GaBS^p5;5BI1JT7fbu*HkFok;-pkz^f-Ns}E!Q z%N)to09b^i7vwlj&ss*EZ|W^~g4p8?S>v`^6^xi)z5j9&tA3Lc%qS`6d)xM3+n(s{(I?A z_$I0IF(nkA6{iHU9 ze{z4`$$?VSJ5K}X{?zW{U9SSwph_D~U=}MGMTQqlvQVbQ-;0j{H2eSXvOwd&fO_%o zKT;-s45%q%2NV1EMMDMNnGT$kZ-Bp7lnl6;|6ii>=y>eZ$ou|@83sT$rP9|i(yrFD Gi~b*Vor_BV literal 11332 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 diff --git a/class_a_c_m__inherit__graph.map b/class_a_c_m__inherit__graph.map index e4539e38..dc72c98d 100644 --- a/class_a_c_m__inherit__graph.map +++ b/class_a_c_m__inherit__graph.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/class_a_c_m__inherit__graph.md5 b/class_a_c_m__inherit__graph.md5 index 45076903..6e76693b 100644 --- a/class_a_c_m__inherit__graph.md5 +++ b/class_a_c_m__inherit__graph.md5 @@ -1 +1 @@ -31608a70a906384c778b5b73a8d3d880 \ No newline at end of file +0dd94ad9ae7f9063d8b27eae0ee50e3a \ No newline at end of file diff --git a/class_a_c_m__inherit__graph.png b/class_a_c_m__inherit__graph.png index 372674a9321376e2acca49525c9947a39cc349dc..76dcb1fb68c8e46f0e37731e1aac26d9598783c3 100644 GIT binary patch literal 10355 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 R9}p8l$w?_oR*4%0{U3fqsaNR04g6h!MlVN1c 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 YvO0j{fk`j}U0^^(K|{Vm_VtJV0cnXTWB>pF diff --git a/class_a_d_k-members.html b/class_a_d_k-members.html index 9ba07297..774ab07d 100644 --- a/class_a_d_k-members.html +++ b/class_a_d_k-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -117,7 +117,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_a_d_k.html b/class_a_d_k.html index 68535322..99a56a7c 100644 --- a/class_a_d_k.html +++ b/class_a_d_k.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: ADK Class Reference @@ -31,7 +31,7 @@ - + @@ -100,14 +100,14 @@ Inheritance diagram for ADK:
Inheritance graph
- +
[legend]
Collaboration diagram for ADK:
Collaboration graph
- +
[legend]

@@ -169,7 +169,7 @@ Static Protected Attributes

Detailed Description

-

Definition at line 67 of file adk.h.

+

Definition at line 49 of file adk.h.

Constructor & Destructor Documentation

@@ -241,7 +241,7 @@ Static Protected Attributes void ADK::PrintEndpointDescriptor ( const USB_ENDPOINT_DESCRIPTOR *  - ep_ptr) + ep_ptr) @@ -410,7 +410,7 @@ Static Protected Attributes uint8_t ADK::Release ( - ) + ) @@ -437,7 +437,7 @@ Static Protected Attributes virtual uint8_t ADK::Poll ( - ) + ) @@ -450,7 +450,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 117 of file adk.h.

+

Definition at line 99 of file adk.h.

@@ -464,7 +464,7 @@ Static Protected Attributes virtual uint8_t ADK::GetAddress ( - ) + ) @@ -477,7 +477,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 121 of file adk.h.

+

Definition at line 103 of file adk.h.

@@ -491,7 +491,7 @@ Static Protected Attributes virtual bool ADK::isReady ( - ) + ) @@ -502,7 +502,7 @@ Static Protected Attributes
-

Definition at line 125 of file adk.h.

+

Definition at line 107 of file adk.h.

@@ -540,7 +540,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 129 of file adk.h.

+

Definition at line 111 of file adk.h.

@@ -619,7 +619,7 @@ Static Protected Attributes
-

Definition at line 83 of file adk.h.

+

Definition at line 65 of file adk.h.

@@ -641,7 +641,7 @@ Static Protected Attributes
-

Definition at line 84 of file adk.h.

+

Definition at line 66 of file adk.h.

@@ -663,7 +663,7 @@ Static Protected Attributes
-

Definition at line 87 of file adk.h.

+

Definition at line 69 of file adk.h.

@@ -685,7 +685,7 @@ Static Protected Attributes
-

Definition at line 88 of file adk.h.

+

Definition at line 70 of file adk.h.

@@ -707,7 +707,7 @@ Static Protected Attributes
-

Definition at line 89 of file adk.h.

+

Definition at line 71 of file adk.h.

@@ -729,7 +729,7 @@ Static Protected Attributes
-

Definition at line 91 of file adk.h.

+

Definition at line 73 of file adk.h.

@@ -751,7 +751,7 @@ Static Protected Attributes
-

Definition at line 92 of file adk.h.

+

Definition at line 74 of file adk.h.

@@ -773,7 +773,7 @@ Static Protected Attributes
-

Definition at line 95 of file adk.h.

+

Definition at line 77 of file adk.h.

@@ -786,7 +786,7 @@ Static Protected Attributes diff --git a/class_a_d_k__coll__graph.map b/class_a_d_k__coll__graph.map index bf78309e..34e05e28 100644 --- a/class_a_d_k__coll__graph.map +++ b/class_a_d_k__coll__graph.map @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/class_a_d_k__coll__graph.md5 b/class_a_d_k__coll__graph.md5 index c2c6b78b..2341756e 100644 --- a/class_a_d_k__coll__graph.md5 +++ b/class_a_d_k__coll__graph.md5 @@ -1 +1 @@ -2e6322ddefaabdd4987b9151ceedd78f \ No newline at end of file +37dc8161587ef9d91ca02f00e06d8d3e \ No newline at end of file diff --git a/class_a_d_k__coll__graph.png b/class_a_d_k__coll__graph.png index 5af0f7088142cd4ef5fc139211a2c258e0978bfa..d06995bf356f81cd85814a8bc898ca7ef15e4a84 100644 GIT binary patch literal 16893 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 i0=x+G-yPA7pGB - - + + diff --git a/class_a_d_k__inherit__graph.md5 b/class_a_d_k__inherit__graph.md5 index 6d21bcce..007981fa 100644 --- a/class_a_d_k__inherit__graph.md5 +++ b/class_a_d_k__inherit__graph.md5 @@ -1 +1 @@ -03c53cf522cc8ff9f04237eafa91cac2 \ No newline at end of file +bf61a3a2026b57525489bd4fa1b38220 \ No newline at end of file diff --git a/class_a_d_k__inherit__graph.png b/class_a_d_k__inherit__graph.png index 4eb953d758ae7330fdd5c2bd1afc1f57d08744d2..0bab480fdee8e6869c75666e5d1503a7af6be13f 100644 GIT binary patch literal 7832 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 literal 4490 zcmZ8l2T&ACyB$#h$x6C_ZlFypooG?yGvQ>is=6(=%05-*kWH^w;N1vXKFdnu3)A003%jEvO0DW5Lsf zoCLhuUeA~VJ5snV3<_NRdla>oX9B?OhuY9bX2E&e`C(@CQyu*TXOd-+2RClqT-BgE zLau3;Fz%Tn?22z{(EdpY=4z`_)2-RG`e#NisF#@ph7<`lCV(LyOH zMM+8241zyjuzG0f4Ii!1jGxs1j)$cH_iUl%#m>CK z*5T;GtBaLhN}zKjUx``7`q%F6(%6`Zkx{3!WRBi?gZJF*+}t&QpP&B~lL%Zg$4mD7 z^bqGKH2Uq^=gP`V)1NE7uMXFT5BK*6F__HiOw8KZ+1b0SEEhL7+R9jYsh`2{Jmrvs zcOq?9SJ&|WGCGrhgNJKrn?4((AO%DL(2X{0IGlg8Ei-fWJ;MU=oT1;p-Azr$M@B{{nMDPsmyFAh$Okeqj4?$o zHYcwEk!SdO5J)?iPk;G5OtzSC*?HK>mSe4ztE;Q91=69`N}0oFd-iL&LB5cfSWrL! zvbvg6DG(VO+xow|qIN2L}fr1?pzDmIM8R3t}Cu4p=md zDdJalc1CcAnQz{BczVXh#$E$JoNPr2Gj(n>G&GXstxZkR($W)?lVkWJe%*IHJw3?B zbpj6`qS5H9T%V4R{grrCE-eFt#jl>s`37R5q6XU98E*sp{3xiYdpEi)Q1tZlB_$=> zTU%BS-hps|DH$u%&3^Fs4kP2*+S(5+_EDKhi1H$sC)&I6;*S5^0P{SLW$||IJM4-j z>+9=_jEr3ELtF=HX101?F`u8F#>dD1n4CO2KX>A1#1mh$NO33!)3LEp0(%DscPQe` zgub@6&W(@zkK`$UL=_Pc=}%>!tACn#1a;t-l9c2dUj`w?c1}~vfQ&T~5 zOyex8pUlk76)FWiyZE!Ot*s5Np25LEAj-VbqPMTl)y0L8iAkqWnCX?Sj*jc_2XO3; za5zbK4Va1qYPN&JLrO|YOO$myBe)#oWM%u-)m!*tyP5*GSuF$v1U`XeuB#g#7$66@ z7$~^OCFSJE03*RKkd^)5goFeDK-TDROBFaeIzC{ktf>(Pxd22RC+U=#2r@7;GxxTp z6}uZ589jOOTQadUeo4Kv6Es({A1 zsE^OCoX?_oj$TB>WwSqyl#~>#3_&km+$19-oSbkxjBKl^p-Wh4umQ(G4Uuror;^A+t}C`tO^SY3%qP4SanxrPfyR?h1SG~ zLY2^?r0!+CTv@L0Pg-5GK4S)KVU2BH(QQ;~yyvf`{ zLqpCdR@T-um82B$a2FSuY2&{V_^14H-hco|^1Gab)8rc%YH9u6*|C@@S1#>0{iHNK zwc-F{+*LtnW-i{9a-{-P5At~-x2?2K>E)md2pe-w5b_dO+8tDkxLM8luU)$T-XJm% z+#snz-0!QE4n&X2O-}8`J3801flJ#I?p;<^_KI1|0v;b5&9&E`MyjbP)Ck-Hg8%F- zw}l**62e!S+rtPJmX@o+c+Am>$>s*q;jgmskk!6p)$f80F0QT(k(Z%mW?w@NUCSnT zIT>!+RxM+)1<2KWUwBVV?e>4fI!b`V0Ba>4QuymH47x@7psNCefV2Z44Ls%H+V>B`Q z-Mb*@CeItN+nl=k5`LP28=W&|C^NZFBp%%${zqIDOYb& z=2c9fCsLsBk46E1_NZyo;#S}xX-uAf_4dBt;JB4YyF^E!ai`n(@4c9t1{-ksBGH2D z0MbrL*Dt?Yl};l29IR6l=9Q^3(t=WpW{+4|XDv{Q4Zco7+2_PMU)4!eE@V1cC@D0& zkpzfS!!8j|(BY9wxI{q)3Mx}L{9Sz9gHAhU4!(O!dRk3FOuXchoz5(5n-9aAOf4~Q&k{9O7>Y<@ITGBPk0Ray7_6e*kG!+>*0C@1u z=H(TD`A1Q4uT-09X67mu%@;l}LQ^u{PxFT`xs+C8<#D3J@Zun^uI_8*xcu*N4M(9Y zNw-vWW8;aQgye?tVTGzk6D{lrTewIs#9O@SmIhBB_m^1Kfn^h#Y%0UPwh~L zD^OvdnCzpZR1&F+DbnUjl7FxjV8bTH%bPS@ko)G2YDpK}4T&66eSP$vSBsD&GMvJ^ z=+md1VS~y_&#bM#D}q&gS7=)U8R;rK%#zd4%HUI0mKa|c2PAaZwfu4)CKdfz^YvNC zGgUu7Ary*NN@|x*1bTY0X&;0{@%sAgGPdv4Q(L_etL&EwHsU522Ho?Jq0@kTx ze=Z4q@847A%84BuU#7T==%{-~CjQ}pORzG$ePX=7vhhPpG2#K%?`x4o_HIRwI9ye3F5 z^U7weq`W+{fMWnhsitnI%h75CgYx*g|Hc<^IEIE6C9u%AzXvH`Vc{exIh~cI@9UeL zG%4u^cM>zVkacmcK_UC-P%aEyib*Vt6cjsi)6d7oF-c64cgDt^fe)ZKGptX?s!2f- zi+>X@H5wX>8=pb=tq1l5MXPefxi>nad5Ys-^RP0iYsD6WmEOYFcVP{)WSAqF>aL)^ zf**gFE%xwB@P2)1>GAi9^~T#NeW5e}7hMvONGS1HI;ehvke0J-X6E?zeP+2y)Lq)cLx}BB&!b0pwU0^e3J2iI^9odqNg5v`k(qn0S_dHmYU-s& zhNwa={tQo|a7mLqX(*dfNW__durL&1@>KJ6LKqDo?((gP{@%rCVYOn&fdJN;biF6} zO6g_C#vk98FxYX^t{Fp&(_d}!fk@|zU;|^UdU5=KiP_Qfi{O#{)hhvO@!w zS24j{i~T6>AcXAIXs+iS?y=G+>ne} z3kl^2cwRH~je=bqt!awo8NCK9qId1U*(N80+jvt)hiJ5pN+iSCpS#;TJFTHICL)E$ z=D=_ocd3MojC_P*#ovGPN*-8}TumD>AYNa5ZEijs%Hi^sy8B%gj3r>$aIuz+Kwnyf z{Wg*?W~Je1BhLAJ9ULT{oOGXalChF}yiMikfG)9bvqHQa4+;4pE1Os6hS~SA*7&~1 zzuQGl{(gLVx^MZy!_7^_sSi3oi>i8-nsRo`dG)?75T)4uL$lf4l8T!;Ch0nfiKnLx z1!aksm!7Zt{%|fqH=C#&(PC$9%|+$8V28M|eGKxqwbkeJfLB~^aP(@V(;=XHx`3lA zg;ATFrz89{4DoU^D!iUhO$|7BA+s~O*8M_m-_C*W3lg^-wXwFMV!W}awS?=|I|@Kl zetw9DhpP5qW_wt5>J#BG0@Gs0Liz_*2e%%TD4B%Nqrkx4-(}8ju8Xw|sY8R< zyi)g@*s&(_gdde|@cT2F0*{+og{An<2}^7xC1PH)_1{Mg{ofQbLMxrfpZ37tf;9o@ zWdhfcea8Sw`O=9ARehZl3%W7?tB>Wd8W3J$WNFdQuwK(IwWaQMb{-)72??_ta#|(Z z5^>TA37}m_-`VM?sga`iD;?_4^RbV8t58tJhHH`03~f%+06t;(%Aj8+?CknsYxQH?)&BONYuaDKWLs9*cFDH3w9GFo5VmGkx3=ywGf&OToPrj*(Pycz zzrXr%U4rzy5f_ATGbJU3hli&?Ib>{UDQ!F2(aO?t3WIrNP!4*bz2G*^mlwX6cOsy1 z?a?u3)*2mD=euKWZjN=AR#IvOwdBCv7tf#n-q>gfz`x1QUpT~#-ZHL8O)toVg@iQ6 z#;Q9xt=2ysud+vrMv!Y@H#R^CwMoq;3x&a$nV8-*u<U&lcMT zSNCi3K{0-tBHsSxrA!Q{@-<*Ex48yyUteD`S`N@h@mYWUtWG@9AfCj_{R$GkwfO%N z_ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_address_pool.html b/class_address_pool.html index c012fdf1..6d7f98d5 100644 --- a/class_address_pool.html +++ b/class_address_pool.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: AddressPool Class Reference @@ -31,7 +31,7 @@ - + @@ -97,7 +97,7 @@ Inheritance diagram for AddressPool:
Inheritance graph
- +
[legend]
- +

@@ -124,7 +124,7 @@ Public Member Functions

virtual UsbDevice* AddressPool::GetUsbDevicePtr ( uint8_t addr)addr)
@@ -192,7 +192,7 @@ Public Member Functions virtual void AddressPool::FreeAddress ( uint8_t  - addr) + addr) @@ -215,7 +215,7 @@ Public Member Functions diff --git a/class_address_pool__inherit__graph.map b/class_address_pool__inherit__graph.map index 49b20724..66333225 100644 --- a/class_address_pool__inherit__graph.map +++ b/class_address_pool__inherit__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/class_address_pool__inherit__graph.md5 b/class_address_pool__inherit__graph.md5 index ddd2f53c..208556c0 100644 --- a/class_address_pool__inherit__graph.md5 +++ b/class_address_pool__inherit__graph.md5 @@ -1 +1 @@ -676acb0e629f80e051f53476be5c2250 \ No newline at end of file +120a062cef01918a52a6cdb4ddb3eba1 \ No newline at end of file diff --git a/class_address_pool__inherit__graph.png b/class_address_pool__inherit__graph.png index 4b20bd8dc9e1e958b5e8972bf27691e3403b2375..c619aa081769aa5947f37b8830927220b6739c1f 100644 GIT binary patch literal 12022 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 literal 6066 zcmYjV1yoc~yS)+$ihy)8gn+1oAV}9xN;lFSO4rZ`A|fT-BHa?wgLHRDh%^#I#{kmr zxZeM-_twOnb?4l3zO%o5zSyBEO0xIwQr(3h=)SxhTn$_=!N(B?1AJE_KgEK}ZPQn> zaOmdW>+6qvaEIJV9xkDQNZU!b5htFS?^5RD(}jn@*hwE~5Rz(;w6Z&>J=K&*FqUX} z92WQqoBTCr=MVJcr+Xj29>2yeevd^cQKiD}rRj(yCyc}3fZft%-p0U9zA!moiQ(Jp|9J{4Rpepzk#qjbDCJ6eyaA$XUU7+O?Rl*nmhX<=bPuBELV z_LLxIa&ofXWt~pYwP#}DIRk@9z;kLUs)mLJW;=Qe2i?AoK zRaHl|jeISvttludl2TIG*)XB`Cf_$^W>UFo#Kgq+@$lZheLIvU(7t}uYhD=?)Skp` zX1~z%l#QRCf1%OydreJ(IPC3A)gvaR_TRs~XX~66{BN!fSNkh8nV6UwyNz}Jt%{9} zotKxVsi{duMkXL2kS!BI_1u;O5|@_FEiQhgBBM>mZ%+e#EiD~vX$g>H<}hlS9UF@o zUSDYPrIsLMkDr;E3Q15@R7`xLdpMzOlu2z^?<{R#Knu0396->{&Q2ivJMot6g?2h? zFH~=DFD@>w#9UfNMzd+>r;UvbZnLg^gs_#Bl>{ZSw=e!Nr$IwbVPRobR#sk~mZ9Od ztSnPg(?c{$T|(EIvskNC(C_l^#%Q+HP?|hTY=tIA;>CfNP+)+IL&wU}(&*2h%qU(g zj>P`;Be0|3J{>|V8#}v+i3w~7eR6^UjkuLtF#Poq1y1o{*0_RQoa~H`j|aIpV6`y) z5YAL#Gws*G!NS-??0@UL!^Isf*Wt&m5iEDN(E|5BwB{9oqXP0m*l0)o(Q*EVCue78 zr;z*hXW3UB^M+3~C-_2ZP&*T>~(M@dT!5D3AFDl9^dw%gH!~c4GJpb6I zi6WxMoH1Iiq~!8Wuw+bw?<$tzd=FM2EFpn-;fCuD5y>Ces|(DxN-#pp!4#Y*T{Q^I z%Fh0$s_Lmmkw7T3a10g(g^<>GZ|}>5ll1h`?#Ky}D>!# zcTwvZH*1@MiE=*Osmw&&utlC$PE{0u{`xxOLFgW@Br}n|!TJ}$YJ9_KxjVc+XkbLR z5KKL9!=%hbjybDrkMS4v>9N6kkqE-j_m9-kI9Tuvq1%+gBWP#iDGn|7la*{)k)XhY zteSikxnk|%iP6!|KMqE-pKF!XYwH$~WY%PP*bruo$Ut{&r6& zi_JN0O=egh|2>#JSdr?EBJe$Y|Fp~?F1})v&&2<$z%bg7-b2wt?k#Z8`|2FU%%db ztUc8AINSsv!aLh|w!Stf|L$Ez@CS}|{+RM|i=7<@eg~zoF*UtPbE>9RJn}_etk6ds ze$x5frTPM_f?g4fjXDGppLc#!>gq}>tXZO1&e*6&&@rm22Qw4L?@M=nzQ-~eee%Q* zke1(G*huH^6A_V)pBnUgjwH0!Ubu+kqRw9eUDJPKjr`{d@>s61EfJ&R?FPt`pJC*K zl$3g`ic~=!FYeywy)w43-E?%19G%p%dd6>KQ@BJMNg*icwSkTWR`NWn*+kiZTgw=V zVr(-r4F(1)b^7zG{d(Qul))Y^_ErZ|mBca{vIhj-5cAwHzg%mJw3dQW~wi~q89q2nVKIyoKuw3 zv9jVP-P6fwouB7rFfmXYo6DAU*^iWNZE;zS!f@HtXv#E68tLd-l6%?bE7e{;o_}4V?p&ulXT{ z#OHlSOWV!%Fmiql{eo==?Du&$^ilLv4ajbR7Yb2fN2+OHSXOgJvyHl%pPxWj^{+8! z#`&d1T;3}qVeiR0FSnB1)sCZeOqtE%=XJB!Zd*gbe)`^L&L2a2Ux0P*TYEu}@pplt zA?^_3Snl{Kv@o3* z+s5Te_x7vAz_|UVd$Fwk&L}k%d3ie(m8?p|E)BJDCY(xN@5AP6O{XQv#c;|G|BU6a zr1&DT<+0K=PAe1>znPyNlj3)}+mAv;EwA{l52c5DJV8`ikNzCbzez|qVPoH9pRe$N z@28#wQL`#tike93*ltSwtJ!o)?hv!Q@9bP%qV18DM6J#1*QpSax*ab{XlqZ^Bf7KL z>gosIIP9J6B6(?PkE`F<9pGE_sB(-O)vKX*Y6nI}hNsGEyM@R)O|QHz^70}bnk~TL z5)v3}6-vvL4ps19k@1x4!S=rycHedF5F(Ri7M`v6{+*TiPhdhqN>ICNV>_i}+(Rbs zn`;;4VfFq5-Hy()mYaP9y^m<6r;D1BlCHD!$mLlVB7{eSEg03`H*Igvx;D%&>OJY7 zqr?(R4$?@*f*8FpA~~U^bJoXvet`BYudL8>Wt&FG^KcpfOR{6&^GRNrU}~IaX|bZBV4Ke0BFntyDb@I_3l zx}Dvep&>4uacQ{|wt)y8nbblexIfAs zXY^PqKjT7_W(EG%m!yg~8RTE+nOBmKXx*JdS~$ouo}X(NHS;BLEs=)uHnOhc6z)f& z)Ya4`OLV33#}9DcVjXTy6t}fW*6WLVArK@aB-1mImjltW4>TnPe9z?wY(r>DmjLGrPPE2a#^Kv?nrifvHY=kWfBiWBURAF{F< z)j8gRM&{?~C@6Z?34(+?Fkdkha)=YzjAU|fa?*$M?u}zZjz?>XEU}>pQ8WUFmuD_e z%k|Yop+-?z*q26B9bcNaA;29_Cy1;nw!-o%l{+L58Q%3#~98PX-7SEDFRom0w@8al4xRd_jLl=SA<>Jmx zX>l>q>)7^D*Cx}Es7-kT1er(QE`B904%K{$fNLZsB_&CP;EQ;naUfV#WdX0GtB1$b z)ReZCRzqE#LMq?RWT_r#3cz-+uC7+PqY_=?nE6B!`v-e_4-O8JMSZ<2EiL{0u7}cv z6crRoN=hK8JBprMLr72%z#t+ba=N!5=6U#sv*|A*BV$%`bB1Il0)YT6lDWA#P9N~) z6SCs0tUz%XTviqnT3%VXxjt>Crlj=r_9iDMzt`8))HIC{6cjAbD2k08ue9jjo&SL} zY5%aiY$_%uCMzq;$;pYnXg95hiHYe7rv&Gxw6qlaH-|w38ensLc=(Kq3-m1j6C@H@ zUG3)Nbnr#Qo0+yCY8VvoR58Ehk;$j!_9(7uF|lgwvF1qF1P zuCA@!m6u|?a$tE92!k^^jb=%wr>9p`R6Kn6@ZGz2P{8c$>{OYNwuT1i`d$jE5T%Mf ze%ud=iGl)aFjih(er9F{>;QtEKYtF1>*-O~2-=J>L*gzj-zzG(L*a+V$JMp9>qlpx z)s-Ra7$5(hpMU46o~~{^61g{9uU?+b?=Wv|Yl{H^2EBg$8p~od5jQm{NrjCB6B84H zf+d#@5MEv&b$DJe6cFW;L(va*HkTCa3PFfcHH zUAeov^YQToJ_|lvLbYaQX7X4Kf%RpzBg4b>tE^QG4d+jGe&;J^G}-;;Yfbs`<;(8w z?&#=f0V>$*6vW+W0RGHOS9f=rQL`u~r!s(O?7@XK9xOt~AV32!0CbVlwhntC>o0I~ zB-XLvGBSr}J`6SkgM$Jzk+HGrpf`??QPZdUtb^s3hQNSlh}0R)%RmCNUkIp_bO< z%nbX9x@d-2lFXk#*Of!8e~m%Z;h$#^@5qLY^|-DGaB@by%pJ4l1^xo+ z%q;~*%s~*X@M&HI_yONGxNZILJ{=j5_VPNn%J5xVUXDpfU~!jv`%H3s9$PmF@W24+ zu2`;LkdmIhv$$w%WkpU(8Vr-u(V_6lW)T*?1R(+n$jQl}=C{YehRswzXs>=Vg*Da6 zs+3mn?Hifm?a;wl+=$*g)qa2sja3Pp&yt%mGfgInG<9`#0R`yj=%4_Q8rb9eOe=Jr zkju@-0WA_t~L^1}0h9bGJ>6ObCwTGc71CzF18( zs{H=_7DP%)IyX0$)eEag7Ruy4`#Ome*dzU>p6Sh}Xa$zy!a}>*y3yI$#*z{|134HW zP$s;T`+og8t6lKJgmUupvy<_mmiWio7?_wqb*ieW0+6s;E0#0xQ8G;5y_XVP@3A-E z;(-U!WKdvWNogt2jPPj%$bbK9B}@jS$WMrLQj=MM-!>A#(7Yir}s zuN#?|csO3LH0ZJ5TMN`E-p~WlkpWr=O092?#61_G6f6y~FIaU~bg-}hfZ{?ugM-ra zFZ9ceZ>1|~Yinl+y4iv}tfi%;rZxszaa@S)(W3`{lCVAy&k&}DbMgDHN5O(CxiI0H zhK5Zh?YFDmnwxhlId1Rln32stjm3{lxDd> zvRZEsA)pua(b=EQjEYkB@o5C&*P<0NKAzM|4uartxUkP(6>BM$SOJr^_aFc@HVTib ze^DW`3}{J9OB*?Q0l`>VtCE9LQPkh63dj6u?ASkhP6X=G5$~geM0_N1$kU@OE`?kDi323Z&xu_ai8I zEC*8g%W7)KkW23{@09oAjHa7@=K}E>aM>E4Al)zS^XCAqTD#v`8XD#f4rOI!3!t2;fF9KrNWqS0`abuZj8HJK7SR<%k`6S=gRJ0as&qssE;vX^D%O7NJ2k& zL2%8_f8{v6X5&)`EP27MbWa|qtbI-~N%>7Ru+i%j2alF}6PHPCE1dzuf7b&V`Ts9K z|5NG+T~61~sBwC+$OpLR!Uc_p>q~(+nY$eY0qOciT3UIz&&Ld9A~|bnYGOpuFfw$# x$wyb5Law%(xLX(xunqrDX#TIN{cqC0oN|(1sqD?3j{p%Kl9yJ3f0Hy0{2$w&)g%A_ diff --git a/class_address_pool_impl-members.html b/class_address_pool_impl-members.html index 3a981cc9..b968b8a3 100644 --- a/class_address_pool_impl-members.html +++ b/class_address_pool_impl-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_address_pool_impl.html b/class_address_pool_impl.html index 08129cab..6d4fa197 100644 --- a/class_address_pool_impl.html +++ b/class_address_pool_impl.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: AddressPoolImpl< MAX_DEVICES_ALLOWED > Class Template Reference @@ -31,7 +31,7 @@ - + @@ -97,14 +97,14 @@ Inheritance diagram for AddressPoolImpl< MAX_DEVICES_ALLOWED >:
Inheritance graph
- +
[legend]
Collaboration diagram for AddressPoolImpl< MAX_DEVICES_ALLOWED >:
Collaboration graph
- +
[legend]
- +

@@ -139,7 +139,7 @@ template<const uint8_t MAX_DEVICES_ALLOWED>

AddressPoolImpl< MAX_DEVICES_ALLOWED >::AddressPoolImpl ())
@@ -168,7 +168,7 @@ template<const uint8_t MAX_DEVICES_ALLOWED> virtual UsbDevice* AddressPoolImpl< MAX_DEVICES_ALLOWED >::GetUsbDevicePtr ( uint8_t  - addr) + addr) @@ -198,7 +198,7 @@ template<const uint8_t MAX_DEVICES_ALLOWED> void AddressPoolImpl< MAX_DEVICES_ALLOWED >::ForEachUsbDevice ( UsbDeviceHandleFunc  - pfunc) + pfunc) @@ -272,7 +272,7 @@ template<const uint8_t MAX_DEVICES_ALLOWED> virtual void AddressPoolImpl< MAX_DEVICES_ALLOWED >::FreeAddress ( uint8_t  - addr) + addr) @@ -285,7 +285,7 @@ template<const uint8_t MAX_DEVICES_ALLOWED>

Implements AddressPool.

-

Definition at line 245 of file address.h.

+

Definition at line 246 of file address.h.

@@ -297,7 +297,7 @@ template<const uint8_t MAX_DEVICES_ALLOWED> diff --git a/class_address_pool_impl__coll__graph.map b/class_address_pool_impl__coll__graph.map index 34a31763..2655e006 100644 --- a/class_address_pool_impl__coll__graph.map +++ b/class_address_pool_impl__coll__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_address_pool_impl__coll__graph.md5 b/class_address_pool_impl__coll__graph.md5 index 38bd1154..3317b219 100644 --- a/class_address_pool_impl__coll__graph.md5 +++ b/class_address_pool_impl__coll__graph.md5 @@ -1 +1 @@ -5dbeb6fc8354ce8fc1bdac8071a8f20c \ No newline at end of file +4928b921ed421db937e32278788f372b \ No newline at end of file diff --git a/class_address_pool_impl__coll__graph.png b/class_address_pool_impl__coll__graph.png index 1fd210fe16e738fbd0a6552ba878b3c9f1800b83..cc3c9f6c8289b55d9cfa9996c717ebb7adbe74ef 100644 GIT binary patch literal 7150 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 P9!N<}O}0$N?9=}MX}syc literal 3542 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 diff --git a/class_address_pool_impl__inherit__graph.map b/class_address_pool_impl__inherit__graph.map index 34a31763..2655e006 100644 --- a/class_address_pool_impl__inherit__graph.map +++ b/class_address_pool_impl__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_address_pool_impl__inherit__graph.md5 b/class_address_pool_impl__inherit__graph.md5 index 38bd1154..3317b219 100644 --- a/class_address_pool_impl__inherit__graph.md5 +++ b/class_address_pool_impl__inherit__graph.md5 @@ -1 +1 @@ -5dbeb6fc8354ce8fc1bdac8071a8f20c \ No newline at end of file +4928b921ed421db937e32278788f372b \ No newline at end of file diff --git a/class_address_pool_impl__inherit__graph.png b/class_address_pool_impl__inherit__graph.png index 1fd210fe16e738fbd0a6552ba878b3c9f1800b83..cc3c9f6c8289b55d9cfa9996c717ebb7adbe74ef 100644 GIT binary patch literal 7150 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 P9!N<}O}0$N?9=}MX}syc literal 3542 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 diff --git a/class_b_t_d-members.html b/class_b_t_d-members.html index e02db877..671419ca 100644 --- a/class_b_t_d-members.html +++ b/class_b_t_d-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -100,7 +100,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); BTD_EVENT_PIPEBTDprotectedstatic btdNameBTD btdPinBTD - ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)USBDeviceConfiginlinevirtual + ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)BTDvirtual connectToWiiBTD DEVCLASSOK(uint8_t klass)BTDinlinevirtual disc_bdaddrBTD @@ -163,7 +163,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_b_t_d.html b/class_b_t_d.html index 8f6ac442..c9d1e5f2 100644 --- a/class_b_t_d.html +++ b/class_b_t_d.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: BTD Class Reference @@ -31,7 +31,7 @@ - + @@ -101,14 +101,14 @@ Inheritance diagram for BTD:
Inheritance graph
- +
[legend]
Collaboration diagram for BTD:
Collaboration graph
- +
[legend]
+ + @@ -196,8 +198,6 @@ Public Member Functions - -

@@ -124,6 +124,8 @@ Public Member Functions

uint8_t readPollInterval ()
 
USBDeviceConfig implementation
virtual uint8_t ConfigureDevice (uint8_t parent, uint8_t port, bool lowspeed)
 
virtual uint8_t Init (uint8_t parent, uint8_t port, bool lowspeed)
 
virtual uint8_t Release ()
void l2cap_information_response (uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)
 
- Public Member Functions inherited from USBDeviceConfig
virtual uint8_t ConfigureDevice (uint8_t parent, uint8_t port, bool lowspeed)
 
virtual void ResetHubPort (uint8_t port)
 
@@ -270,7 +270,7 @@ Static Protected Attributes

Detailed Description

The Bluetooth Dongle class will take care of all the USB communication and then pass the data to the BluetoothService classes.

-

Definition at line 157 of file BTD.h.

+

Definition at line 156 of file BTD.h.

Constructor & Destructor Documentation

@@ -280,7 +280,7 @@ Static Protected Attributes
- +
BTD::BTD ( USBp)p)
@@ -298,6 +298,60 @@ Static Protected Attributes

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
uint8_t BTD::ConfigureDevice (uint8_t parent,
uint8_t port,
bool lowspeed 
)
+
+virtual
+
+

Address assignment and basic initilization is done here.

+
Parameters
+ + + + +
parentHub number.
portPort number on the hub.
lowspeedSpeed of the device.
+
+
+
Returns
0 on success.
+ +

Reimplemented from USBDeviceConfig.

+ +

Definition at line 46 of file BTD.cpp.

+ +
+
@@ -348,7 +402,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 45 of file BTD.cpp.

+

Definition at line 119 of file BTD.cpp.

@@ -362,7 +416,7 @@ Static Protected Attributes uint8_t BTD::Release ( - ) + ) @@ -377,7 +431,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 322 of file BTD.cpp.

+

Definition at line 365 of file BTD.cpp.

@@ -391,7 +445,7 @@ Static Protected Attributes uint8_t BTD::Poll ( - ) + ) @@ -406,7 +460,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 335 of file BTD.cpp.

+

Definition at line 371 of file BTD.cpp.

@@ -420,7 +474,7 @@ Static Protected Attributes virtual uint8_t BTD::GetAddress ( - ) + ) @@ -435,7 +489,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 189 of file BTD.h.

+

Definition at line 196 of file BTD.h.

@@ -449,7 +503,7 @@ Static Protected Attributes virtual bool BTD::isReady ( - ) + ) @@ -462,7 +516,7 @@ Static Protected Attributes

Used to check if the dongle has been initialized.

Returns
True if it's ready.
-

Definition at line 197 of file BTD.h.

+

Definition at line 204 of file BTD.h.

@@ -477,7 +531,7 @@ Static Protected Attributes virtual boolean BTD::DEVCLASSOK ( uint8_t  - klass) + klass) @@ -498,7 +552,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 205 of file BTD.h.

+

Definition at line 212 of file BTD.h.

@@ -545,7 +599,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 214 of file BTD.h.

+

Definition at line 221 of file BTD.h.

@@ -612,7 +666,7 @@ Static Protected Attributes

Implements UsbConfigXtracter.

-

Definition at line 271 of file BTD.cpp.

+

Definition at line 314 of file BTD.cpp.

@@ -626,7 +680,7 @@ Static Protected Attributes void BTD::disconnect ( - ) + ) @@ -638,7 +692,7 @@ Static Protected Attributes

Disconnects both the L2CAP Channel and the HCI Connection for all Bluetooth services.

-

Definition at line 232 of file BTD.h.

+

Definition at line 239 of file BTD.h.

@@ -653,7 +707,7 @@ Static Protected Attributes int8_t BTD::registerServiceClass ( BluetoothService *  - pService) + pService) @@ -672,7 +726,7 @@ Static Protected Attributes
Returns
The serice ID on succes or -1 on fail.
-

Definition at line 243 of file BTD.h.

+

Definition at line 250 of file BTD.h.

@@ -708,7 +762,7 @@ Static Protected Attributes -

Definition at line 811 of file BTD.cpp.

+

Definition at line 851 of file BTD.cpp.

@@ -719,14 +773,14 @@ Static Protected Attributes void BTD::hci_reset ( - ) + )

Reset the Bluetooth dongle.

-

Definition at line 816 of file BTD.cpp.

+

Definition at line 856 of file BTD.cpp.

@@ -737,14 +791,14 @@ Static Protected Attributes void BTD::hci_read_bdaddr ( - ) + )

Read the Bluetooth address of the dongle.

-

Definition at line 847 of file BTD.cpp.

+

Definition at line 887 of file BTD.cpp.

@@ -755,14 +809,14 @@ Static Protected Attributes void BTD::hci_read_local_version_information ( - ) + )

Read the HCI Version of the Bluetooth dongle.

-

Definition at line 855 of file BTD.cpp.

+

Definition at line 895 of file BTD.cpp.

@@ -774,7 +828,7 @@ Static Protected Attributes void BTD::hci_set_local_name ( const char *  - name) + name) @@ -787,7 +841,7 @@ Static Protected Attributes -

Definition at line 898 of file BTD.cpp.

+

Definition at line 938 of file BTD.cpp.

@@ -798,14 +852,14 @@ Static Protected Attributes void BTD::hci_write_scan_enable ( - ) + )

Enable visibility to other Bluetooth devices.

-

Definition at line 825 of file BTD.cpp.

+

Definition at line 865 of file BTD.cpp.

@@ -816,14 +870,14 @@ Static Protected Attributes void BTD::hci_write_scan_disable ( - ) + )

Disable visibility to other Bluetooth devices.

-

Definition at line 838 of file BTD.cpp.

+

Definition at line 878 of file BTD.cpp.

@@ -834,14 +888,14 @@ Static Protected Attributes void BTD::hci_remote_name ( - ) + )

Read the remote devices name.

-

Definition at line 879 of file BTD.cpp.

+

Definition at line 919 of file BTD.cpp.

@@ -852,14 +906,14 @@ Static Protected Attributes void BTD::hci_accept_connection ( - ) + )

Accept the connection with the Bluetooth device.

-

Definition at line 863 of file BTD.cpp.

+

Definition at line 903 of file BTD.cpp.

@@ -871,7 +925,7 @@ Static Protected Attributes void BTD::hci_disconnect ( uint16_t  - handle) + handle) @@ -884,7 +938,7 @@ Static Protected Attributes -

Definition at line 1028 of file BTD.cpp.

+

Definition at line 1068 of file BTD.cpp.

@@ -895,14 +949,14 @@ Static Protected Attributes void BTD::hci_pin_code_request_reply ( - ) + )

Respond with the pin for the connection. The pin is automatically set for the Wii library, but can be customized for the SPP library.

-

Definition at line 954 of file BTD.cpp.

+

Definition at line 994 of file BTD.cpp.

@@ -913,14 +967,14 @@ Static Protected Attributes void BTD::hci_pin_code_negative_request_reply ( - ) + )

Respons when no pin was set.

-

Definition at line 990 of file BTD.cpp.

+

Definition at line 1030 of file BTD.cpp.

@@ -931,14 +985,14 @@ Static Protected Attributes void BTD::hci_link_key_request_negative_reply ( - ) + )

Command is used to reply to a Link Key Request event from the BR/EDR Controller if the Host does not have a stored Link Key for the connection.

-

Definition at line 1004 of file BTD.cpp.

+

Definition at line 1044 of file BTD.cpp.

@@ -949,14 +1003,14 @@ Static Protected Attributes void BTD::hci_authentication_request ( - ) + )

Used to try to authenticate with the remote device.

-

Definition at line 1018 of file BTD.cpp.

+

Definition at line 1058 of file BTD.cpp.

@@ -967,14 +1021,14 @@ Static Protected Attributes void BTD::hci_inquiry ( - ) + )

Start a HCI inquiry.

-

Definition at line 910 of file BTD.cpp.

+

Definition at line 950 of file BTD.cpp.

@@ -985,14 +1039,14 @@ Static Protected Attributes void BTD::hci_inquiry_cancel ( - ) + )

Cancel a HCI inquiry.

-

Definition at line 924 of file BTD.cpp.

+

Definition at line 964 of file BTD.cpp.

@@ -1003,14 +1057,14 @@ Static Protected Attributes void BTD::hci_connect ( - ) + )

Connect to a device.

-

Definition at line 932 of file BTD.cpp.

+

Definition at line 972 of file BTD.cpp.

@@ -1021,14 +1075,14 @@ Static Protected Attributes void BTD::hci_write_class_of_device ( - ) + )

Used to a set the class of the device.

-

Definition at line 1040 of file BTD.cpp.

+

Definition at line 1080 of file BTD.cpp.

@@ -1084,7 +1138,7 @@ Static Protected Attributes -

Definition at line 1076 of file BTD.cpp.

+

Definition at line 1116 of file BTD.cpp.

@@ -1134,7 +1188,7 @@ Static Protected Attributes -

Definition at line 1104 of file BTD.cpp.

+

Definition at line 1144 of file BTD.cpp.

@@ -1191,7 +1245,7 @@ Static Protected Attributes -

Definition at line 1117 of file BTD.cpp.

+

Definition at line 1157 of file BTD.cpp.

@@ -1234,7 +1288,7 @@ Static Protected Attributes -

Definition at line 1134 of file BTD.cpp.

+

Definition at line 1174 of file BTD.cpp.

@@ -1277,7 +1331,7 @@ Static Protected Attributes -

Definition at line 1151 of file BTD.cpp.

+

Definition at line 1191 of file BTD.cpp.

@@ -1327,7 +1381,7 @@ Static Protected Attributes -

Definition at line 1170 of file BTD.cpp.

+

Definition at line 1210 of file BTD.cpp.

@@ -1377,7 +1431,7 @@ Static Protected Attributes -

Definition at line 1183 of file BTD.cpp.

+

Definition at line 1223 of file BTD.cpp.

@@ -1426,7 +1480,7 @@ Static Protected Attributes -

Definition at line 1196 of file BTD.cpp.

+

Definition at line 1236 of file BTD.cpp.

@@ -1440,7 +1494,7 @@ Static Protected Attributes void BTD::pairWithWiimote ( - ) + ) @@ -1452,7 +1506,7 @@ Static Protected Attributes

Call this function to pair with a Wiimote

-

Definition at line 405 of file BTD.h.

+

Definition at line 412 of file BTD.h.

@@ -1466,7 +1520,7 @@ Static Protected Attributes uint8_t BTD::readPollInterval ( - ) + ) @@ -1479,7 +1533,7 @@ Static Protected Attributes

Read the poll interval taken from the endpoint descriptors.

Returns
The poll interval in ms.
-

Definition at line 424 of file BTD.h.

+

Definition at line 431 of file BTD.h.

@@ -1494,7 +1548,7 @@ Static Protected Attributes void BTD::PrintEndpointDescriptor ( const USB_ENDPOINT_DESCRIPTOR *  - ep_ptr) + ep_ptr) @@ -1512,7 +1566,7 @@ Static Protected Attributes -

Definition at line 303 of file BTD.cpp.

+

Definition at line 346 of file BTD.cpp.

@@ -1528,7 +1582,7 @@ Static Protected Attributes

Use this to see if it is waiting for a incoming connection.

-

Definition at line 376 of file BTD.h.

+

Definition at line 383 of file BTD.h.

@@ -1543,7 +1597,7 @@ Static Protected Attributes

This is used by the service to know when to store the device information.

-

Definition at line 378 of file BTD.h.

+

Definition at line 385 of file BTD.h.

@@ -1558,7 +1612,7 @@ Static Protected Attributes

This is used by the SPP library to claim the current SDP incoming request.

-

Definition at line 380 of file BTD.h.

+

Definition at line 387 of file BTD.h.

@@ -1573,7 +1627,7 @@ Static Protected Attributes

This is used by the SPP library to claim the current RFCOMM incoming request.

-

Definition at line 382 of file BTD.h.

+

Definition at line 389 of file BTD.h.

@@ -1588,7 +1642,7 @@ Static Protected Attributes

The name you wish to make the dongle show up as. It is set automatically by the SPP library.

-

Definition at line 385 of file BTD.h.

+

Definition at line 392 of file BTD.h.

@@ -1603,7 +1657,7 @@ Static Protected Attributes

The pin you wish to make the dongle use for authentication. It is set automatically by the SPP library.

-

Definition at line 387 of file BTD.h.

+

Definition at line 394 of file BTD.h.

@@ -1618,7 +1672,7 @@ Static Protected Attributes

The bluetooth dongles Bluetooth address.

-

Definition at line 390 of file BTD.h.

+

Definition at line 397 of file BTD.h.

@@ -1633,7 +1687,7 @@ Static Protected Attributes

HCI handle for the last connection.

-

Definition at line 392 of file BTD.h.

+

Definition at line 399 of file BTD.h.

@@ -1648,7 +1702,7 @@ Static Protected Attributes

Last incoming devices Bluetooth address.

-

Definition at line 394 of file BTD.h.

+

Definition at line 401 of file BTD.h.

@@ -1663,7 +1717,7 @@ Static Protected Attributes

First 30 chars of last remote name.

-

Definition at line 396 of file BTD.h.

+

Definition at line 403 of file BTD.h.

@@ -1678,7 +1732,7 @@ Static Protected Attributes

The supported HCI Version read from the Bluetooth dongle. Used by the PS3BT library to check the HCI Version of the Bluetooth dongle, it should be at least 3 to work properly with the library.

-

Definition at line 402 of file BTD.h.

+

Definition at line 409 of file BTD.h.

@@ -1693,7 +1747,7 @@ Static Protected Attributes

Used to only send the ACL data to the wiimote.

-

Definition at line 408 of file BTD.h.

+

Definition at line 415 of file BTD.h.

@@ -1708,7 +1762,7 @@ Static Protected Attributes

True if a Wiimote is connecting.

-

Definition at line 412 of file BTD.h.

+

Definition at line 419 of file BTD.h.

@@ -1723,7 +1777,7 @@ Static Protected Attributes

True when it should pair with the incoming Wiimote.

-

Definition at line 414 of file BTD.h.

+

Definition at line 421 of file BTD.h.

@@ -1738,7 +1792,7 @@ Static Protected Attributes

True if it's the new Wiimote with the Motion Plus Inside or a Wii U Pro Controller.

-

Definition at line 416 of file BTD.h.

+

Definition at line 423 of file BTD.h.

@@ -1753,7 +1807,7 @@ Static Protected Attributes

True if it's a Wii U Pro Controller.

-

Definition at line 418 of file BTD.h.

+

Definition at line 425 of file BTD.h.

@@ -1776,7 +1830,7 @@ Static Protected Attributes

Pointer to USB class instance.

-

Definition at line 426 of file BTD.h.

+

Definition at line 433 of file BTD.h.

@@ -1799,7 +1853,7 @@ Static Protected Attributes

Device address.

-

Definition at line 432 of file BTD.h.

+

Definition at line 439 of file BTD.h.

@@ -1822,7 +1876,7 @@ Static Protected Attributes

Endpoint info structure.

-

Definition at line 434 of file BTD.h.

+

Definition at line 441 of file BTD.h.

@@ -1845,7 +1899,7 @@ Static Protected Attributes

Configuration number.

-

Definition at line 437 of file BTD.h.

+

Definition at line 444 of file BTD.h.

@@ -1868,7 +1922,7 @@ Static Protected Attributes

Total number of endpoints in the configuration.

-

Definition at line 439 of file BTD.h.

+

Definition at line 446 of file BTD.h.

@@ -1891,7 +1945,7 @@ Static Protected Attributes

Next poll time based on poll interval taken from the USB descriptor.

-

Definition at line 441 of file BTD.h.

+

Definition at line 448 of file BTD.h.

@@ -1914,7 +1968,7 @@ Static Protected Attributes

Bluetooth dongle control endpoint.

-

Definition at line 444 of file BTD.h.

+

Definition at line 451 of file BTD.h.

@@ -1937,7 +1991,7 @@ Static Protected Attributes

HCI event endpoint index.

-

Definition at line 446 of file BTD.h.

+

Definition at line 453 of file BTD.h.

@@ -1960,7 +2014,7 @@ Static Protected Attributes

ACL In endpoint index.

-

Definition at line 448 of file BTD.h.

+

Definition at line 455 of file BTD.h.

@@ -1983,7 +2037,7 @@ Static Protected Attributes

ACL Out endpoint index.

-

Definition at line 450 of file BTD.h.

+

Definition at line 457 of file BTD.h.

@@ -1996,7 +2050,7 @@ Static Protected Attributes diff --git a/class_b_t_d__coll__graph.map b/class_b_t_d__coll__graph.map index bdf696b4..d60ddbc4 100644 --- a/class_b_t_d__coll__graph.map +++ b/class_b_t_d__coll__graph.map @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/class_b_t_d__coll__graph.md5 b/class_b_t_d__coll__graph.md5 index cf9deb85..3b9a2e08 100644 --- a/class_b_t_d__coll__graph.md5 +++ b/class_b_t_d__coll__graph.md5 @@ -1 +1 @@ -1ede213257fc39e66c22ce806d0f509c \ No newline at end of file +ca95807276f7b79a9da3fd2fb6368499 \ No newline at end of file diff --git a/class_b_t_d__coll__graph.png b/class_b_t_d__coll__graph.png index 72d6fcd0ad9ef968505109ec1b192923e20e73a9..be118384830d96a3a26800bb572000cfabe2d12f 100644 GIT binary patch literal 16749 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 E0p6k6RsaA1 literal 9257 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 - - + + diff --git a/class_b_t_d__inherit__graph.md5 b/class_b_t_d__inherit__graph.md5 index fbfb67f0..5d318cb2 100644 --- a/class_b_t_d__inherit__graph.md5 +++ b/class_b_t_d__inherit__graph.md5 @@ -1 +1 @@ -a1ec67a44bb469ec04a5c52bfaf6017c \ No newline at end of file +d46813718d41f5c0027726790fddd324 \ No newline at end of file diff --git a/class_b_t_d__inherit__graph.png b/class_b_t_d__inherit__graph.png index ec920e2e0a4d1a9b41c46185d9e9aa69d42ef89e..a32152e00dccf5eaba9fb351f5dcb2890be14ddc 100644 GIT binary patch literal 7661 zcmbtZmjFSFx40IHySoJ_1PQJMTA-yAch?}rp%j+~m*Nz+-}b}% z7rgn9?3F#&?m4^Xp1EfxPFqtM7mET50RaJ5RYg%30RfQ-IQGFn1HSi6^MMo84XTRr z`u>Q=W|$ps-jZ4DvQI*XVP7Zcf^7j_N0Ao}CI`%!7{E(*}}e*^%PI87z@e z1eWRWb5WJ#2(?jA5Sf`OG5-BciINU;X2cr*$WVmAM(;qajY5LBOb7cd$@)#J@axT5 zP%@8s$9{-<^%hD5C>l%WlY|e$JLB1Ey>FUIT%m~zuQ6;!(&H$E?B%j7Lhrg?53=R8 z=SlkUfLH$#50Seo)lL-3o|<#_T|XqtK2Np18uA&y;mb~F>-$i!gV<-QRKZ}->&x1A4CGN#6W4{=bcI>h&E1j*3K2JTvi0@_X3Jvy7k{e=_Q`?9<;g?BVe|QN8&pGh0&k z)3wfnRloI8LA!~TlkU6SybGLye!F29y^zp_y_3G71VVwe%0hNO^0M)-I+DJ$f2s2_M#JA@)@>2tJD zTLX6)QUNEB%NK@R=V;A+eUk^Sx0}2^zquxt^5=6|ZW>=+-nt*QQjy+S7DOA*o^zG`?4PRhdViVbMxR^VdhQW9vH_TqM;J@e8<{(fA|BbO_GL= z>GtLM;dJw9D_M5tjp(Xk*vpfs&*5wwA3IjbY=x2F{5Bf_3CEgkmKjSSqjJ(zak2~t zZ)4m8@cRXLJ34a}Mmxx$qxtGW{gTe0n_SC-dob$bZk`*PxVX64WL~UX$J-z8O0{I} zAi1J$nttmcqEEnT^*@79?>Ay;HEO)WCUb?Msi~?MRY%nct#dgwqW>M+ApZctq?+^L*QqyJr(Iq>Of{=4gHn^mu{^hMvc4cA7% zSuZ-~X_ALq$2nReg>bxU*WHJ63JLErp)b3kEnSSS+{*7Rvzy1sxTK)HXV-ZCPXlBY z!@A+f=y?8+4Kk(2fZgg_uRrgF9cJK+INc>gF`Rj~&5plEKw^G&nRURMQRtuzy|wx? zA$jVJZ%r*5x?+t~b31TzHZ(9@tjxX5+=(}NveYI9Oxah$Jm;U~N+!45NT z-y$p!R)nhlX05=43+9#L>{6^(1Q^|{cqO-IO}e>eggi!``|o}7Q)JO_??ut_%06Ch zR)3Vzliat1zT*6lNGUqOD#f=y^*Ji`~IhqsNvd;%Lajb-)VpwYcYY z%~!3$la1v2OhG$Mr%iYq&2xp4N!Zg>R&3z|>P)Q0s#)Mp^!F};X1ulZHFBANS1HL9haLb2bS_Pcr9eGGq7BLrZT^Ke!OE2krE92 zYkxi@+d+o`z=K0$0Z@bX8~tWl ztwXEWoNj9!b57NrAI|#}IK6hq-i_x9NBaZ#WXrC1eYD6;uo6ei%0wGR2 z4V{r|eNWepQ~U^sjFI1w?L=iA#B)}`$bO;VD5`uc{4Eb{4+gQRpl9G7C8K^~llrks zYAn`K@n^0wjZGeh4*3Mlm<|b!2m+xh?nK6*0j0n}FV%2HAcTR;1R1HdpJs^jdU<}D z>x;&Ymg|T!VDNZAw^l4@;iT`PLxNFmir%#V+`--8Oex}AQ`K>y27Mcb2_?M&U?*#R z3NOWOdwx6T7*E$Vo$O|8bR#pkr%;ob35IkQDOJ=vTWzr(xRYT}l22E1u`_Bi1^-Mh zpEfAmu>Nq;K3VBJyKc`o{lU z1|_hNfLttU_RQ7uMz;Wew@?;@wHO0ODA}(WKrjWs1w*93t}x^s&VPJ{S!_CyEuh=K zzgqd~TGA}Et;ZoOS_NF-&2*y35Hue3OfCrOmzwW5LjZX8L3G27G#mvO9 z5R3W`xV31TR^R#(?=JWB&Nm0*gjq3%D$}I;dx+EG7NT8ScSvhLZO}BgS(n68$G;5` z*vX82ddwR{Gje_VvGH~5@)srS%@KLi6w}Xl%#5yy1MlG60xpYn13r`M_~egPFZSzQ z(unORtL=J=b+%8aiQ=-uuyOP{A3VM&7ffW#!CqIRR!`eaGN>hO#G7PFMSfGS{`Zl0 zPhhcGVtA~#Wj9<7>F5(WK25rvb~ixMTsKx!u|V;yZ%a;fTkiOb3(u=ae*j&qlrze~ zH9!!FxWHjtvRV;ddY!QBn$n}QZ2tFX{IzP*%7!>JJv4ugbps1E3|(g(9&gX}Yps>G zGOA8tm~q0Ws@X=fjL76h;et1TtBr4dwR>Emcj8B4oiCSJ@fPw)sZ2u6l97RiAxbDSnmk9EPFqcbWsrm=gS1f zUY(eOKy>WnhxAOuqFp+n3FMIo+P(=({*wArb_D_88KuWTK8L=~o3)v?JOgD8JZCfE zHhP}q1IYYslK&le$4YFQb!)TWz_RZLxZ8vz=&VjYj9MZcW_vU`{uYoeH80``*P!Et z;T}ddD^T~wwts*dH{$4L^TA%_r;y=H4Sw#5Z0V!tO(=*Ik|Uw(i$F%twLuCkUZaei zRubwN=5^wuDXv}fp-L29-X1Hia+|$LUt>jqfWif04?#(Y6gUm3)!olajJzN8;TTD8 zZ8lGmIdOUhM9A##jBLH{f?niSEZ1j^DK%arypA}~5!YrXl5Uu zL_*W-e!PGNn0B>d?|U4>vF&HpuCR9y%v;c7Jw3_Hwxhra?V9i=g4WnDSc-=~9tuju zqANqm1<)?#EMJV91x$aOB0w;JL0|KO5t_JF#Ta>iEyUTuULsS-8U&i&5;fQ+h-_|E zyWXi2*`mlRm>}JOijn#AIs)fC{#qu8?9f;^o~8vYXotmWsAx0tH{c2r@^Vsjq2p38 zDV(opk;p=NSMdBU5ar4+=$N;9;0S26`c&TSe6y3+h{TFQgv4m&qJ7~ooQ;*xhhsQc zvyTc71J&VTn5y&XdYK5_n9qBI?>HPcx9_BC_~ixJjICp33i97V6UezJoriQJ(n%o| zV1D{l_kLWP204A2ZPZH6-LxWsVrWdOg7(!0-zwtWVw=wo)8Zd7q_hWL=RdDxzY9Mg zW)q!J79Bjmqu}<W_ksz5WKta;fBF@=R@71k0 z#~~M4zHLv2Jv2O(#m@fZF$OpX^&*VLps^lO!CI$uWGg-rXbQ&4`^ulzbB!(PHofEy zR0&I_1oP-%Tk=*TK9-N<6D$3eBv_LnK<8D(cZ=B116F83C61zWk|%Xis^VMORFkN< zYI#iHe+`xrOQ5N-gcptFCZk62=JPv#;R4vIF~Od1V_5nz%IZ}y!>}yQKKVOvfYq4@ zUh(^$1kU&bv_4CRlf2*-eA@bJ+jB*g04Z1siRj$`@fIr>fxj(Ms3p%n_083C64=Ft zf-#yLv+pDE;cGAv(6ayGzy}NSBOq2=5F>ew3a zQ9C70SOSP6b#LZkvQUSz@?)$zK79^`w%izR@30nKtPXPmBxkx*ZliA_`Oy-B)%T{l zUnTCl|C)!Kf0=g~(=!#A$8a<)MG%%Q8*61YM-;MKb&H*sOZ$<;R>}AS9u`MD{mg8^ zP)Iuw(M1d)m&T8tvhT8XhZb}JTQW}ak;&bA{7BIINVl*gVY3{x@RTXJi@!IfblvX5 z*d7XVY$kN*w&Cr0RmRnU$GVOLFLiO0y7@X7ozejho{77G8v^s-BX zQth!B2D?(g|GgXCIbNKdx9~;{xL%!E=e^w;XK+tTNy2B=x{BPWn`!k|b zgqrnlGm(&~TvB#V@l&T?FmxQp8p7FA|Hwka-<*sD3vE~7_6kr^m+fuAxWPZ4k^yO{ z*X-&OuouzZ;dbC7L8uK5D`nH30Qntfy(sQkSfBj8=Up8(c2MUVJqkBD!@QX@ZLc+1iPd1dAC#iDC zHhQ{t2Tj-`9?PfM_v9i+JZqfoiie28iu#26i}f^aOTNTf>MD1?dqN;@$;?r7!O|TL z14_B{Lw9+w5(NG!dDhP!9L z7!VHMCktbiF*mw}VP73D^C5kAOy2+@L=h0PZhG%ThN@zwNzjHGHWs^Y9MdEdrAks* z-6w855iw)6i0E~bxUg`%EhnHwewKDK>}J$pcMwVeSuXJ9i+Fy-cVT1jO4N|3p}yMJ ziOuTV7BRo41_L$Jhw(KI%kia1{>|;h43od<&52oIVrkTO-(vxRA3;xndxdD$Bb4gv z%FjO0hhgD56*+C0U&PIv&tz*2k{cC*Q_JUQj zISw-=6SFl|0WvR#xH6f$GjWWBBaz@dFbdyjm*44P@XVN>6k#3batg;qt+5z!jU=r= zKn5J`n2leju~-O1>Fxe0mPAP30sr>kTlcw+W_xR@=$Svc!b`|Q*MRcFIWQG=)-kh>o*mAb;Yi1zn~8{vKS;mX7M@lt|cV;>$eU9_klPBcv$E zVX}KJpiy6LB~N|}xa|7yFoSH}jBziIOHPCYm>HQ8zWHN86x5cCzFIQ9E%qws2mPNJ zff-7~SjBC`v65a)um3r?nwKPEF(`*}A+c)aZ%j|b1s^@=$W*nlX0Ypt)nPgw$Rt^Nu_jMmi@n+w1Uh81hxuV-c{nz6I5NFG9!f(i19` zkJ|m|8ci*^=J+drN!CQtkLHVr3(N4mV8Yh}8t`>S4pC}|ZNFDK#i(Z*y#lG)O{IF) zvU9#k&xLvuN#{x4SdC=yW=RW{w-WvHGtCL_ubh~2XKJjVkaVCobGf8iW(^WU zMMFFKQ^l!RZ|C=IlxNhcaLhsTk)a5(O-33NU@a)hHTFi$xKE@M+O{Nxac&v(pYJh? z&fSHQ!|qrtn?co)yi}>Y00lr!37K-RgPVOFgRdw!v|W&!K+RpHf&y&cs00?CNSBos zJzu?^CVIn;3f2xWoXw_Se4>+srkMqroeOQjUxN_=3oZwj>oA8se3pd>b~IDcN<~YIp31JT@4ihsX8@S zfq;FdAqN)B#iM@S;%7#PMT58ZpDV4lYkdQNeTK8TLH!&S?LRa!v10(LtM}F&Hd$^G zhEF9*XYdt2{AAs_`8)fHQ$(lQynesy!SySdg>xE`W8mls;Hxg0f!MdJeg3HL#ai9` z#3tjJ`AEpEhe4g!Ov?KllgwJ!A4IVVHpDKQSOi9kn}p7mzZIU3G__Zol=5osS0@R+ z-WxO0N|x=C!*hmvQu<6N0}H$puxVF)bGvrz+;wV~L=`n<@@D-dZW1T2SDm^1mpbn%C7gHyN5Es#_@scFkxIFW6+u!j zCc?84LW1!+_P*NuNzmtyNTNH=udtWpxj!{(v7{s1%kKw+du-a{!AZ{Smvt+y2b1K0 zFU*bx**Amu{An5vrgDycIQ((^{sTtvY}u=hyj_aGjc5@m;s@Eafw@2bH@F(3F!&-b z|Lb&%hZ2QoRn(TM1N>tt;Nh|g3}F;Q53PxT&9RXFBmMAlvRQX;La$6d>O#m0q&zfX zI(W@Vu7h0L7hcWd3-DgN*`nIduKPnjBm4MY9;}*2T*V%m>;e;&{Z%>YnZcX^L(_AI z)|CIQmsy?e+8;yh{qp2CRoR@$K&5g3LH#DS-9sfR<8v4lSm#DHt4E@P$*zg=bleBF3=M$Q*)^YX++ObSUf2xfG`Ox-3%v&$lpEE1=c}kfze7lreJp={UG=0f z`dvOh)!<;}(yBGJSWo6J7Df^Bbag7^^vL7WJaxWH#>npYgQ6aXNfVzF{i<_q zCnuik(SnD7%W7b_yMRhGmXb?!&Ic9=U;`uCZwtCsE6#N39 z(CT4MajAZfZM<+jZ6uxDS+YY&VH&6wb_ua%fmim7l_tsGh?uL2n%53f=)ZYVN#7^i zI{^@AEpVtbZ*DS`Y3T6vOB4X?-tJ8<9J?!Z)&oR4D|H{4;j~8nq}7H>YF*YQTp-e{Wo%Ad9e_Bg=6tPt*;dpFaJ5hwz1e zyIf>D+mXG9S^PIUz4%*Chsow8*i2H6%x4TXB*K6A0qSvV0HPq6F94nYuM>OpN*IRU zz|hyL#4H+T!=WG$(%UN298rxQAXcq{Z5LZR{}sP(Hj^eUVaM5zUxAd%ZX(}fmBX-x z?$kp+LNw-A;=NhXK0YmqzQRQWQ+%+MDl=>F~bR)>cP&svbAq|18OCo~*#xzS8+ zVs{{!QrWGy9>7{^a>@I%#HC}@6)b+d)Cf&BZ)@F8^9*&aA>ao$k;O$C;A2 z))H=$ChcnTPDS-TX`lFTQKWME0LCx#p@c2&8%VFXDVCb*c1ALabxYM+g}A#hzuTEI z7E$P$LS@}Ire7_$cochAPhCa&0+#lE4?ar3H^6^y2)sI^Q*f&BSCA7f@lW%I?L>29 z(zZwiTnvkayHZr(E82+z-$qsi~Z^ zUKXiId2Xv1h-oA!iaL#D^E=eNSVorS*ceq9@|VA>r1+O2dG02x{bZ>E?c*y0D6oye zuf&^{J>24Zyi`Pt(~!3XWPDLc3dkHtXo!vUubKXu{L_3?|1=+2#D{JwRP_2^E(ug{sywLs6`~SdKjD;46AqcYw?GXL1no1C?CQH~m$cpf1BF3b zvle%&9La5&>R|_^L7k<;P2>oTj_`{atdU!`>P%hW7S0LbOE70Hs_|R~0=It|VjjG) zBR)J4K<2tycOj>ExsHGRqZ`ru1qYG{7~rkJzUc~fr1O}b7X*7WX={Zt;u|2wMNn1J KRICD7M*a`Ft%^bb literal 4456 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 - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_bluetooth_service.html b/class_bluetooth_service.html index 74b2f252..6511a9d0 100644 --- a/class_bluetooth_service.html +++ b/class_bluetooth_service.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: BluetoothService Class Reference @@ -31,7 +31,7 @@ - + @@ -97,7 +97,7 @@ Inheritance diagram for BluetoothService:
Inheritance graph
- +
[legend]

Detailed Description

All Bluetooth services should include this class.

-

Definition at line 138 of file BTD.h.

+

Definition at line 137 of file BTD.h.

Member Function Documentation

@@ -127,7 +127,7 @@ Public Member Functions
- +

@@ -114,7 +114,7 @@ Public Member Functions

virtual void BluetoothService::ACLData ( uint8_t * ACLData)ACLData)
@@ -159,7 +159,7 @@ Public Member Functions virtual void BluetoothService::Run ( - ) + ) @@ -185,7 +185,7 @@ Public Member Functions virtual void BluetoothService::Reset ( - ) + ) @@ -211,7 +211,7 @@ Public Member Functions virtual void BluetoothService::disconnect ( - ) + ) @@ -235,7 +235,7 @@ Public Member Functions diff --git a/class_bluetooth_service__inherit__graph.map b/class_bluetooth_service__inherit__graph.map index 13fd2b13..680edf23 100644 --- a/class_bluetooth_service__inherit__graph.map +++ b/class_bluetooth_service__inherit__graph.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/class_bluetooth_service__inherit__graph.md5 b/class_bluetooth_service__inherit__graph.md5 index 30e1d563..9b617edb 100644 --- a/class_bluetooth_service__inherit__graph.md5 +++ b/class_bluetooth_service__inherit__graph.md5 @@ -1 +1 @@ -5bccfd11c1bd7961e3c2e112e820fb31 \ No newline at end of file +c1f5b5dce6e2afeb359e0a223a01e9b7 \ No newline at end of file diff --git a/class_bluetooth_service__inherit__graph.png b/class_bluetooth_service__inherit__graph.png index cd4a023fc663787083408121e41002e36da7f03c..687519bfa47f9c90158a84a44e7e51a0ee9f58d2 100644 GIT binary patch literal 6592 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 - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -102,44 +102,45 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); ConfigureDevice(uint8_t parent, uint8_t port, bool lowspeed)BulkOnlyvirtual CurrentCapacityBulkOnlyprotected CurrentSectorSizeBulkOnlyprotected - dCBWDataTransferLengthBulkOnlyprotected - dCBWTagBulkOnlyprotected - DEVCLASSOK(uint8_t klass)BulkOnlyinlinevirtual - EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)BulkOnlyvirtual - epDataInIndexBulkOnlyprotectedstatic - epDataOutIndexBulkOnlyprotectedstatic - epInfoBulkOnlyprotected - epInterruptInIndexBulkOnlyprotectedstatic - GetAddress()BulkOnlyinlinevirtual - GetbMaxLUN()BulkOnlyinline - GetbTheLUN()BulkOnlyinline - GetCapacity(uint8_t lun)BulkOnly - GetLastUsbError()BulkOnlyinline - GetSectorSize(uint8_t lun)BulkOnly - Init(uint8_t parent, uint8_t port, bool lowspeed)BulkOnlyvirtual - LockMedia(uint8_t lun, uint8_t lock)BulkOnly - LUNIsGood(uint8_t lun)BulkOnly - LUNOkBulkOnlyprotected - MediaCTL(uint8_t lun, uint8_t ctl)BulkOnly - OnInit()BulkOnlyinlineprotectedvirtual - Poll()BulkOnlyvirtual - PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)BulkOnlyprotected - pUsbBulkOnlyprotected - qNextPollTimeBulkOnlyprotected - Read(uint8_t lun, uint32_t addr, uint16_t bsize, uint8_t blocks, uint8_t *buf)BulkOnly - Read(uint8_t lun, uint32_t addr, uint16_t bsize, uint8_t blocks, USBReadParser *prs)BulkOnly - Release()BulkOnlyvirtual - ResetHubPort(uint8_t port)USBDeviceConfiginlinevirtual - VIDPIDOK(uint16_t vid, uint16_t pid)USBDeviceConfiginlinevirtual - Write(uint8_t lun, uint32_t addr, uint16_t bsize, uint8_t blocks, const uint8_t *buf)BulkOnly - WriteOkBulkOnlyprotected - WriteProtected(uint8_t lun)BulkOnly + dCBWTagBulkOnlyprotected + DEVCLASSOK(uint8_t klass)BulkOnlyinlinevirtual + EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)BulkOnlyvirtual + epDataInIndexBulkOnlyprotectedstatic + epDataOutIndexBulkOnlyprotectedstatic + epInfoBulkOnlyprotected + epInterruptInIndexBulkOnlyprotectedstatic + GetAddress()BulkOnlyinlinevirtual + GetbMaxLUN()BulkOnlyinline + GetbTheLUN()BulkOnlyinline + GetCapacity(uint8_t lun)BulkOnly + GetLastUsbError()BulkOnlyinline + GetSectorSize(uint8_t lun)BulkOnly + Init(uint8_t parent, uint8_t port, bool lowspeed)BulkOnlyvirtual + LockMedia(uint8_t lun, uint8_t lock)BulkOnly + LUNIsGood(uint8_t lun)BulkOnly + LUNOkBulkOnlyprotected + MediaCTL(uint8_t lun, uint8_t ctl)BulkOnly + OnInit()BulkOnlyinlineprotectedvirtual + Poll()BulkOnlyvirtual + PrintEndpointDescriptor(const USB_ENDPOINT_DESCRIPTOR *ep_ptr)BulkOnlyprotected + pUsbBulkOnlyprotected + qNextPollTimeBulkOnlyprotected + Read(uint8_t lun, uint32_t addr, uint16_t bsize, uint8_t blocks, uint8_t *buf)BulkOnly + Read(uint8_t lun, uint32_t addr, uint16_t bsize, uint8_t blocks, USBReadParser *prs)BulkOnly + Release()BulkOnlyvirtual + ResetHubPort(uint8_t port)USBDeviceConfiginlinevirtual + SCSITransaction10(CDB10_t *cdb, uint16_t buf_size, void *buf, uint8_t dir)BulkOnly + SCSITransaction6(CDB6_t *cdb, uint16_t buf_size, void *buf, uint8_t dir)BulkOnly + VIDPIDOK(uint16_t vid, uint16_t pid)USBDeviceConfiginlinevirtual + Write(uint8_t lun, uint32_t addr, uint16_t bsize, uint8_t blocks, const uint8_t *buf)BulkOnly + WriteOkBulkOnlyprotected + WriteProtected(uint8_t lun)BulkOnly diff --git a/class_bulk_only.html b/class_bulk_only.html index e8aac71f..bd93e726 100644 --- a/class_bulk_only.html +++ b/class_bulk_only.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: BulkOnly Class Reference @@ -31,7 +31,7 @@ - + @@ -100,14 +100,14 @@ Inheritance diagram for BulkOnly:
Inheritance graph
- +
[legend]
Collaboration diagram for BulkOnly:
Collaboration graph
- +
[legend]
+ + + + @@ -185,21 +189,19 @@ Protected Attributes - - - + - + - + - +

@@ -152,6 +152,10 @@ Public Member Functions

 
virtual boolean DEVCLASSOK (uint8_t klass)
 
uint8_t SCSITransaction6 (CDB6_t *cdb, uint16_t buf_size, void *buf, uint8_t dir)
 
uint8_t SCSITransaction10 (CDB10_t *cdb, uint16_t buf_size, void *buf, uint8_t dir)
 
- Public Member Functions inherited from USBDeviceConfig
virtual void ResetHubPort (uint8_t port)
 
 
uint32_t dCBWTag
 
uint32_t dCBWDataTransferLength
 
uint8_t bLastUsbError
 
uint8_t bMaxLUN
 
uint8_t bTheLUN
 
uint32_t CurrentCapacity [MASS_MAX_SUPPORTED_LUN]
uint32_t CurrentCapacity [MASS_MAX_SUPPORTED_LUN]
 
uint16_t CurrentSectorSize [MASS_MAX_SUPPORTED_LUN]
uint16_t CurrentSectorSize [MASS_MAX_SUPPORTED_LUN]
 
bool LUNOk [MASS_MAX_SUPPORTED_LUN]
bool LUNOk [MASS_MAX_SUPPORTED_LUN]
 
bool WriteOk [MASS_MAX_SUPPORTED_LUN]
bool WriteOk [MASS_MAX_SUPPORTED_LUN]
 

@@ -213,7 +215,7 @@ Static Protected Attributes

Detailed Description

-

Definition at line 206 of file masstorage.h.

+

Definition at line 441 of file masstorage.h.

Constructor & Destructor Documentation

@@ -223,13 +225,13 @@ Static Protected Attributes BulkOnly::BulkOnly ( USB *  - p) + p)
-

Definition at line 241 of file masstorage.cpp.

+

Definition at line 205 of file masstorage.cpp.

@@ -245,7 +247,7 @@ Static Protected Attributes void BulkOnly::PrintEndpointDescriptor ( const USB_ENDPOINT_DESCRIPTOR *  - ep_ptr) + ep_ptr) @@ -262,7 +264,7 @@ Static Protected Attributes -

Definition at line 1298 of file masstorage.cpp.

+

Definition at line 1182 of file masstorage.cpp.

@@ -276,7 +278,7 @@ Static Protected Attributes virtual uint8_t BulkOnly::OnInit ( - ) + ) @@ -287,7 +289,7 @@ Static Protected Attributes
-

Definition at line 236 of file masstorage.h.

+

Definition at line 471 of file masstorage.h.

@@ -301,7 +303,7 @@ Static Protected Attributes uint8_t BulkOnly::GetLastUsbError ( - ) + ) @@ -312,7 +314,7 @@ Static Protected Attributes
-

Definition at line 242 of file masstorage.h.

+

Definition at line 477 of file masstorage.h.

@@ -326,7 +328,7 @@ Static Protected Attributes uint8_t BulkOnly::GetbMaxLUN ( - ) + ) @@ -337,7 +339,7 @@ Static Protected Attributes
-

Definition at line 246 of file masstorage.h.

+

Definition at line 481 of file masstorage.h.

@@ -351,7 +353,7 @@ Static Protected Attributes uint8_t BulkOnly::GetbTheLUN ( - ) + ) @@ -362,7 +364,7 @@ Static Protected Attributes
-

Definition at line 250 of file masstorage.h.

+

Definition at line 485 of file masstorage.h.

@@ -374,7 +376,7 @@ Static Protected Attributes boolean BulkOnly::WriteProtected ( uint8_t  - lun) + lun) @@ -425,7 +427,7 @@ Static Protected Attributes
Returns
0 on success
-

Definition at line 97 of file masstorage.cpp.

+

Definition at line 113 of file masstorage.cpp.

@@ -483,7 +485,7 @@ Static Protected Attributes
Returns
0 on success
-

Definition at line 134 of file masstorage.cpp.

+

Definition at line 137 of file masstorage.cpp.

@@ -529,7 +531,7 @@ Static Protected Attributes
-

Definition at line 1326 of file masstorage.cpp.

+

Definition at line 1209 of file masstorage.cpp.

@@ -587,7 +589,7 @@ Static Protected Attributes
Returns
0 on success
-

Definition at line 186 of file masstorage.cpp.

+

Definition at line 171 of file masstorage.cpp.

@@ -624,7 +626,7 @@ Static Protected Attributes
Returns
-

Definition at line 66 of file masstorage.cpp.

+

Definition at line 97 of file masstorage.cpp.

@@ -636,7 +638,7 @@ Static Protected Attributes bool BulkOnly::LUNIsGood ( uint8_t  - lun) + lun) @@ -662,7 +664,7 @@ Static Protected Attributes uint32_t BulkOnly::GetCapacity ( uint8_t  - lun) + lun) @@ -688,7 +690,7 @@ Static Protected Attributes uint16_t BulkOnly::GetSectorSize ( uint8_t  - lun) + lun) @@ -755,7 +757,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 346 of file masstorage.cpp.

+

Definition at line 309 of file masstorage.cpp.

@@ -810,7 +812,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 270 of file masstorage.cpp.

+

Definition at line 234 of file masstorage.cpp.

@@ -824,7 +826,7 @@ Static Protected Attributes uint8_t BulkOnly::Release ( - ) + ) @@ -839,7 +841,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 571 of file masstorage.cpp.

+

Definition at line 558 of file masstorage.cpp.

@@ -853,7 +855,7 @@ Static Protected Attributes uint8_t BulkOnly::Poll ( - ) + ) @@ -868,7 +870,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 649 of file masstorage.cpp.

+

Definition at line 636 of file masstorage.cpp.

@@ -882,7 +884,7 @@ Static Protected Attributes virtual uint8_t BulkOnly::GetAddress ( - ) + ) @@ -895,7 +897,7 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 272 of file masstorage.h.

+

Definition at line 507 of file masstorage.h.

@@ -962,7 +964,7 @@ Static Protected Attributes

Implements UsbConfigXtracter.

-

Definition at line 539 of file masstorage.cpp.

+

Definition at line 526 of file masstorage.cpp.

@@ -977,7 +979,7 @@ Static Protected Attributes virtual boolean BulkOnly::DEVCLASSOK ( uint8_t  - klass) + klass) @@ -990,7 +992,109 @@ Static Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 278 of file masstorage.h.

+

Definition at line 514 of file masstorage.h.

+ + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint8_t BulkOnly::SCSITransaction6 (CDB6_tcdb,
uint16_t buf_size,
void * buf,
uint8_t dir 
)
+
+

Wrap and execute a SCSI CDB with length of 6

+
Parameters
+ + + + + +
cdbCDB to execute
buf_sizeSize of expected transaction
bufBuffer
dirMASS_CMD_DIR_IN | MASS_CMD_DIR_OUT
+
+
+
Returns
+ +

Definition at line 66 of file masstorage.cpp.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
uint8_t BulkOnly::SCSITransaction10 (CDB10_tcdb,
uint16_t buf_size,
void * buf,
uint8_t dir 
)
+
+

Wrap and execute a SCSI CDB with length of 10

+
Parameters
+ + + + + +
cdbCDB to execute
buf_sizeSize of expected transaction
bufBuffer
dirMASS_CMD_DIR_IN | MASS_CMD_DIR_OUT
+
+
+
Returns
+ +

Definition at line 82 of file masstorage.cpp.

@@ -1013,7 +1117,7 @@ Static Protected Attributes
-

Definition at line 208 of file masstorage.h.

+

Definition at line 443 of file masstorage.h.

@@ -1035,7 +1139,7 @@ Static Protected Attributes
-

Definition at line 209 of file masstorage.h.

+

Definition at line 444 of file masstorage.h.

@@ -1057,7 +1161,7 @@ Static Protected Attributes
-

Definition at line 210 of file masstorage.h.

+

Definition at line 445 of file masstorage.h.

@@ -1079,7 +1183,7 @@ Static Protected Attributes
-

Definition at line 212 of file masstorage.h.

+

Definition at line 447 of file masstorage.h.

@@ -1101,7 +1205,7 @@ Static Protected Attributes
-

Definition at line 213 of file masstorage.h.

+

Definition at line 448 of file masstorage.h.

@@ -1123,7 +1227,7 @@ Static Protected Attributes
-

Definition at line 214 of file masstorage.h.

+

Definition at line 449 of file masstorage.h.

@@ -1145,7 +1249,7 @@ Static Protected Attributes
-

Definition at line 215 of file masstorage.h.

+

Definition at line 450 of file masstorage.h.

@@ -1167,7 +1271,7 @@ Static Protected Attributes
-

Definition at line 216 of file masstorage.h.

+

Definition at line 451 of file masstorage.h.

@@ -1189,7 +1293,7 @@ Static Protected Attributes
-

Definition at line 217 of file masstorage.h.

+

Definition at line 452 of file masstorage.h.

@@ -1211,7 +1315,7 @@ Static Protected Attributes
-

Definition at line 218 of file masstorage.h.

+

Definition at line 453 of file masstorage.h.

@@ -1233,7 +1337,7 @@ Static Protected Attributes
-

Definition at line 220 of file masstorage.h.

+

Definition at line 455 of file masstorage.h.

@@ -1255,29 +1359,7 @@ Static Protected Attributes
-

Definition at line 222 of file masstorage.h.

- -
- - -
-
- - - - - -
- - - - -
uint32_t BulkOnly::dCBWDataTransferLength
-
-protected
-
- -

Definition at line 223 of file masstorage.h.

+

Definition at line 457 of file masstorage.h.

@@ -1299,7 +1381,7 @@ Static Protected Attributes
-

Definition at line 224 of file masstorage.h.

+

Definition at line 459 of file masstorage.h.

@@ -1321,7 +1403,7 @@ Static Protected Attributes
-

Definition at line 225 of file masstorage.h.

+

Definition at line 460 of file masstorage.h.

@@ -1343,7 +1425,7 @@ Static Protected Attributes
-

Definition at line 226 of file masstorage.h.

+

Definition at line 461 of file masstorage.h.

@@ -1355,7 +1437,7 @@ Static Protected Attributes - +
uint32_t BulkOnly::CurrentCapacity[MASS_MAX_SUPPORTED_LUN]uint32_t BulkOnly::CurrentCapacity[MASS_MAX_SUPPORTED_LUN]
@@ -1365,7 +1447,7 @@ Static Protected Attributes
-

Definition at line 227 of file masstorage.h.

+

Definition at line 462 of file masstorage.h.

@@ -1377,7 +1459,7 @@ Static Protected Attributes - +
uint16_t BulkOnly::CurrentSectorSize[MASS_MAX_SUPPORTED_LUN]uint16_t BulkOnly::CurrentSectorSize[MASS_MAX_SUPPORTED_LUN]
@@ -1387,7 +1469,7 @@ Static Protected Attributes
-

Definition at line 228 of file masstorage.h.

+

Definition at line 463 of file masstorage.h.

@@ -1399,7 +1481,7 @@ Static Protected Attributes - +
bool BulkOnly::LUNOk[MASS_MAX_SUPPORTED_LUN]bool BulkOnly::LUNOk[MASS_MAX_SUPPORTED_LUN]
@@ -1409,7 +1491,7 @@ Static Protected Attributes
-

Definition at line 229 of file masstorage.h.

+

Definition at line 464 of file masstorage.h.

@@ -1421,7 +1503,7 @@ Static Protected Attributes - +
bool BulkOnly::WriteOk[MASS_MAX_SUPPORTED_LUN]bool BulkOnly::WriteOk[MASS_MAX_SUPPORTED_LUN]
@@ -1431,7 +1513,7 @@ Static Protected Attributes
-

Definition at line 230 of file masstorage.h.

+

Definition at line 465 of file masstorage.h.

@@ -1444,7 +1526,7 @@ Static Protected Attributes diff --git a/class_bulk_only__coll__graph.map b/class_bulk_only__coll__graph.map index 2b937226..612b0f7f 100644 --- a/class_bulk_only__coll__graph.map +++ b/class_bulk_only__coll__graph.map @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/class_bulk_only__coll__graph.md5 b/class_bulk_only__coll__graph.md5 index 150425d5..e993d046 100644 --- a/class_bulk_only__coll__graph.md5 +++ b/class_bulk_only__coll__graph.md5 @@ -1 +1 @@ -0f09801277aa5b0f29db8802295e8ab3 \ No newline at end of file +3d45c6122208407db0c669272fecf2e2 \ No newline at end of file diff --git a/class_bulk_only__coll__graph.png b/class_bulk_only__coll__graph.png index 32f9987b62a2e029ee622119671cfbdcca5df23d..2fd266142b8212c52a5c415c9998f6d6804a1e48 100644 GIT binary patch literal 17232 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 afh_$m1r7zN<`E3=BPAv;S|)7h|Gxmo+O)m^ literal 9552 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 - - + + diff --git a/class_bulk_only__inherit__graph.md5 b/class_bulk_only__inherit__graph.md5 index c03d846b..d585bee0 100644 --- a/class_bulk_only__inherit__graph.md5 +++ b/class_bulk_only__inherit__graph.md5 @@ -1 +1 @@ -b4b1af34a2c8b83bac621bd43b3a1168 \ No newline at end of file +56d5764d63044c2fb0319b525dd7bedc \ No newline at end of file diff --git a/class_bulk_only__inherit__graph.png b/class_bulk_only__inherit__graph.png index 9ca998c9c2443c2e0bfcd4be678ecd856113740a..e05f83878885c37edd9a67e1a72196b41c3f2d9c 100644 GIT binary patch literal 8220 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 x3XnwBbcWOy1gj!d`pat4$MJV0r4!sPoV+RE>6 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 diff --git a/class_byte_skipper-members.html b/class_byte_skipper-members.html index 8f59b949..64e812dd 100644 --- a/class_byte_skipper-members.html +++ b/class_byte_skipper-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_byte_skipper.html b/class_byte_skipper.html index 02fb4f52..1eda1b71 100644 --- a/class_byte_skipper.html +++ b/class_byte_skipper.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: ByteSkipper Class Reference @@ -31,7 +31,7 @@ - + @@ -104,7 +104,7 @@ Public Member Functions

Detailed Description

-

Definition at line 59 of file parsetools.h.

+

Definition at line 50 of file parsetools.h.

Constructor & Destructor Documentation

@@ -116,7 +116,7 @@ Public Member Functions ByteSkipper::ByteSkipper ( - ) + ) @@ -127,7 +127,7 @@ Public Member Functions
-

Definition at line 66 of file parsetools.h.

+

Definition at line 57 of file parsetools.h.

@@ -143,7 +143,7 @@ Public Member Functions void ByteSkipper::Initialize ( MultiValueBuffer *  - pbuf) + pbuf) @@ -154,7 +154,7 @@ Public Member Functions
-

Definition at line 69 of file parsetools.h.

+

Definition at line 60 of file parsetools.h.

@@ -196,7 +196,7 @@ Public Member Functions
-

Definition at line 74 of file parsetools.h.

+

Definition at line 65 of file parsetools.h.

@@ -208,7 +208,7 @@ Public Member Functions diff --git a/class_c_d_c_async_oper-members.html b/class_c_d_c_async_oper-members.html index 53281563..d2a6b622 100644 --- a/class_c_d_c_async_oper-members.html +++ b/class_c_d_c_async_oper-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_c_d_c_async_oper.html b/class_c_d_c_async_oper.html index ff9b4baf..3f3d21be 100644 --- a/class_c_d_c_async_oper.html +++ b/class_c_d_c_async_oper.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: CDCAsyncOper Class Reference @@ -31,7 +31,7 @@ - + @@ -100,7 +100,7 @@ Public Member Functions

Detailed Description

-

Definition at line 147 of file cdcacm.h.

+

Definition at line 129 of file cdcacm.h.

Member Function Documentation

@@ -113,7 +113,7 @@ Public Member Functions virtual uint8_t CDCAsyncOper::OnInit ( ACM *  - pacm) + pacm) @@ -134,7 +134,7 @@ Public Member Functions diff --git a/class_config_desc_parser-members.html b/class_config_desc_parser-members.html index a8545a9e..34f6534e 100644 --- a/class_config_desc_parser-members.html +++ b/class_config_desc_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@
- + @@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_config_desc_parser.html b/class_config_desc_parser.html index c88cb38d..56605672 100644 --- a/class_config_desc_parser.html +++ b/class_config_desc_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: ConfigDescParser< CLASS_ID, SUBCLASS_ID, PROTOCOL_ID, MASK > Class Template Reference @@ -31,7 +31,7 @@ - + @@ -97,14 +97,14 @@ Inheritance diagram for ConfigDescParser< CLASS_ID, SUBCLASS_ID, PROTOCOL_ID,
Inheritance graph
- +
[legend]
Collaboration diagram for ConfigDescParser< CLASS_ID, SUBCLASS_ID, PROTOCOL_ID, MASK >:
Collaboration graph
- +
[legend]
class ConfigDescParser< CLASS_ID, SUBCLASS_ID, PROTOCOL_ID, MASK > -

Definition at line 43 of file confdescparser.h.

+

Definition at line 39 of file confdescparser.h.

Constructor & Destructor Documentation

@@ -131,13 +131,13 @@ template<const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PRO
- +

@@ -119,7 +119,7 @@ Public Member Functions

ConfigDescParser< CLASS_ID, SUBCLASS_ID, PROTOCOL_ID, MASK >::ConfigDescParser ( UsbConfigXtracterxtractor)xtractor)
-

Definition at line 71 of file confdescparser.h.

+

Definition at line 67 of file confdescparser.h.

@@ -184,7 +184,7 @@ template<const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PRO

Implements USBReadParser.

-

Definition at line 82 of file confdescparser.h.

+

Definition at line 78 of file confdescparser.h.

@@ -196,7 +196,7 @@ template<const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PRO diff --git a/class_config_desc_parser__coll__graph.map b/class_config_desc_parser__coll__graph.map index 1ee1ae27..2463cb8f 100644 --- a/class_config_desc_parser__coll__graph.map +++ b/class_config_desc_parser__coll__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_config_desc_parser__coll__graph.md5 b/class_config_desc_parser__coll__graph.md5 index 517abd2f..d500e5a6 100644 --- a/class_config_desc_parser__coll__graph.md5 +++ b/class_config_desc_parser__coll__graph.md5 @@ -1 +1 @@ -eafdea3b26663d6be58b36b49cbc102f \ No newline at end of file +e7881467fbeaf56de26bf3e709c6ae68 \ No newline at end of file diff --git a/class_config_desc_parser__coll__graph.png b/class_config_desc_parser__coll__graph.png index 42154a323b14965ad19726d28dbcb12f6295514f..87b47851c4f4d824ceca716127b71f3957d15c9d 100644 GIT binary patch literal 8909 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 literal 4361 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 diff --git a/class_config_desc_parser__inherit__graph.map b/class_config_desc_parser__inherit__graph.map index 1ee1ae27..2463cb8f 100644 --- a/class_config_desc_parser__inherit__graph.map +++ b/class_config_desc_parser__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_config_desc_parser__inherit__graph.md5 b/class_config_desc_parser__inherit__graph.md5 index 517abd2f..d500e5a6 100644 --- a/class_config_desc_parser__inherit__graph.md5 +++ b/class_config_desc_parser__inherit__graph.md5 @@ -1 +1 @@ -eafdea3b26663d6be58b36b49cbc102f \ No newline at end of file +e7881467fbeaf56de26bf3e709c6ae68 \ No newline at end of file diff --git a/class_config_desc_parser__inherit__graph.png b/class_config_desc_parser__inherit__graph.png index 42154a323b14965ad19726d28dbcb12f6295514f..87b47851c4f4d824ceca716127b71f3957d15c9d 100644 GIT binary patch literal 8909 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 literal 4361 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 diff --git a/class_f_t_d_i-members.html b/class_f_t_d_i-members.html index 60ebeb04..2bc2c7b3 100644 --- a/class_f_t_d_i-members.html +++ b/class_f_t_d_i-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_f_t_d_i.html b/class_f_t_d_i.html index c50008b5..e99a9da8 100644 --- a/class_f_t_d_i.html +++ b/class_f_t_d_i.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: FTDI Class Reference @@ -31,7 +31,7 @@ - + @@ -97,14 +97,14 @@ Inheritance diagram for FTDI:
Inheritance graph
- +
[legend]
Collaboration diagram for FTDI:
Collaboration graph
- +
[legend]

@@ -145,7 +145,7 @@ Public Member Functions

Detailed Description

-

Definition at line 107 of file cdcftdi.h.

+

Definition at line 89 of file cdcftdi.h.

Constructor & Destructor Documentation

@@ -184,7 +184,7 @@ Public Member Functions uint8_t FTDI::SetBaudRate ( uint32_t  - baud) + baud) @@ -202,7 +202,7 @@ Public Member Functions uint8_t FTDI::SetModemControl ( uint16_t  - control) + control) @@ -254,7 +254,7 @@ Public Member Functions uint8_t FTDI::SetData ( uint16_t  - databm) + databm) @@ -374,7 +374,7 @@ Public Member Functions uint8_t FTDI::Release ( - ) + ) @@ -401,7 +401,7 @@ Public Member Functions uint8_t FTDI::Poll ( - ) + ) @@ -428,7 +428,7 @@ Public Member Functions virtual uint8_t FTDI::GetAddress ( - ) + ) @@ -441,7 +441,7 @@ Public Member Functions

Reimplemented from USBDeviceConfig.

-

Definition at line 143 of file cdcftdi.h.

+

Definition at line 125 of file cdcftdi.h.

@@ -510,7 +510,7 @@ Public Member Functions diff --git a/class_f_t_d_i__coll__graph.map b/class_f_t_d_i__coll__graph.map index 8cecaa55..bf7a171a 100644 --- a/class_f_t_d_i__coll__graph.map +++ b/class_f_t_d_i__coll__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/class_f_t_d_i__coll__graph.md5 b/class_f_t_d_i__coll__graph.md5 index 5539ba04..76857971 100644 --- a/class_f_t_d_i__coll__graph.md5 +++ b/class_f_t_d_i__coll__graph.md5 @@ -1 +1 @@ -2eddae51e04a42f9329fe02f86a6e449 \ No newline at end of file +e5e07d3721e783dff0d1e851b88878cf \ No newline at end of file diff --git a/class_f_t_d_i__coll__graph.png b/class_f_t_d_i__coll__graph.png index f5b7131d1676d07878aebe6a314fdde95477e6df..0cd6d98f56a60f41c48352459a9f466a83196e49 100644 GIT binary patch literal 7620 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 literal 4464 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 - - + + diff --git a/class_f_t_d_i__inherit__graph.md5 b/class_f_t_d_i__inherit__graph.md5 index 5539ba04..76857971 100644 --- a/class_f_t_d_i__inherit__graph.md5 +++ b/class_f_t_d_i__inherit__graph.md5 @@ -1 +1 @@ -2eddae51e04a42f9329fe02f86a6e449 \ No newline at end of file +e5e07d3721e783dff0d1e851b88878cf \ No newline at end of file diff --git a/class_f_t_d_i__inherit__graph.png b/class_f_t_d_i__inherit__graph.png index f5b7131d1676d07878aebe6a314fdde95477e6df..0cd6d98f56a60f41c48352459a9f466a83196e49 100644 GIT binary patch literal 7620 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 literal 4464 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 - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_f_t_d_i_async_oper.html b/class_f_t_d_i_async_oper.html index 90755a7a..6dc950d8 100644 --- a/class_f_t_d_i_async_oper.html +++ b/class_f_t_d_i_async_oper.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: FTDIAsyncOper Class Reference @@ -31,7 +31,7 @@ - + @@ -100,7 +100,7 @@ Public Member Functions

Detailed Description

-

Definition at line 97 of file cdcftdi.h.

+

Definition at line 79 of file cdcftdi.h.

Member Function Documentation

@@ -113,7 +113,7 @@ Public Member Functions virtual uint8_t FTDIAsyncOper::OnInit ( FTDI *  - pftdi) + pftdi) @@ -134,7 +134,7 @@ Public Member Functions diff --git a/class_h_i_d-members.html b/class_h_i_d-members.html index 59f36871..a44c33d4 100644 --- a/class_h_i_d-members.html +++ b/class_h_i_d-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@
- + @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_h_i_d.html b/class_h_i_d.html index 3f787408..9f77a14a 100644 --- a/class_h_i_d.html +++ b/class_h_i_d.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: HID Class Reference @@ -31,7 +31,7 @@ - + @@ -100,14 +100,14 @@ Inheritance diagram for HID:
Inheritance graph
- +
[legend]
Collaboration diagram for HID:
Collaboration graph
- +
[legend]

@@ -186,7 +186,7 @@ Static Protected Attributes

Detailed Description

-

Definition at line 161 of file hid.h.

+

Definition at line 143 of file hid.h.

Constructor & Destructor Documentation

@@ -199,7 +199,7 @@ Static Protected Attributes HID::HID ( USB *  - pusb) + pusb) @@ -210,7 +210,7 @@ Static Protected Attributes
-

Definition at line 181 of file hid.h.

+

Definition at line 163 of file hid.h.

@@ -226,7 +226,7 @@ Static Protected Attributes void HID::PrintEndpointDescriptor ( const USB_ENDPOINT_DESCRIPTOR *  - ep_ptr) + ep_ptr) @@ -252,7 +252,7 @@ Static Protected Attributes void HID::PrintHidDescriptor ( const USB_HID_DESCRIPTOR *  - pDesc) + pDesc) @@ -278,7 +278,7 @@ Static Protected Attributes virtual HIDReportParser* HID::GetReportParser ( uint8_t  - id) + id) @@ -303,7 +303,7 @@ Static Protected Attributes const USB* HID::GetUsb ( - ) + ) @@ -314,7 +314,7 @@ Static Protected Attributes
-

Definition at line 184 of file hid.h.

+

Definition at line 166 of file hid.h.

@@ -661,7 +661,7 @@ Static Protected Attributes
-

Definition at line 163 of file hid.h.

+

Definition at line 145 of file hid.h.

@@ -683,7 +683,7 @@ Static Protected Attributes
-

Definition at line 164 of file hid.h.

+

Definition at line 146 of file hid.h.

@@ -705,7 +705,7 @@ Static Protected Attributes
-

Definition at line 167 of file hid.h.

+

Definition at line 149 of file hid.h.

@@ -727,7 +727,7 @@ Static Protected Attributes
-

Definition at line 168 of file hid.h.

+

Definition at line 150 of file hid.h.

@@ -749,7 +749,7 @@ Static Protected Attributes
-

Definition at line 170 of file hid.h.

+

Definition at line 152 of file hid.h.

@@ -771,7 +771,7 @@ Static Protected Attributes
-

Definition at line 171 of file hid.h.

+

Definition at line 153 of file hid.h.

@@ -793,7 +793,7 @@ Static Protected Attributes
-

Definition at line 172 of file hid.h.

+

Definition at line 154 of file hid.h.

@@ -806,7 +806,7 @@ Static Protected Attributes diff --git a/class_h_i_d__coll__graph.map b/class_h_i_d__coll__graph.map index 3b5bfb97..c98f2cf8 100644 --- a/class_h_i_d__coll__graph.map +++ b/class_h_i_d__coll__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/class_h_i_d__coll__graph.md5 b/class_h_i_d__coll__graph.md5 index bfca39af..b57fdbbe 100644 --- a/class_h_i_d__coll__graph.md5 +++ b/class_h_i_d__coll__graph.md5 @@ -1 +1 @@ -48aac4308fb08d5067b51c08ca580d8d \ No newline at end of file +95e144b588214fefcf1c4b3b9ba8f1c5 \ No newline at end of file diff --git a/class_h_i_d__coll__graph.png b/class_h_i_d__coll__graph.png index e8e9771a6cd0e85dc077db3633c54c835b9a6c75..c22240e847dccbba8acdbe3dd0e6f11233394d4e 100644 GIT binary patch literal 13271 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 B6!QQ8 literal 7051 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 AW&i*H diff --git a/class_h_i_d__inherit__graph.map b/class_h_i_d__inherit__graph.map index c9169f80..dbde27e8 100644 --- a/class_h_i_d__inherit__graph.map +++ b/class_h_i_d__inherit__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/class_h_i_d__inherit__graph.md5 b/class_h_i_d__inherit__graph.md5 index 335d0902..8ddb2ca3 100644 --- a/class_h_i_d__inherit__graph.md5 +++ b/class_h_i_d__inherit__graph.md5 @@ -1 +1 @@ -6fc034af385a87181775473e2d7dfce0 \ No newline at end of file +64d23b25ea5d1ffc660f46d28cb2ebf3 \ No newline at end of file diff --git a/class_h_i_d__inherit__graph.png b/class_h_i_d__inherit__graph.png index 24d2a737446b0303eff5bfbb5d27ed4dcccd875e..c779d98647d819fd2864a9a00acb24e89ae60992 100644 GIT binary patch literal 14085 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 Km8qA4g#RDYh^AZs literal 8645 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 - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_h_i_d_boot.html b/class_h_i_d_boot.html index 13a427cf..30e6ba30 100644 --- a/class_h_i_d_boot.html +++ b/class_h_i_d_boot.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: HIDBoot< BOOT_PROTOCOL > Class Template Reference @@ -31,7 +31,7 @@ - + @@ -97,14 +97,14 @@ Inheritance diagram for HIDBoot< BOOT_PROTOCOL >:
Inheritance graph
- +
[legend]
Collaboration diagram for HIDBoot< BOOT_PROTOCOL >:
Collaboration graph
- +
[legend]
class HIDBoot< BOOT_PROTOCOL > -

Definition at line 179 of file hidboot.h.

+

Definition at line 160 of file hidboot.h.

Constructor & Destructor Documentation

@@ -195,13 +195,13 @@ template<const uint8_t BOOT_PROTOCOL>
- +

@@ -183,7 +183,7 @@ Additional Inherited Members

HIDBoot< BOOT_PROTOCOL >::HIDBoot ( USBp)p)
-

Definition at line 220 of file hidboot.h.

+

Definition at line 200 of file hidboot.h.

@@ -242,7 +242,7 @@ template<const uint8_t BOOT_PROTOCOL>

Reimplemented from HID.

-

Definition at line 201 of file hidboot.h.

+

Definition at line 181 of file hidboot.h.

@@ -288,7 +288,7 @@ template<const uint8_t BOOT_PROTOCOL>

Reimplemented from USBDeviceConfig.

-

Definition at line 245 of file hidboot.h.

+

Definition at line 227 of file hidboot.h.

@@ -304,7 +304,7 @@ template<const uint8_t BOOT_PROTOCOL> uint8_t HIDBoot< BOOT_PROTOCOL >::Release ( - ) + ) @@ -333,7 +333,7 @@ template<const uint8_t BOOT_PROTOCOL> uint8_t HIDBoot< BOOT_PROTOCOL >::Poll ( - ) + ) @@ -362,7 +362,7 @@ template<const uint8_t BOOT_PROTOCOL> virtual uint8_t HIDBoot< BOOT_PROTOCOL >::GetAddress ( - ) + ) @@ -375,7 +375,7 @@ template<const uint8_t BOOT_PROTOCOL>

Reimplemented from USBDeviceConfig.

-

Definition at line 211 of file hidboot.h.

+

Definition at line 191 of file hidboot.h.

@@ -433,7 +433,7 @@ template<const uint8_t BOOT_PROTOCOL>

Implements UsbConfigXtracter.

-

Definition at line 439 of file hidboot.h.

+

Definition at line 441 of file hidboot.h.

@@ -445,7 +445,7 @@ template<const uint8_t BOOT_PROTOCOL> diff --git a/class_h_i_d_boot__coll__graph.map b/class_h_i_d_boot__coll__graph.map index 76f0a887..259e969c 100644 --- a/class_h_i_d_boot__coll__graph.map +++ b/class_h_i_d_boot__coll__graph.map @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/class_h_i_d_boot__coll__graph.md5 b/class_h_i_d_boot__coll__graph.md5 index 2e6f32e9..d90f3b69 100644 --- a/class_h_i_d_boot__coll__graph.md5 +++ b/class_h_i_d_boot__coll__graph.md5 @@ -1 +1 @@ -b5937a7537e9c320aec0e437e2398965 \ No newline at end of file +6920cfc35976940c341067e838cfc9bd \ No newline at end of file diff --git a/class_h_i_d_boot__coll__graph.png b/class_h_i_d_boot__coll__graph.png index 9049ea80eaeb83fbc42bb1c58f95347a5a7842d2..43ae6049efdf672bcebb928f6b134e690fc3d786 100644 GIT binary patch literal 17259 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 MWK^X~B~3&A2g?bE&;S4c diff --git a/class_h_i_d_boot__inherit__graph.map b/class_h_i_d_boot__inherit__graph.map index 093ce7b1..af00e49c 100644 --- a/class_h_i_d_boot__inherit__graph.map +++ b/class_h_i_d_boot__inherit__graph.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/class_h_i_d_boot__inherit__graph.md5 b/class_h_i_d_boot__inherit__graph.md5 index 18a68e73..630b7c89 100644 --- a/class_h_i_d_boot__inherit__graph.md5 +++ b/class_h_i_d_boot__inherit__graph.md5 @@ -1 +1 @@ -58d2452ac23daf36b91f7ba5d2c386c3 \ No newline at end of file +eb02cf549973a15ded74b4d4aab3ce68 \ No newline at end of file diff --git a/class_h_i_d_boot__inherit__graph.png b/class_h_i_d_boot__inherit__graph.png index d0e26bb39bad1554aefc686aca8ac88be65ff64c..ee5a68aeedeeee85fa18f44a2caf594793ec204b 100644 GIT binary patch literal 11369 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 literal 6279 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 diff --git a/class_h_i_d_report_parser-members.html b/class_h_i_d_report_parser-members.html index ce0012fd..8a17eebf 100644 --- a/class_h_i_d_report_parser-members.html +++ b/class_h_i_d_report_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_h_i_d_report_parser.html b/class_h_i_d_report_parser.html index 8fd0438c..b4191950 100644 --- a/class_h_i_d_report_parser.html +++ b/class_h_i_d_report_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: HIDReportParser Class Reference @@ -31,7 +31,7 @@ - + @@ -97,7 +97,7 @@ Inheritance diagram for HIDReportParser:
Inheritance graph
- +
[legend]

@@ -107,7 +107,7 @@ Public Member Functions

Detailed Description

-

Definition at line 153 of file hid.h.

+

Definition at line 135 of file hid.h.

Member Function Documentation

@@ -165,7 +165,7 @@ Public Member Functions diff --git a/class_h_i_d_report_parser__inherit__graph.map b/class_h_i_d_report_parser__inherit__graph.map index fdd6e469..663f5228 100644 --- a/class_h_i_d_report_parser__inherit__graph.map +++ b/class_h_i_d_report_parser__inherit__graph.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/class_h_i_d_report_parser__inherit__graph.md5 b/class_h_i_d_report_parser__inherit__graph.md5 index c4b89328..44e50d86 100644 --- a/class_h_i_d_report_parser__inherit__graph.md5 +++ b/class_h_i_d_report_parser__inherit__graph.md5 @@ -1 +1 @@ -bf710eeb109412dd5fa5604d596be7a8 \ No newline at end of file +c82eb64e4e9d8248b32e0db32cbfa973 \ No newline at end of file diff --git a/class_h_i_d_report_parser__inherit__graph.png b/class_h_i_d_report_parser__inherit__graph.png index 120fc1e2687441fbf67e61460e059801fd71f293..980a75bf955b4f934038483cb3caccfd52aba1a4 100644 GIT binary patch literal 12125 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 E2gUDuTmS$7 literal 6518 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 cnb-{ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@
- + @@ -128,7 +128,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_h_i_d_universal.html b/class_h_i_d_universal.html index 32644b29..298d5cc7 100644 --- a/class_h_i_d_universal.html +++ b/class_h_i_d_universal.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: HIDUniversal Class Reference @@ -31,7 +31,7 @@ - + @@ -100,14 +100,14 @@ Inheritance diagram for HIDUniversal:
Inheritance graph
- +
[legend]
Collaboration diagram for HIDUniversal:
Collaboration graph
- +
[legend]
- +

@@ -205,7 +205,7 @@ Additional Inherited Members

HIDUniversal::HIDUniversal ( USBp)p)
@@ -227,7 +227,7 @@ Additional Inherited Members HIDReportParser * HIDUniversal::GetReportParser ( uint8_t  - id) + id) @@ -254,7 +254,7 @@ Additional Inherited Members virtual uint8_t HIDUniversal::OnInitSuccessful ( - ) + ) @@ -361,7 +361,7 @@ Additional Inherited Members uint8_t HIDUniversal::Release ( - ) + ) @@ -374,7 +374,7 @@ Additional Inherited Members

Reimplemented from USBDeviceConfig.

-

Definition at line 312 of file hiduniversal.cpp.

+

Definition at line 314 of file hiduniversal.cpp.

@@ -388,7 +388,7 @@ Additional Inherited Members uint8_t HIDUniversal::Poll ( - ) + ) @@ -401,7 +401,7 @@ Additional Inherited Members

Reimplemented from USBDeviceConfig.

-

Definition at line 339 of file hiduniversal.cpp.

+

Definition at line 341 of file hiduniversal.cpp.

@@ -415,7 +415,7 @@ Additional Inherited Members virtual uint8_t HIDUniversal::GetAddress ( - ) + ) @@ -484,7 +484,7 @@ Additional Inherited Members

Implements UsbConfigXtracter.

-

Definition at line 269 of file hiduniversal.cpp.

+

Definition at line 271 of file hiduniversal.cpp.

@@ -520,7 +520,7 @@ Additional Inherited Members diff --git a/class_h_i_d_universal__coll__graph.map b/class_h_i_d_universal__coll__graph.map index 5b3c309d..e128a7e9 100644 --- a/class_h_i_d_universal__coll__graph.map +++ b/class_h_i_d_universal__coll__graph.map @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/class_h_i_d_universal__coll__graph.md5 b/class_h_i_d_universal__coll__graph.md5 index 5d734ed4..1e8407bb 100644 --- a/class_h_i_d_universal__coll__graph.md5 +++ b/class_h_i_d_universal__coll__graph.md5 @@ -1 +1 @@ -cecdeff0a9ce6c567c1aaf23db3c7bc8 \ No newline at end of file +838f05b506eebd3cfd2ed26c91103913 \ No newline at end of file diff --git a/class_h_i_d_universal__coll__graph.png b/class_h_i_d_universal__coll__graph.png index e92a7fe40995689bc0d86c77678b928c56ebe159..90afa8e88ee8b2e37e114ff12c55ddc1635e7a46 100644 GIT binary patch literal 16053 zcmeHuRa{l!w=JZw>25ZS(jWp#N(e{`(p@6m-65SST_W8GNQZQH*Zns4{_lA` zZ|CLwe)^z$#kbZs)|_LGIcA8evK%HFDH~X_cwg|B0R8MRgnm65NO+uPz3NN2rdwg3W7%skN3qGfdIi?_liXbH3|+@73Giw{3o@q z0AmzEx9Nw`mp%}3X~W4bq^_J9d(YxKx(Dt5rtEAg0cL6@Oeur`zgvw|aXr zoanw^-)-FLxTWs;aCfoRabUKS4@ zKODTlRFkDP-}{9DPq2bKtqOhk`D*JBiVhyw7U3u%+*}-VJ1eowkHnQ(rHQzXUCJc| zq7z*QOxJvfj899mn$s%PUS2uht6hAHii-LsnpUQiPA6T3ra5Ry_A}3+>nd06p6UCY@=*UM@pWq?j*t92w1;A}U;sh{J zqkM!>q4QjyceOJIR`lJ$qt>ZO(BU&GM!6p}Yt8($ev#>M91@xNT(h_*OTu3|&_^+u zOXm7?%Xr@i8}Wx?t<8L%PL0{RzWcSGcwvxLu4H$>h1Mbz3DWx4z`OY%A;2*$3poGi7twV<u4JePkVOr;wc?n4{cYXjxW^3*vw z@gdQ0sM3Bu#oDXuskTq8bEH&kiqwQhNqykbrlSNv(& z@%$3g1dCFHx%fF(F4F0~<{`1|jJ!fe5N5toDxa^P>+Wm25H$26?W!Edy_pH)%n2mM zqQB*OJ14>T68?PC@wBIMu!yrv8#NmZCkt1sUNt0op{t;EuU%YRHL|i;|LNPXJlwU1 zHOrtboGjL5$0{eIMKh-3`N;gvSLzok86r;^W4O7J6kC@3&{;Hbbw;*~b1qMY#cLUr zQcRi;f1$5a{+<14&8?Q@?7flh{MN0Y^=$H;ZSw7PclxwEweBYbU0Txb#HJ9iic$KJ zI(y?!B3!cY;`f)i=2B^F!nv~HczSCq+}K%u5^rm5STD=ea)Yk2FdgqbZ_Wwzkmx^7 zmU1dcRe5~Zu6lpGT~g5pHU`qKV)R=6OL3TD3X^gg2OUlxVvX~GzToHGBy(figu>zx z-1JLc1<8l&9rjGq5=JP`!<7Qw`*@&2k9Z3n9@6 zvMBe+Zm#nRhNYTiCKE*(-F`My$ZqbMs5KS)u#%El z#@!KIR#P0KPB&Zs{xGD=+EVpke$JJPd|C=O#(SM(Nzt3iUlD?6u;{l>b@D{J-alTx z?u`UpzCt1&S*zj0xQ0r;!kyM2rK9iuM<|fvJ!U; zD_-4wF9NrKRlzPc=;lk7Bgde1j&(%Xit5NTYXfMz0u7N4IZ-bP~SiS2ySk z#lp!UP!cpf=Au&6tYv47l}yc$Ivti5l8#KU1Vs!I1WreMe-40j6!Z;*8B$Fv?fjV0 zj6jCq)U9VBg?)J@GCq>j|8-IuL(c#GsV>l`S^BiNq&%i(SZtPXdZCfObG63h$hf?x zg3^FSpti?5gjo)uyim+62J$}DC!>*WzR}q^91d!Id*`fnvXPMDYlmc9dCo_U>hfoa z_wio-Z7~dFXR~k>WSM^oL~}ATSTe&^hfaS*`*80B*3-h{*>U)ek9WqTrJ3K`?U_l@ zEUnKNFMyXrs|;1Kh&@^%>g|oSSjYZb`Kcru$L`}G=OO^D8qHxp`^QsggMY?%draY4 zQZ)G5N%9jVkR=Eaii$$RNPCpYEor9eCsa}Deyk_ig4go}U%+YmyJFg9sv6>Sh!iVC zxUPN_{9HAe^a1=_h?69G!!GE;an}Mj)jk*=B-s}Jqe}$9Q#ufi(Kq}4h`-W5l?*e` zhwNjxDwyNXZ-2>+#hDp=#YaL(4pHF8+bWIFtlej8-bf$248 z#tfNzV>|%zH}o}17*(t4@#@PS4(q!1$XSd)pIOVWD~895dfr6zqzS&DXJuU>gxdL2 zT{^{ri)vVNRyb0843dUWf|VVrkHg-9?%&}$oYZzHXX|KDT(nhm-&cw zh6n@WdUTG=iTnP%UG!>@B3C510zHm3!hN{=Lem3JCc`U&u+NizuQIo@vJN>pU>jDK z3K!_pxD#3b2&pU-RTM~Ir0*mDmg&hZhfr!}yLlG9q_5t#i_OFfiVaHK3 z1F%Uf8ymuqXU7kZ2Jifr>XQoWI0@V=927JvMA$d)(+H?lUE_U{JM1`=uW*4-)l1?e z7@wI_@{w$tKkJ@*j18*bwtm05+hA*7vH{oLFBf0WfF0*Y3jj|bh72}?8r~T{3&+m+ zj`QO283_PC`rk(ayF}e9ema^fXSzLJ6qAs!e(?K7fJU{!(ZXV`&VK4u=*A8prbeNe zxQ+f$Nl8Cl_q`wLO)f{3CNAf@)72mUmRJ4`m*=;cGyg})Z=*Xk#;jAFr~7G;*C=#R z+UhEKSo~p5{mFeNC!(idSuB&vwJ1q;yfIg*D5FH3-8$a^9?h=w&h9|(9kt3YOne?OasYpx zPF>`W`0D}RKmY~<9f(!b@E5r9wJOx#WVCB-(lIDSwDnz&*l zev5bm+8z(cg?uEXsGk>B6x3#0fq$o0Lq*hdA$BNT*!?&p6c8(AKo;qp7hJzZirV_o zMa^&Q0)7la5%twtq5)(NdxmpYhWXvk(%!azouO+hk>ckj$ilg52G%p*Ia?{81nWXX z@unJ_N-#*cev51_nEK)P+@OBQ|@&M5GmYI3dFW7TTyj-=ub z|6G~MO}$HtZM=+6!|R z3+@NKRNlAISVVjXN||D!>CLU3o1?i%!xpk;mxs${AH}xs?r#qGF%N_fnv5Y5%ysJp zEtN+2-OjKQ$y~L(NyEg!T#U`Y-6hjML3LqErQU(7oX zD)5>O5Ub#vE{y(>%XNLM$3*5f!)FUD{uGQAX)s9`V_TqU)R-xe2-s!ScZtiJHE!^E z-MU1IvYqeEGRb@;h!%0JPH+bMSblrhfi1Q?$^os5V>ejnrsT(Qbide-$76VPStokf zhFI|H$Zl#&QgvA*Lypo_+H5Fo>j=BO#(I_yzjg2LN+FT?DmJCa=AZt>?-sGTpQla7 zs*L4UCd7v;f0L-TM}#S^vfTu8hqPfdyLuzuPzZnS5!^^yu^%&LQDj2!%K~wS@@9X& zF?9nY7ZU|})-WLWL(c0W^`G&>>|=6>`=T)e)}BW6;aJ0Z&hrc>8^ip5yP&Y*rkmKF zC`omUrj#YUU!STn?&_m7%{_@vO4=lGa=(#tsdGbV-@RNmtE__1(rUL7kMj1h+y=@iS+mgL>aQ|_vk3@ z1Oc*$;pF<#D5|IQ2A*e{(qw;-!-vE97nngsh)>?&H1G761m2p+ZFj0lR$GeV$q$?i zY~n)d7a*D`|M0`=zF73O4Pd=puH+bpm#qY4LaN`xPR6_T87^|QBHy?&dh>kvXBL1$AK$noBns*v=j)%5!SYzUDMPtOBD zzS0xa1L6$yICwfMV)AA9c%lr#ICOid&Sfh0TeDNKcI(ZN?De~yvHVaY#71pioTSaV z?2{$yk-85B3DUFv&Xm@HD`93s-R4rJ7AjrcY&B%@Ve4@Dd$YASE`Jcn+(kpXrar24 zJ=dPQ?4icC^IK>ubY z_!2T+D;YHvwpD$KXG*_2_qz+IVfnpO5lr2DBc(l%}}FIO1^Q7zR}qnSrn;7$)&*m zREAl6bT+2Ip3D_a%G>AHI24`y0ZN9kLTTk$l*Kii!8chD(OgqNLA+z|aGh8+h8x@) zjK+M@^lyoikTPM2BFP!y>djfn*>8Lm;s@K-yPrm(8^~Uoq92R;ChJ_gQ>Skr!%Ja& zhzAA5<%*ZPw;jSo#bvuLgH=>b7cN7uO_TO2r(K6|*on8~hrde+d7EeN9r0y)o+n!f z?|xQ9D$7s7DseqoPly<4YBqBVZ_34x=T2kXrGq~;GaTuM+Mab18Sr$Y7<1t_vljB) zo|V5f%(ZNfLK7w4{L6tcJOEw9@~2_Pl8{OxR;FV+&C6Ez``*QiWjfY1b18>SDf+pv zpb670Vsp({owNYtKSqq8YgKEBVeEJeH)K2ifZzaf^tE$&YZIJhg&f2Lv#9)Efi6N z%soITa=GN6!Sx=G@VVS+Q1(F=Ii}l1VMXb<*#4_Ji%^29P{A}!y3T) zv|%8byL&2|?%#YwJKhD(h_dhm&*obx6$;g-EZT->whuL0pQhN+Pq(!v&B=Hg1geQe zbtxidCbztB`6*{g-84t`a^Phnk=f}XSpQ^r~ty@vbj4$y%JkY?vdHW z^r>zAGq4!1aKs_O6t%24BZw71uEF&XK%QJQe8#HJ%)|GEN|f6c(Tv!0it!sep}-x; z5})l(c79Kwh>;9*VakTx4-@(M63rQ^DsL{Ui3=3Go!~moe7NndTc+CX;X?`T!YSpX z@(;SLUG%C+A7mGLw#f{=^m{?-=$=m|atlaLSEio9J;HARvmienV` zRhIUi{3Q;YdGY0TKF5{nJ5C!8VLvs^@*%>nC8F4jq<~-aq!_n`2!oC7-BKZm*nVw% zoAygazp3=!6gpP25a74|l!%-?_s?d%g`!M_H*GHrjS*D;UzDqSQ@pN(hQgkK7j(Wf@#s0v4hY*VE_ zIbzx97}H+u_F~RLmK=V%wLY0OH}%06_bDk{9yVdfET*iD>PZ$;n1fMXAn)mB{B$li zOKLzdZaBYNp-`>K?To41O3((f=tmS|k22IyOdQHwbs&Gn7LB89!ows_sg^vu5in+<{qW&_&ceuDpUDDo zg&2oNpB>qB?;ff>OeFSouR6Xb_T_XfVh_k~{;Xg?&K;63ilspHT4nC~Sf}`!(?&?B z^1HLq*5UZCfDCI6&Qhp|cT!TPbX5z+Pa^KC)x9TMG;;tXJ4gQLiV>FnRu(FQif=7! z7snO=?LKEw5}Iken3~3~PD1flbBaa{eW|mz{4R+nu!;%!hn(qFAD)67MFQV(7v=+p zV9^VffmIyFY|fB?*sNRojRzBn8Y z8Xhxhur6`H|`Na3qCk=!KRvvdDmaYgc+@}t}LIktN< zKNztTF+Q#=gFgTFdOvqj z{X&fDjNg;%9xAR}5$DHFx!C@YGCoGLNxDTwe{iwSoW2PNG13b+{k685`G+wm`l2+0 z`*M`fZCwYj9WEb=1(j4`#-Qd|=BAb6f*;>&wtGU1P7^#7Z328K;3=P%UblUX55suV zVTcsj{G5@_JG)ZOtFjuI{k2W_xsWJ(qc^#W(P7R?Cx%JoKS?=mvrcS?6m_nfj)I(& zpql_fC!#P4dmNz!jWuyo+RsC-r#iQvigBPntBz&=nx{_a`+hYN_a>R(pZig3dkH~{ zj5l`CKP2nf{4%7@t6FeI!mKO%IlGYkcX)&BG#A&Vj|KMPN@*yI$D1@mO|sqFaPOvU zm&~R=b~!lE`)aqLr6(*SM{SmcVGGum=v~s5PO9>OP!1%ssU_4UQ`rOQ38-0eUb!wu z^GX_uE)%-%5~|>fAl322npbf(a{`(utEB|XClt?Ua8A>p<7YYpKEXa%3WE-BODTPo z$?=asib%|M6FL5c3(+=+C=99_4mfD&sq0?$f@|=7btt!jg;2`wJg&jA5ku#zU9Oi9 z4y*gCsi8DcNYp})Wj_nhlfJCYm`=lV1Zs2y_zg(qa#wUJX*F}0Mmjc?@+78muN&$1 z%Xwe7bplPMbs{odTBFJnbuBI#+GlbFRqoDS^X8uwoo9_-x_Xe_{9d$6piI?vQju<> zk5So3tijSsm`D2C(<>r}cpXxZU%nkGe;ndwK3=o%Y}to?muoywWnr=j%dc&+EYOk3 zOidKKC2PNct+Y{8w87 zYZTR&1nU2dnn#-K8(qCySRl6#uL(=xv3ReHTN!zcBG-ji*~d$c%RR&mQO;2OLnz#F zdYj|)T=$`BIF(y9BM1%8PPb6l9rz_}u+C(3qenxFRWT!pb&*9(a#lJ(KRF(9q7NLxAw7 zG-53N<%dp#9BBzrj`BuINW!XM=cxD=KGT?pWu0-ia#D21LbKd$^U*>lB!PAIA1+*P zZ^$)oy?2Y<`afF1=R59iDB_W9ZK6k66MFKz%c9osKa;@wD7vBh1c;!H9ky57v%|Fo zO2QG)niRibEn^Bt%t>~yPbiTH zf8PrTYjjNxYu#hlx!(FL*sv4Vd%qR?!R`LDE1sjY>TMH2eU^sB?DKN(XAoN5yKpkC zzmWGx`>xTQexGWMrqbdUd%c(~vUj7xCCd4vhK+%uwYlY`Wi)T6|P_u=9eXMpb z2((agG^RE(J~D-qYW^|xYnjJoLF#B~{~gl06|A9t=1VROrYpoeYA^2Ky zrJH>WyE#wm-IUj5swhJK4ndTx%IltyPkui?Ka+{cUzRfEKE;p3B0x|pJ`Tdydjn(muv+^5btsr4x_nZ`pAD@juWFxo3%re6Jy6W6C>;3s0|rj9+)LFUoSV zURG^;MF#P;WL1#gLPvj@@%xkxK|!-r>ztjv7pZx%mKrZKIx7#i^DE11=1d*V*Oi81 zxukxin||nhz1FpQ@9)1 zyaYbEuhcu0p5HbvR@;J%)k__|(r-g5t?l%()zpd{mG;G-SauVBYz5C#t`-InyT8=u z&JJAoS5lFYjKQW(FO$WWB6!02OqIIgyN#$ekpAf!ovFS$lqY*Aqh>{`C}Z6=qzlC} zf@XE2SLj=3_R-a^Z3#$E7|tTr7_AyddGjVJEn{jc*}8xJC==qUtM=|H&e3HcrSq-R z8K5B)blO(eY4u9HKB);Sh)>g?2iYX_{UuB+$t-3LdG-(n_nAeM)?i29_fG@q z=CRn?s^4rqJr9mPnlJPXBCriKzb@D98=%tlawUASk))FV{3F4n3)IWYAiQN*Ksd@H6U+JM(J(*EJY+DLL`laLhk z;pJ(Va0R(6wfB9~ScSpIc6-E)jCXTsFHaA=y-S1t2p+((1ZRi7{melX74Q4}u$xND zWG#GOACeHhXfXt_6fCub!oyWe*f7(u1{rP@YC-j{ahBxUo&?|6m<{PNs)(l-f54-N z%Mh)Iy*aSWQBbs&DZJ^!4;5UfJ@`_p-`w%doPVB2n$o)|UWd_2IL+w|jo?93%sH!f z4YkjNnB3>|IKTYZn!}eH13+*#k?m%%NmBK=n4dmgPvy>2OwJLq9eGpU{4+tpfhu#F z<=xNPFk<^e%4t1*G5E^y2%0vD7~^8v3lfRpR=G$sF6VvxhTo^UTVtkqj(gV`$~*@{ zo_QEALHmaYNaF7cQ~DEF89RcVwsAniQY&w{Hm$)D-HAGtKp3L+IeVD(T4_nLn?wtQ3T(-8 z+OP;VT`ZKG3HaRuoq59Xp}pH-r_8p$FMc*B=>?+_!ZZ^&M}z8ZnS#iLsW^`3dJ<6P zBckhHz`aRpI+A5d7O791HkmA)hPtjNqdFW?V;6kVQtDE%sk-+*_i-{qB%XXQ7_HU4 zB@jbn$jAADaB5DkQ=yNP%$1+mbbHLYo|XbW@fh|NZJh8@4kf&vC?C&z>=x9t>FWm! zx-6*((0f`XPIgCJO4=SuXaA%0@@}mll`Te&>P|9|87qN7fv=%fb-;B1=TQ9N+b%<( zae_;X=*B5VjTAL1k4Ib~+MyA*jeYfP*9;PLI;eJkzrSUZ^0m8);_4!wf z;Ba}OLn2``AJv;g$&KF^-HY7c2;XX<`HmbrYFhDr%*ZXy4mQ~w89JVK?sr7EVyH>^ zLM33Y$=fAuhJV5+pBh=*&&&Sim>iA>AL)|>4KqYn_2u#qZHo>Z;V6Z(F5AP^u(ZX3 zN7g`QE8|=*mlxh4jcOJ_r1v2_UN#w;FN*JHH?B*4iHCdso>Cpp!BPCZ8O-=6RJYPU ztykI|l`DkTBO!h?pzndvOpFn_QY3zNDn`P)O{w$Uyjj<2qW^gET@8ZQQ%>a2VcKZu z900?Y#^=NOzMu!r`f2_2&nQ&G_3mtI?E6-Uo5z{BflZ%2#;FWK3#9ViySLjdrFiY* zaN{P-!o=n+_br3nAm(&?VvbxPCJPloGQHdh-rt==Br zmCkKNGIGh4lQ<-TFv$|w27q`}(4R)7^x?pk6Zlo;@lOIW|lU{eY@Bwom^51uURnL>hohRcSUwL{!M1XK~ z4_U3g1rqWk_QE1tEaO?+-A&|n;($K4I|dd-Uvdk7VlQ`62P#WuodVzR@WPe&H|6xP zVcYTq;C<)?1}w)R3x5{vN+>cGdD5QxJ?mV?M;*<9_<|Abc6c?+gvuY+ub!GXgDq$k16bF+TN6SabL)skbSKq33f*v z-&cJ#i^_a(cI%pNx~f?OJuWMU^ul>0vuqbz ziW}0_P~WtAd2Wql`{(85ZGNqNlCPfsip%rbG16VcKo#Zpr@i39U6+?tv&4-N?|w9> zQo5RiQL6GwC$P;Et@1U4B>SdXnJHrvNzJ2{Ffo1C%f}Tl~33S;u<&(?cqFb;aahfo}O#%uyGLum2P5>j8Mfj4X$>z5>UQ6?VOb@oow% z)w?!Kvz^JZg6v>Y3t*8GQkhT_&l{h|N48|N^eeY=aFUuQp}`PP+P9}+fw-m8vD zxvp%wTHkY1-+D;)-x9kv&j9c~o@>66%PTu|72az{n81dhj>{5r8pf-F zofg@*_smu`m#4OZ07sme=)*02iDaPIq|@JKv#oYVBZYn?+{{nP>^nOZ-p(2cf7Uda zyvoW#u?uR3ivr94RiQm)G5=vTt)3Z+_U8Wfs%+M_b$$%hSmiZ35gU(9Z*OlG`)#4> zVO@tUuo|(XYgCf*m>X&qsdticz7McJn6CLYQJ_SopsDyKnai})-i-Y(6;D(5ce(Px{q9Rw8ay#xkc?&A{$=x_w*$B>FQ?F-(MO}bH$v}lbTsh z0?r;_6eOiK4(<9Ra;hhA;l9Q5#$=@{T)j}0=9zwzOPh$*bam(E@yCf`2GB7S^8yY- z?W$j4PbeKys-3t<)$;9Nhy_LVPjaIcE#4oPSu8%I7{SF=`x739KsuU93+)BxR8BqJnw#tT+ z`lf|Z%vA;ZbS1(qiWyKgp>z8tus7?p^KA+(}To=j2Z!lRp7oF{d7HU3^aY;2|2lG-JexpJLZloEYX^6 zR^ozG#>BMqP}4_{@Np=KlkSDBBQ`$pNpSd@e%HZg)+(>dkQi4IduVFhC!VL#GPtY8 zAm!0>Y7m)a_~;gW68(8DW?H3U<-(gTSS06}{d<9&x@2ux2ryAvW97Two!L66SNaT* zeV_0|cH%nTcXO{*!k}94Qb$YZySvK-)NBA7?ByJz*b~6 zE~ScZ6adBdL?D10t?;*71Ktu{6B65U6vJuI21<9TQN^BazKNn#yeJlVxc%$KHgKfd z*$o9&k7Q7$_oQL#8c6;EZJ@hc`k-X{Wju{&9|qW~NT zesiuHgzJVv9w&8jk;8e`v)RWRnW=gPeBTJ+b{-NV)-Sx%->^sbUV82em6kQ^!od=Brfs?yM+O<#TcZ<4A13nQT z7cV6h8_HHIEG4`nB_fF8dLfP=cz4g<-pL5|ZL0Kd61!%$ zZd!ozB{3z!-=QFn z9#jf?wpaxv>iOTj-XBtk7Q4k+Ee!Z?c@$GEKCpJuQF|o)KEe!yl52UDK5h26!n@vT zZydZpPhejxe)8u|Yr$pZouJq4>(ZymYqY+)u-)brLUt7LWmK|+(VBdf%%{iavo(44 zD-V6ATi!yVvjbG9(s5wJrR}+^Y;bZn5OStu`#8B9=Jv%2R?mew$AXK~888*Q56zr^1?g1_6md!TcClV6d1`;&6(}^|ao5!Mu&*W;bf699 z6kKdAY>G_sNP{0;pi1jOx z0Oa^>Z?ik^-0uEhcFrzxZWswKc&-z*i`Ulf=sfR~uZGL}@r?qd*QG}N)w&UIA|&j} zE(>^{UwHEmi&L`(YhqqKS)$M~G-Eaa=Sl{};MRvjL-3H+CbWcm;+{3HuJ-a+jJ}V; zAU=%WUGyH;ltJCN@YX}}OCBTyV9_-)&eEo}TMk@X+o^Ehz6iIC?Tz*3f1aZve%DF( z!Nsb#^OVG{u8cWrr9`OIP4fVbP*_oczB-YobTlQKM|oQ0qfDRWZQX9}LEJyWM|opV{i*_yxkH2tH$zMu8# zZgI+su|ux`awi{5xGzmCj#?Mp2I|K=w==UC_QiaM!zK2HG#*E?!LNiLvybj*n3S#1 z1yiuaE}<7vj_9sUVH|v@^qpo^+RyP>J~d`E18jVJ$zgK|cQZ-uxE7N#?O63dzmLWE$ok=H|`X?B~OJ6;>Vuxtj1mQQvkv>VnENZw+ zfDqfSDn`Ks!89pg1QK*=PXp$mDClqS@ko;k;?u*7KpP3<$^?+ZbuTcZz-2K;Pe)J9Y#5o|s-^FmZ?(`QsHgj# z+E*2CNuD~6hlB`qH3kZ7Nv43zW{f<+B9HoiHXoDQ%cIBp6~a8SmN{XO5J_m3d^D|W zSzJm=@uKtst{*W85-NnTEgEXb_MHKIoWz0-c>@`uvrMDgCHZJ7q;Iu)YZ98Goz(|vL3GS{{4GdeRCBA3Gl6> zkkZgm!y6y~he#Z-8Qo~-@Mmh&yzfNg*6|pXAzI^MzKezaM72|(7T! z3@f1Z4r_`HHV_s6LMw>JU)Y&4Hikiio`xoGv=6x1CCO-vLtVkT zISo2l3~f*e0G$PNi#byCT-zoWg_w=A$|r->F>-fN{9OdO4(W&rM}ld80w$wCM;D1N zL_sMnKDm>@w-Aq*cUx|2(Ywh8BCNuwyo)>0#9@!Olm?dxT&NtrRmR?$ysCb;*E?^g z8=SlYG(I@cFDZbvCq6llr!Ix?*)F_jeQ0UlC02gbmrLi{X`~bx9s6IdV-y;gt=CQD zRJ=m(ZAv~>vH|h0DH1}|)ie;9hmtuVsH-V$b@r`&MH&x^9Y#X?6|Fye0Hqsn^1zTs zXa}(vC4ssl7RrZOs#~uFs;2Um;nGg|SFhqw@eA?#7$x1%5ne|8#>BAGaoKVi;c=3L&N8L`Rg&}MwtoNqhs*Vt3L*>QP@9G{T|^pc7nv`> zm}Ie*`0TeS716VJ$6c2qUAy*r${XN%bSrn2K!~P=9V?Tv73D+ZTW#vz{{`2%7n6Vd zta^;ZhFhfw|5wqQ}FsP`>LH8I2VX*w)Tm28eKtv3@y-EYIui`d+yylEW7!4!o#nq7`=D53}o2WQ&7Qke9LcG68L1SchFHg(pP* zts=cKLNFEumn5|@m7_f({19qgc0!UI3|uJxsWV_OSwaRdu_kXTi{>)PJTZQ zOT@gViUN2LyS#SbBTQp^#&ZhBhbY}Ifrb`czgT4)97ZLsZKka4V85Ura0d;TAL^Bm%x-OEuzOrtcO63DxD~<;mqL+X0rZ< zVePU+5OYexJjW#5W??|NnEE+%egN#<;i|C76eh*R7EjT?)Aem^^9V?2@);t&H@0@{ zz|a?hww0fs@4DZ-f*nU>>#X064Wip+(Z>WHc?5x)O;9fq6()h1uhgw(=nLY>H{`p#Y>naD8utyhpvvAKEvbqr9=hQ zdeg}ew^t~^v-kT~?Dr^;edXU&PZ9)zP@!@UGaoCiZk5smIJ+6xfPpxUP48{ies8&i ziU%0=aR33gf4oQ|A9z%`+)m9!B~I%?5W*jNW0~^pSGuZg7sYg{O+u>V>cF6&LXFvA zm=A0eY!wVHJzc#45*I(F*z4CEDB?DA0=fNQn{UFm(N4%zEv7BYfY+R?HI`9{>xA?$ zvW~;jXDK_x0O0rN-G#k|!)aP5;fwVXtxCgo-S}3ZNXh2=w`~S~=+1KX0w$YO$`(<- zLn3;Zd%B;kQ4v7PI7he1rRvBV7=Y0jvsBWB7-|>XN|L`pD=6@%7Oro=Fl1Mlva0gx z4$PQ(b+SR`^c0en&KB?rn46VI$@r`|j*RsE7`;$cDF|AfsQ4M=Ixz2AYTE<${gBX` z%Br2hQP-Zbz9nuQ8O&umu;qwO1A};xyrgEcOShgpW9H*`nExoitS3|^K&{Q`uigj9 z&}7*=C84CGb3WCzse)JW&(HH8&CpWG1q@&UGY1mEm(*f234aFAJMkt?7jZl1&}M5e8zjx00haYlCby~V_8&^0 zVCGl_0{3uZqEz@g!v*2}OeYKez z35gv+e1gT3i-$rsAZl1mMu(7c$pCdyy`2YHJk54;2Ls-mqU z8;+P8^Y{dv!j#(UQ;V7b$G*5{8KaU|&|i-;5Hj z{|)d=vcU}VV7Boppw?FGW|y10H_R0&>?us4b-V4M3y=eR8B9Hi5aS-L`0>?W-mb}0 zi|wT64ph)x?Ix%{3ZS%!5l+I89moYsA=|j5SMh9D8jTPX-$Rz6Hbk0zu)7`*(68{)n?LE zk7S?*{Nw#kOC1ha0_aHrRAVx1(;vns-Y38@1sVUeG_ExiP{iDswa8JR&Kf0c5+bxFJdBF(a{p2smfbh)IV-~R#2pW)B| literal 8412 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 - - - + + + diff --git a/class_h_i_d_universal__inherit__graph.md5 b/class_h_i_d_universal__inherit__graph.md5 index e024c5d8..d1f83f64 100644 --- a/class_h_i_d_universal__inherit__graph.md5 +++ b/class_h_i_d_universal__inherit__graph.md5 @@ -1 +1 @@ -3457560e6d0eb576620d6a62eb869e53 \ No newline at end of file +104f2874dba516962bd5d60f53e1a99e \ No newline at end of file diff --git a/class_h_i_d_universal__inherit__graph.png b/class_h_i_d_universal__inherit__graph.png index 8d87fa90e73a803a7bfa8bd61de2c89b12d896ae..23d82637edfe10ac7a49e8c2036d0c2950aba612 100644 GIT binary patch literal 10262 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 Ilu5{c09^Me`~Uy| literal 5788 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 diff --git a/class_hex_dumper-members.html b/class_hex_dumper-members.html index bed1dbbd..1ffddfd1 100644 --- a/class_hex_dumper-members.html +++ b/class_hex_dumper-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_hex_dumper.html b/class_hex_dumper.html index 2b8764b9..bdc7807a 100644 --- a/class_hex_dumper.html +++ b/class_hex_dumper.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: HexDumper< BASE_CLASS, LEN_TYPE, OFFSET_TYPE > Class Template Reference @@ -31,7 +31,7 @@ - + @@ -117,7 +117,7 @@ Public Member Functions class HexDumper< BASE_CLASS, LEN_TYPE, OFFSET_TYPE > -

Definition at line 28 of file hexdump.h.

+

Definition at line 25 of file hexdump.h.

Constructor & Destructor Documentation

@@ -131,7 +131,7 @@ template<class BASE_CLASS, class LEN_TYPE, class OFFSET_TYPE>
HexDumper< BASE_CLASS, LEN_TYPE, OFFSET_TYPE >::HexDumper ( - ) + ) @@ -142,7 +142,7 @@ template<class BASE_CLASS, class LEN_TYPE, class OFFSET_TYPE>
-

Definition at line 34 of file hexdump.h.

+

Definition at line 31 of file hexdump.h.

@@ -159,7 +159,7 @@ template<class BASE_CLASS, class LEN_TYPE, class OFFSET_TYPE> void HexDumper< BASE_CLASS, LEN_TYPE, OFFSET_TYPE >::Initialize ( - ) + ) @@ -170,7 +170,7 @@ template<class BASE_CLASS, class LEN_TYPE, class OFFSET_TYPE>
-

Definition at line 37 of file hexdump.h.

+

Definition at line 34 of file hexdump.h.

@@ -214,7 +214,7 @@ template<class BASE_CLASS , class LEN_TYPE , class OFFSET_TYPE >
-

Definition at line 46 of file hexdump.h.

+

Definition at line 43 of file hexdump.h.

@@ -226,7 +226,7 @@ template<class BASE_CLASS , class LEN_TYPE , class OFFSET_TYPE > diff --git a/class_hex_dumper__coll__graph.md5 b/class_hex_dumper__coll__graph.md5 index 84441f1c..8c6445be 100644 --- a/class_hex_dumper__coll__graph.md5 +++ b/class_hex_dumper__coll__graph.md5 @@ -1 +1 @@ -c3696b8b45deb111b0be92f49d5f8ede \ No newline at end of file +6b19c97018ed43d19b0cb24ee29f2b87 \ No newline at end of file diff --git a/class_hex_dumper__coll__graph.png b/class_hex_dumper__coll__graph.png index 39c87b12c938c872beb7bb8ef6bc1b8ddd7c5528..1d19bc75140ae9cc67a4395cabd73edac0d640d2 100644 GIT binary patch literal 7058 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 diff --git a/class_hex_dumper__inherit__graph.md5 b/class_hex_dumper__inherit__graph.md5 index 84441f1c..8c6445be 100644 --- a/class_hex_dumper__inherit__graph.md5 +++ b/class_hex_dumper__inherit__graph.md5 @@ -1 +1 @@ -c3696b8b45deb111b0be92f49d5f8ede \ No newline at end of file +6b19c97018ed43d19b0cb24ee29f2b87 \ No newline at end of file diff --git a/class_hex_dumper__inherit__graph.png b/class_hex_dumper__inherit__graph.png index 39c87b12c938c872beb7bb8ef6bc1b8ddd7c5528..1d19bc75140ae9cc67a4395cabd73edac0d640d2 100644 GIT binary patch literal 7058 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 diff --git a/class_keyboard_report_parser-members.html b/class_keyboard_report_parser-members.html index 52725962..7c72c492 100644 --- a/class_keyboard_report_parser-members.html +++ b/class_keyboard_report_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -95,20 +95,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); HandleLockingKeys(HID *hid, uint8_t key)KeyboardReportParserprotectedvirtual kbdInfoKeyboardReportParser kbdLedsKeyboardReportParser - kbdLockingKeysKeyboardReportParserprotected + kbdLockingKeysKeyboardReportParserprotected KeyboardReportParser()KeyboardReportParserinline OemToAscii(uint8_t mod, uint8_t key)KeyboardReportParserprotected OnControlKeysChanged(uint8_t before, uint8_t after)KeyboardReportParserinlineprotectedvirtual OnKeyDown(uint8_t mod, uint8_t key)KeyboardReportParserinlineprotectedvirtual OnKeyUp(uint8_t mod, uint8_t key)KeyboardReportParserinlineprotectedvirtual Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)KeyboardReportParservirtual - prevStateKeyboardReportParserprotected + prevStateKeyboardReportParserprotected diff --git a/class_keyboard_report_parser.html b/class_keyboard_report_parser.html index cd38decf..5a481b8a 100644 --- a/class_keyboard_report_parser.html +++ b/class_keyboard_report_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: KeyboardReportParser Class Reference @@ -31,7 +31,7 @@ - + @@ -99,14 +99,14 @@ Inheritance diagram for KeyboardReportParser:
Inheritance graph
- +
[legend]
Collaboration diagram for KeyboardReportParser:
Collaboration graph
- +
[legend]

@@ -131,24 +131,24 @@ Protected Member Functions

- - - - - - - - - - - - - - + + + + + + + + + + + + + +

Protected Attributes

union {
   KBDINFO   kbdInfo
 
   uint8_t   bInfo [sizeof(KBDINFO)]
 
prevState
 
union {
   KBDLEDS   kbdLeds
 
   uint8_t   bLeds
 
kbdLockingKeys
 
union {
   KBDINFO   kbdInfo
 
   uint8_t   bInfo [sizeof(KBDINFO)]
 
prevState
 
union {
   KBDLEDS   kbdLeds
 
   uint8_t   bLeds
 
kbdLockingKeys
 

Detailed Description

-

Definition at line 133 of file hidboot.h.

+

Definition at line 114 of file hidboot.h.

Constructor & Destructor Documentation

@@ -160,7 +160,7 @@ Protected Attributes KeyboardReportParser::KeyboardReportParser ( - ) + ) @@ -171,7 +171,7 @@ Protected Attributes
-

Definition at line 155 of file hidboot.h.

+

Definition at line 136 of file hidboot.h.

@@ -330,7 +330,7 @@ Protected Attributes
-

Definition at line 164 of file hidboot.h.

+

Definition at line 145 of file hidboot.h.

@@ -366,7 +366,7 @@ Protected Attributes
-

Definition at line 167 of file hidboot.h.

+

Definition at line 148 of file hidboot.h.

@@ -402,7 +402,7 @@ Protected Attributes
-

Definition at line 170 of file hidboot.h.

+

Definition at line 151 of file hidboot.h.

@@ -417,7 +417,7 @@ Protected Attributes
-

Definition at line 142 of file hidboot.h.

+

Definition at line 123 of file hidboot.h.

@@ -431,11 +431,11 @@ Protected Attributes
-

Definition at line 143 of file hidboot.h.

+

Definition at line 124 of file hidboot.h.

- +
@@ -457,7 +457,7 @@ Protected Attributes
-

Definition at line 147 of file hidboot.h.

+

Definition at line 128 of file hidboot.h.

@@ -471,11 +471,11 @@ Protected Attributes
-

Definition at line 148 of file hidboot.h.

+

Definition at line 129 of file hidboot.h.

- +
@@ -496,7 +496,7 @@ Protected Attributes diff --git a/class_keyboard_report_parser__coll__graph.map b/class_keyboard_report_parser__coll__graph.map index e5b829b3..77f86029 100644 --- a/class_keyboard_report_parser__coll__graph.map +++ b/class_keyboard_report_parser__coll__graph.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/class_keyboard_report_parser__coll__graph.md5 b/class_keyboard_report_parser__coll__graph.md5 index 570b7142..dbd84d99 100644 --- a/class_keyboard_report_parser__coll__graph.md5 +++ b/class_keyboard_report_parser__coll__graph.md5 @@ -1 +1 @@ -d022465c88ecc1c514dfc5c35b4d39d4 \ No newline at end of file +de31ab1b6045c46c724624d2f45ecd22 \ No newline at end of file diff --git a/class_keyboard_report_parser__coll__graph.png b/class_keyboard_report_parser__coll__graph.png index b30e01a5f9285c46b0012125a67a3da1b60adcff..45cc892b04247fec7148d52efc735677c858d430 100644 GIT binary patch literal 12245 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 z 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 - + diff --git a/class_keyboard_report_parser__inherit__graph.md5 b/class_keyboard_report_parser__inherit__graph.md5 index 71562332..4f094571 100644 --- a/class_keyboard_report_parser__inherit__graph.md5 +++ b/class_keyboard_report_parser__inherit__graph.md5 @@ -1 +1 @@ -1487e68b2ccc8050f69ae921975c2f28 \ No newline at end of file +ea9cb8a4a1aab693a56a91401236d24e \ No newline at end of file diff --git a/class_keyboard_report_parser__inherit__graph.png b/class_keyboard_report_parser__inherit__graph.png index 3a38936c23a9c24fb24696dd6eb031e55b29b425..df291aec2825d40987f20234118f719ebc09f7c7 100644 GIT binary patch literal 5507 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 literal 2821 zcmbuBc|25Y8^=#k28BFKWzQN}OZH~6k4Uy;9R@Qzh%95u`b4sYA~a^045~rI7=)on zQVnU6M%HLr#x_EaZF?ewP>o3x5mYx>M8jzTaG4QeLk+yVy~p6&?2XPmG;Y@~uScG4{?rFgFwW*I`1yv>rAc~1NC?FDq$~d2yLY`Aq95U;N597JHZ?{6 zU^55?7o%%*hwjzZauz2#M9OT9A7QR&96KgEG3N(#*T{_V%LhAOWsr9htoIn?2xa&^ zMGmcTMssauH`h43?lw2;D=GDc8%(uD1x|Ke>Ccx}g9NP4v(nSkot>R=OOsj}8oL3C zTWNWDIf1|lsjsis&YRVjV%W+j@dHPW9NE~|;BvY36H51^xTOmm4rg(Z9ogE_l9!wN zE!KqQH8C~S;HIJD*G0T@=MEk(2&AQ@sjI7Fu~d|I2=z<8%YK3j)aonDI$PL+2T3;(KCv-=Gbfl1A`hj4M4%pMHBie zsOiNEL@_!cKK_ioeMd)!q|lzTOa_Ai+$0i-<>kDQ3x0TqdvkMh6CF5`*_D;SGSgQj zIt>jC^0KlMT}h_a&H;@^1_p77iJh&jt#|J#=<4d4n3(A3>WCc}1C znVFfHC&S)LNJ^@xsxFQ{KB1+hWoqjE(ET733NHFGHy8e~|Mwp?6T zSTHv?2c{PmPMMf|=Wv7p3>B{c0U*M{)V#-0v(GIvM7XWp+bj0hQ7*2oeF1uKaVS)^ zB(1{6)#@AXlZGoC;Uw2 z_8sK$c;Z>lUcKU^iNZ2-a&mHWeOtm=yq&GI)YO8)!aaU~n3R;4k56aJ7e|iMaeQ5M z_2-VIt`h`?tgP&|zpE>AXX~em_yE~DXD<3N7JAJzypa&|WzblEO3LE0(j;XDY%j{DILTH<&xbnvxG9AkRRiA3S;*O6ny5iAY@oNWqFZDp|vbBAd z|KRI!Gu(Qmqrrn5d(t#d3(McXx3J?(Qz0dyrRMuCKo4~j^&xCjuA^FR3;z~lYl9pa zZH<;OL=hFHd(s6W)CZF9HM2-5$w5DaZlSeWBPbcy$79Mas=1EMrwcPuuv|vd_(*O3 z)=W2WiI!MuUd0sqaN^}p#kT5rTmPgWp86(zv{kEv;P(7%+BH|)ZJrWAvnx}#t*!@-rpwsCX>Ipgx z3zM+!*a015Zy!W4M;|RR%WIy-U0AG zf%Wk4u(aee7o$)pAj2#aBO@b|d&X#CQ`cCfrKOJ$vT!I9dfvS5L38v(rpT zNeKqywN51~K@?%IuFA^5g)y3-pkRNVET~?C0|R)yK%1y2?)Q;e&*JkMMWA@qQ7Cqf zj*bov;E&Lro~&XmZwm_xP$&6-+}zxxq$EpA%Xm6WS-FZ#wm|5o@V1+qo2#m-hTy-( zgO2;Q$J#;U1LKwtJZ=6&xaXBQW7 z_)|gq!8;S+=DjRB2H#%p1ycblJw5Gz3-PQWPx6?%3_O{rJfLKo7aJS9ypUs8@Q$+v z9tS?)ItrK`^-Do}x>q#412IlT3XuM-JQL( zB!BQ=KfHe=6zl6NdzJ}SKa#!%1%iTtZr{G`K!TOE>ga~OuLFI?>gp;fdD9N@%(nbg zf`PU3nQ9k^BU8Woypz)#QTX=F;$nk}%LEDumNYgt_ENr$Tv?fJwLLXt%v;q;G%7U&aj)jejh5EZJCDE#q=+Dy3w@CZZDha5X$0NJlu*c zQ@=mTpabWvW|FkIT6!{UHy_`|Ntkh)7=tZb$9T8xd?#NQmCu9nzQ`3~y)DL^ca zk}E1u?AQ2IcVL>f`wxV2(_{=%=+|wD%MAQ=EE#kr6gQ2KGMVkQ;qZGcljHIE#OHk% zwOm|We5Bu~E`Gnt5&KhW-#;*W#1)F$Sov(|mto6%{~i$PP>^%BJtmr?mxKW344!GD7`NnK7zg$u(Niws<-e@{TI6hXQTiC diff --git a/class_m_a_x3421e-members.html b/class_m_a_x3421e-members.html index 83e6eab3..d50708b7 100644 --- a/class_m_a_x3421e-members.html +++ b/class_m_a_x3421e-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@
- + @@ -111,7 +111,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_m_a_x3421e.html b/class_m_a_x3421e.html index 8179872a..3abeaea1 100644 --- a/class_m_a_x3421e.html +++ b/class_m_a_x3421e.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: MAX3421e< SS, INTR > Class Template Reference @@ -31,7 +31,7 @@
- + @@ -97,7 +97,7 @@ Inheritance diagram for MAX3421e< SS, INTR >:
Inheritance graph
- +
[legend]
class MAX3421e< SS, INTR > -

Definition at line 67 of file usbhost.h.

+

Definition at line 62 of file usbhost.h.

Constructor & Destructor Documentation

@@ -151,13 +151,13 @@ template<typename SS , typename INTR >
- +

@@ -140,7 +140,7 @@ Public Member Functions

MAX3421e< SS, INTR >::MAX3421e ())
-

Definition at line 100 of file usbhost.h.

+

Definition at line 95 of file usbhost.h.

@@ -188,7 +188,7 @@ template<typename SS , typename INTR >
-

Definition at line 119 of file usbhost.h.

+

Definition at line 106 of file usbhost.h.

@@ -224,7 +224,7 @@ template<typename SS , typename INTR >
-

Definition at line 132 of file usbhost.h.

+

Definition at line 121 of file usbhost.h.

@@ -238,13 +238,13 @@ template<typename SS , typename INTR > void MAX3421e< SS, INTR >::gpioWr ( uint8_t  - data) + data)
-

Definition at line 149 of file usbhost.h.

+

Definition at line 140 of file usbhost.h.

@@ -258,13 +258,13 @@ template<typename SS , typename INTR > uint8_t MAX3421e< SS, INTR >::regRd ( uint8_t  - reg) + reg)
-

Definition at line 158 of file usbhost.h.

+

Definition at line 149 of file usbhost.h.

@@ -300,7 +300,7 @@ template<typename SS , typename INTR >
-

Definition at line 171 of file usbhost.h.

+

Definition at line 165 of file usbhost.h.

@@ -313,13 +313,13 @@ template<typename SS , typename INTR > uint8_t MAX3421e< SS, INTR >::gpioRd ( - ) + )
-

Definition at line 198 of file usbhost.h.

+

Definition at line 194 of file usbhost.h.

@@ -332,13 +332,13 @@ template<typename SS , typename INTR > uint16_t MAX3421e< SS, INTR >::reset ( - ) + )
-

Definition at line 209 of file usbhost.h.

+

Definition at line 205 of file usbhost.h.

@@ -351,13 +351,13 @@ template<typename SS , typename INTR > int8_t MAX3421e< SS, INTR >::Init ( - ) + )
-

Definition at line 223 of file usbhost.h.

+

Definition at line 219 of file usbhost.h.

@@ -371,13 +371,13 @@ template<typename SS , typename INTR > int8_t MAX3421e< SS, INTR >::Init ( int  - mseconds) + mseconds)
-

Definition at line 249 of file usbhost.h.

+

Definition at line 256 of file usbhost.h.

@@ -394,7 +394,7 @@ template<typename SS , typename INTR > void MAX3421e< SS, INTR >::vbusPower ( VBUS_t  - state) + state) @@ -405,7 +405,7 @@ template<typename SS , typename INTR >
-

Definition at line 82 of file usbhost.h.

+

Definition at line 77 of file usbhost.h.

@@ -422,7 +422,7 @@ template<typename SS , typename INTR > uint8_t MAX3421e< SS, INTR >::getVbusState ( void  - ) + ) @@ -433,7 +433,7 @@ template<typename SS , typename INTR >
-

Definition at line 86 of file usbhost.h.

+

Definition at line 81 of file usbhost.h.

@@ -446,13 +446,13 @@ template<typename SS , typename INTR > void MAX3421e< SS, INTR >::busprobe ( - ) + )
-

Definition at line 280 of file usbhost.h.

+

Definition at line 300 of file usbhost.h.

@@ -465,7 +465,7 @@ template<typename SS , typename INTR > uint8_t MAX3421e< SS, INTR >::GpxHandler ( - ) + ) @@ -482,13 +482,13 @@ template<typename SS , typename INTR > uint8_t MAX3421e< SS, INTR >::IntHandler ( - ) + )
-

Definition at line 334 of file usbhost.h.

+

Definition at line 354 of file usbhost.h.

@@ -502,13 +502,13 @@ template<typename SS , typename INTR > uint8_t MAX3421e< SS, INTR >::Task ( void  - ) + )
-

Definition at line 315 of file usbhost.h.

+

Definition at line 335 of file usbhost.h.

@@ -520,7 +520,7 @@ template<typename SS , typename INTR > diff --git a/class_m_a_x3421e__inherit__graph.map b/class_m_a_x3421e__inherit__graph.map index e511885d..7259aa1f 100644 --- a/class_m_a_x3421e__inherit__graph.map +++ b/class_m_a_x3421e__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_m_a_x3421e__inherit__graph.md5 b/class_m_a_x3421e__inherit__graph.md5 index 2099e0c2..791a3434 100644 --- a/class_m_a_x3421e__inherit__graph.md5 +++ b/class_m_a_x3421e__inherit__graph.md5 @@ -1 +1 @@ -da58c28abdb4e8df3ce9f6bd6364a25f \ No newline at end of file +d35ce90200ec61a9a48a5d7ddf420ab5 \ No newline at end of file diff --git a/class_m_a_x3421e__inherit__graph.png b/class_m_a_x3421e__inherit__graph.png index 8df60c8e16aceda53d0099f403a88df4758a170f..538b34501b04ae2f1311b01d55725d92247457c4 100644 GIT binary patch literal 5339 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 OGGJ+DYg%LM75g6u(WQ_8 diff --git a/class_max___l_c_d-members.html b/class_max___l_c_d-members.html index f3789ff1..5f2f0c35 100644 --- a/class_max___l_c_d-members.html +++ b/class_max___l_c_d-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -116,7 +116,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_max___l_c_d.html b/class_max___l_c_d.html index 1573bb47..a992d430 100644 --- a/class_max___l_c_d.html +++ b/class_max___l_c_d.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Max_LCD Class Reference @@ -31,7 +31,7 @@ - + @@ -140,7 +140,7 @@ Public Member Functions

Detailed Description

-

Definition at line 66 of file max_LCD.h.

+

Definition at line 65 of file max_LCD.h.

Constructor & Destructor Documentation

@@ -150,13 +150,13 @@ Public Member Functions Max_LCD::Max_LCD ( USB *  - pusb) + pusb)
-

Definition at line 52 of file max_LCD.cpp.

+

Definition at line 42 of file max_LCD.cpp.

@@ -168,13 +168,13 @@ Public Member Functions void Max_LCD::init ( - ) + )
-

Definition at line 56 of file max_LCD.cpp.

+

Definition at line 46 of file max_LCD.cpp.

@@ -208,7 +208,7 @@ Public Member Functions
-

Definition at line 64 of file max_LCD.cpp.

+

Definition at line 54 of file max_LCD.cpp.

@@ -219,13 +219,13 @@ Public Member Functions void Max_LCD::clear ( - ) + )
-

Definition at line 124 of file max_LCD.cpp.

+

Definition at line 114 of file max_LCD.cpp.

@@ -236,13 +236,13 @@ Public Member Functions void Max_LCD::home ( - ) + )
-

Definition at line 129 of file max_LCD.cpp.

+

Definition at line 119 of file max_LCD.cpp.

@@ -253,13 +253,13 @@ Public Member Functions void Max_LCD::noDisplay ( - ) + )
-

Definition at line 145 of file max_LCD.cpp.

+

Definition at line 135 of file max_LCD.cpp.

@@ -270,13 +270,13 @@ Public Member Functions void Max_LCD::display ( - ) + )
-

Definition at line 150 of file max_LCD.cpp.

+

Definition at line 140 of file max_LCD.cpp.

@@ -287,13 +287,13 @@ Public Member Functions void Max_LCD::noBlink ( - ) + )
-

Definition at line 170 of file max_LCD.cpp.

+

Definition at line 160 of file max_LCD.cpp.

@@ -304,13 +304,13 @@ Public Member Functions void Max_LCD::blink ( - ) + )
-

Definition at line 175 of file max_LCD.cpp.

+

Definition at line 165 of file max_LCD.cpp.

@@ -321,13 +321,13 @@ Public Member Functions void Max_LCD::noCursor ( - ) + )
-

Definition at line 157 of file max_LCD.cpp.

+

Definition at line 147 of file max_LCD.cpp.

@@ -338,13 +338,13 @@ Public Member Functions void Max_LCD::cursor ( - ) + )
-

Definition at line 162 of file max_LCD.cpp.

+

Definition at line 152 of file max_LCD.cpp.

@@ -356,13 +356,13 @@ Public Member Functions void Max_LCD::scrollDisplayLeft ( void  - ) + )
-

Definition at line 182 of file max_LCD.cpp.

+

Definition at line 172 of file max_LCD.cpp.

@@ -374,13 +374,13 @@ Public Member Functions void Max_LCD::scrollDisplayRight ( void  - ) + )
-

Definition at line 186 of file max_LCD.cpp.

+

Definition at line 176 of file max_LCD.cpp.

@@ -392,13 +392,13 @@ Public Member Functions void Max_LCD::leftToRight ( void  - ) + )
-

Definition at line 192 of file max_LCD.cpp.

+

Definition at line 182 of file max_LCD.cpp.

@@ -410,13 +410,13 @@ Public Member Functions void Max_LCD::rightToLeft ( void  - ) + )
-

Definition at line 199 of file max_LCD.cpp.

+

Definition at line 189 of file max_LCD.cpp.

@@ -428,13 +428,13 @@ Public Member Functions void Max_LCD::autoscroll ( void  - ) + )
-

Definition at line 206 of file max_LCD.cpp.

+

Definition at line 196 of file max_LCD.cpp.

@@ -446,13 +446,13 @@ Public Member Functions void Max_LCD::noAutoscroll ( void  - ) + )
-

Definition at line 213 of file max_LCD.cpp.

+

Definition at line 203 of file max_LCD.cpp.

@@ -480,7 +480,7 @@ Public Member Functions
-

Definition at line 221 of file max_LCD.cpp.

+

Definition at line 211 of file max_LCD.cpp.

@@ -508,7 +508,7 @@ Public Member Functions
-

Definition at line 134 of file max_LCD.cpp.

+

Definition at line 124 of file max_LCD.cpp.

@@ -523,7 +523,7 @@ Public Member Functions void Max_LCD::write ( uint8_t  - value) + value) @@ -534,7 +534,7 @@ Public Member Functions
-

Definition at line 236 of file max_LCD.cpp.

+

Definition at line 226 of file max_LCD.cpp.

@@ -549,7 +549,7 @@ Public Member Functions void Max_LCD::command ( uint8_t  - value) + value) @@ -560,7 +560,7 @@ Public Member Functions
-

Definition at line 231 of file max_LCD.cpp.

+

Definition at line 221 of file max_LCD.cpp.

@@ -573,7 +573,7 @@ Public Member Functions diff --git a/class_mouse_report_parser-members.html b/class_mouse_report_parser-members.html index 879dcdf2..808f9495 100644 --- a/class_mouse_report_parser-members.html +++ b/class_mouse_report_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -105,7 +105,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_mouse_report_parser.html b/class_mouse_report_parser.html index 248dee39..8bbce4bc 100644 --- a/class_mouse_report_parser.html +++ b/class_mouse_report_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: MouseReportParser Class Reference @@ -31,7 +31,7 @@ - + @@ -98,14 +98,14 @@ Inheritance diagram for MouseReportParser:
Inheritance graph
- +
[legend]
Collaboration diagram for MouseReportParser:
Collaboration graph
- +
[legend]

@@ -132,7 +132,7 @@ Protected Member Functions

Detailed Description

-

Definition at line 59 of file hidboot.h.

+

Definition at line 40 of file hidboot.h.

Member Function Documentation

@@ -195,7 +195,7 @@ Protected Member Functions virtual void MouseReportParser::OnMouseMove ( MOUSEINFO *  - mi) + mi) @@ -206,7 +206,7 @@ Protected Member Functions
-

Definition at line 71 of file hidboot.h.

+

Definition at line 52 of file hidboot.h.

@@ -221,7 +221,7 @@ Protected Member Functions virtual void MouseReportParser::OnLeftButtonUp ( MOUSEINFO *  - mi) + mi) @@ -232,7 +232,7 @@ Protected Member Functions
-

Definition at line 74 of file hidboot.h.

+

Definition at line 55 of file hidboot.h.

@@ -247,7 +247,7 @@ Protected Member Functions virtual void MouseReportParser::OnLeftButtonDown ( MOUSEINFO *  - mi) + mi) @@ -258,7 +258,7 @@ Protected Member Functions
-

Definition at line 77 of file hidboot.h.

+

Definition at line 58 of file hidboot.h.

@@ -273,7 +273,7 @@ Protected Member Functions virtual void MouseReportParser::OnRightButtonUp ( MOUSEINFO *  - mi) + mi) @@ -284,7 +284,7 @@ Protected Member Functions
-

Definition at line 80 of file hidboot.h.

+

Definition at line 61 of file hidboot.h.

@@ -299,7 +299,7 @@ Protected Member Functions virtual void MouseReportParser::OnRightButtonDown ( MOUSEINFO *  - mi) + mi) @@ -310,7 +310,7 @@ Protected Member Functions
-

Definition at line 83 of file hidboot.h.

+

Definition at line 64 of file hidboot.h.

@@ -325,7 +325,7 @@ Protected Member Functions virtual void MouseReportParser::OnMiddleButtonUp ( MOUSEINFO *  - mi) + mi) @@ -336,7 +336,7 @@ Protected Member Functions
-

Definition at line 86 of file hidboot.h.

+

Definition at line 67 of file hidboot.h.

@@ -351,7 +351,7 @@ Protected Member Functions virtual void MouseReportParser::OnMiddleButtonDown ( MOUSEINFO *  - mi) + mi) @@ -362,7 +362,7 @@ Protected Member Functions
-

Definition at line 89 of file hidboot.h.

+

Definition at line 70 of file hidboot.h.

@@ -377,7 +377,7 @@ Protected Member Functions
-

Definition at line 62 of file hidboot.h.

+

Definition at line 43 of file hidboot.h.

@@ -391,7 +391,7 @@ Protected Member Functions
-

Definition at line 63 of file hidboot.h.

+

Definition at line 44 of file hidboot.h.

@@ -404,7 +404,7 @@ Protected Member Functions diff --git a/class_mouse_report_parser__coll__graph.map b/class_mouse_report_parser__coll__graph.map index 63e16f5c..d060a3c1 100644 --- a/class_mouse_report_parser__coll__graph.map +++ b/class_mouse_report_parser__coll__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/class_mouse_report_parser__coll__graph.md5 b/class_mouse_report_parser__coll__graph.md5 index 466cf80e..f830f24d 100644 --- a/class_mouse_report_parser__coll__graph.md5 +++ b/class_mouse_report_parser__coll__graph.md5 @@ -1 +1 @@ -8537ccc6e90fef2423535f757c042664 \ No newline at end of file +53fbe637398f71f4437285858e2dc022 \ No newline at end of file diff --git a/class_mouse_report_parser__coll__graph.png b/class_mouse_report_parser__coll__graph.png index 6aad79e41888c2267b2ab702ffc46bf4b5534418..39197786590a5a933b900c11f540b2d5086bd649 100644 GIT binary patch literal 9281 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 literal 5362 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 I0%95QKl9RZpa1{> diff --git a/class_mouse_report_parser__inherit__graph.map b/class_mouse_report_parser__inherit__graph.map index e9270ea7..515e34b9 100644 --- a/class_mouse_report_parser__inherit__graph.map +++ b/class_mouse_report_parser__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_mouse_report_parser__inherit__graph.md5 b/class_mouse_report_parser__inherit__graph.md5 index 54751f60..621cb958 100644 --- a/class_mouse_report_parser__inherit__graph.md5 +++ b/class_mouse_report_parser__inherit__graph.md5 @@ -1 +1 @@ -6b114585b9abdd51c94ded5bbf200ed1 \ No newline at end of file +7e59901244ab319897b579870a1fbeaf \ No newline at end of file diff --git a/class_mouse_report_parser__inherit__graph.png b/class_mouse_report_parser__inherit__graph.png index 4aa2d1c2ccbd359a6a8a5b4761763b45cb7c2fdf..9f23c9429d0c5ca99a9847fb4844e579deca7fcc 100644 GIT binary patch literal 4964 zcmd6r^;;Bg7siQ&C0rU5=@1YEmXhvngryrqN(E^oT-c?hL>dGH7M5BRM7q0MLXa+L zr0bpUfARh>GuQRZHS?V3%z4iJxhG0bM-@W!m zp0KkLh(*eAfd76f0b#4isXbA0r^jYVUQN&lQ{Y~PuM#NXo3HLKG&mnDHnq_t-S|Gm zsq@@K(eRpqeg*8_g(ki~-Ld`2l>=>G>P=*8)9a+JzSPvwLA4>kNiNDV=VJKgHLqe}b=hV;LkCM$ zg)+opAZ08=#PuUe$e~{;_OZxU&YZwc-(U9Gb^dV`W%&gwHO8O{HB;X&;jd_AiH$|7 zGD>5s#xoWkt@fNOa}(g{>tstLml$Jo(ztjtMcq)dRgRR$TO&*#Zsc{PPpKfZf=Z5> zKmVe%Gm9UsOi~slnaNrFgwk6h(N=#3d2UGc^O0R^C{?s=>x!y0@@pqhI3jTA$+R zBOi~mUDN2exHB~zS|BjxCz>h$%+AIOHN8$Yv?YA^vkC)ezdP{WN(SGE8J3wO(mXSf z%a-sKJhrOy2)oYUHGj@F9EfP%97v7NfBUCd+i^H6@2hf5M%AJ87cYxi_Yfi~uBAj2 z+vu-G|C62ERpS6J2Dk2XBJ1Ew2MsMP_B5EaeyI`fw1J6$E!t^jf`hpqF)=Ggow@P|Kf%9~=#HdX_hki3UXi!I)8uZzjDGNX-vgbY43X8l z^}+NcjEc&H_R&gLUG~L=UtAX`pYd6oU03uA1U_Wz=JF)#xotbh+m-N~q1Ak*qd1l&vDdDx%`YtEvj5g`PD+aR?VB3_<<~qpl zD96wonFL?&iB>rNu6>8RYrVg@SdI7BqI>>2mzu|DbTm(qu)uA+fY5pwzc``|R-i^6 z-@J1dwvxeD(4Qf~L(OL~GycI>$X5Lyd9hLX<7+O70bq;H9w|R62qi?Iw#M?oj@abT zOOtFUWE3{@p!Eh0O9;Nb5;&}768B)&735eg#WdS}cM_T?G31#hNo$n}x?-06;r3^- z7L5Llw^n9a#i6RIq*O^0qJq}T!|7?ua;*wKe$??rI^d&=ONU^1!wko+ElWmC5dD9gDBvp2SyBV)ldkT6E*CBgFepUHU}R z0+X0KyxwQeh5c9Y3q;M^1sCM<{bYq@CjNs*t#Pu#tku+7pG}wkxrU%eaVU|5NEO6E zc$5%v*6Rynv(aXLv~^2!mr~s(-iyWee|fJ?Mr8dXh*vUiC7!YF;f6*Ey&ANEgaxxe zHpu26tDX2gua8Gl{1ullnEfElHy0Jh=;?Cv9**3%3-wk##N`)ru9$DMN*qpVV&$V! zSPVID=4-~*`jTQLau=#QySu;F!2Nk(#blY>+2K4ssnBd40s_z*!tzj=R#}&sN*4M2 z*}lFc&e_d&o~K2+Ij?wU8+_e>)jf`Hv92KwCc&>o+J-iZn? zq*AC8WXlHi+|bhLNT(2{^g)UR;lq`}mHaPkMyc-D1I~7TbBbNg^vNr> zwIHm)LYsVI!naEZQomFJgYYh#2*%Ua9>jfkvqI7iUZ|yAeT-R?d|wBt?5@6BFuoxN z+e;(nhR@EP=)M{+)x^FZE>qm8zS3%c_H>4jc+rRN}2jq>ma zvsEpoLH^?QT<=%Dm?6ya48)<{g(Ar5l`=@#f*33mGUe&~DPId8)+K$)3o7}Cg)gam zf<&oip1-HF%||zC7c6+HyZJwnfr8qt4Dj%i)`;-2Sq!00>WgqPGJQNy(n})z5ZEQm zk1JaB(K5Tby6L1)SLRLvMZ@kP*=>zdWj@5r0B8ZR<9})OD-nc-cXXnHrHZ3Y-tHMf zFzuJU@84A)t;F!-2Pu(<7?eK{|N3AOJtAwZ>DJO@BK?_9p2zskmm(*mJ}s}Fq8in& z*Q8rCJeW;a%9xk%-v1!&y^Lc}l~8uQyRisc!Lg9#(UIenF=w_OX})?>PqL|W^}>D; zlARcR<8HIuE*2fF;XfiRen~Two^-6u6&xMr{XL<7n_O11o+lDm>>sqTY*mI$rtiVhf{il6@5t1hwG5(FXOWt`krSw z@=2jF=KjUOV(gT!b+W)pe*Q`E2L>Kjy*Y&SbsZy;jW+PQ&XDtU(J06|;`TW0>VMi$y z04XyxBmaEN2;7ijPK>Mua<0J>s=tT}ZJ%Yw5rveuyaq6M~Y17A8HAzJe z<;dpzM^yZchdAp4sUvLC(yXtBv(z_7azr!QFU9RaPL`!n4uh|wFMBdB^XNbM~I<_B8&9epQzRLX}%)S+lE$p*v z!Zxztlf1G=AdXga4Mu-)NPS{tuI}u z=tXLCNKM;Jqx0H8DnI2_tbj#Ju;s(mzijbR3L~=jjpRSQw)Oub@vES=MGJhwN}^&m z-7iuqGUs#)_$vl6)cqNM<;6_iAz^-HCqQq964c`Y(LCw2r*^r#J^!-}jIC`(M@2H5|QACQ-cZwrnkQiN!mmQuJST^Ze?TO!%Z$4iPD1!+211j(}E$vZ%wxp;fz_Bt{ zTWtEI9d%y-R-34_?MSPxw>)o;C zwR<51;C|3~=9Njb0j>2*Y&6{T_Ug1wsU`Tf7^s-CARglit)T0(_4l^op>6$5n1K{t zp;NBfdEs=~1u70&9$ZSSHXEPanKsJ2lPu|glqh&#E7q%#FWUck1%UqErL3*J{6dw@ z#6y{Z9g6*GASG7&=^(E#4#%TVYRIAEV4A#U%Co#sJmPTx6b78HNXO;h29Byqfx@eiepy)z5<|c+7L& z?6Ho%S&c-6Vve`+<0%;VjLOZDLpoh}^m5^2yajD*+tfzIdMqw;)lW0~HopW6_d5Dg zl9S6f_#U8uxT;bf3%z ze+sWA0!+FA?f-DKUG#AsKrmBRL?E-|u>xbjuE0L!{(q&3KW@Bs!Wox96f5jJj#PCERPwX1B2{&Htl!7=J*NzRrJ4n)GQ8z0~X=PQ_DxWrXd%HZtY8x%Grd6c% zc8p#xF~t51O;&_Qyg9(%veso>>u$?!`n^C$umW0VrVoS%9yeZy!<5<=gm%PC;evyH zRagpptf^@>q)~Ndt}nGAK)K8&wt8)5P+K#bU>k|0S`K#hLjn9jhDdCAa}k%xrGSJZ zz+s|Tm80Ef_DP>pF;6UaM4;cTc4u{&GeGB!F;)&tU{y}Cv{Arj(awCC&D`8-yJ3Z7tx*{VNM_pvR4|IV9$f(x+Qvh#I#)!;;EW$W>A>y>o9wHIS0b%$lZ%d-xD&Fs4PKQav&@w(x9k{^ZgK zXg9UI7oTRF?edr*4aR9kSwjAlAN_&f98{E)tGqE!80|y(XA3nS{%1=Y$e`c$Gs!Kv zs7$u&ahp`Qy6HamR6IzE>5#{wAqv4D7$AcY4bKtzLHobO%_s1*-Pd}_eN2`o((qnU zI-B&FOx;y~t}AOkHv(&&0WII(IBXR+jhWsd4evJmX_vED_c|tsj5g?pq=C?{(t|Nk zCp9PKL1HZ__s;Gf9fjEBI_+A>%p?f;D7vc}Um8cl!1eck^W%!Ie?HmvcVBa8n~WQ9AIVF>-#1-r_1fBK{W yKnxnB6YZ}GNH_zXy806wg%TJJXICTJ;Rgu|(^2TSxG?bd3`<>EN2x-=CiH*XZ&rN( literal 2651 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 Lv_O;@+>QJTXkz`q diff --git a/class_multi_byte_value_parser-members.html b/class_multi_byte_value_parser-members.html index ce13234a..3f2266ba 100644 --- a/class_multi_byte_value_parser-members.html +++ b/class_multi_byte_value_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -99,7 +99,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_multi_byte_value_parser.html b/class_multi_byte_value_parser.html index 6972fb02..dab22f68 100644 --- a/class_multi_byte_value_parser.html +++ b/class_multi_byte_value_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: MultiByteValueParser Class Reference @@ -31,7 +31,7 @@ - + @@ -106,7 +106,7 @@ Public Member Functions

Detailed Description

-

Definition at line 37 of file parsetools.h.

+

Definition at line 28 of file parsetools.h.

Constructor & Destructor Documentation

@@ -118,7 +118,7 @@ Public Member Functions MultiByteValueParser::MultiByteValueParser ( - ) + ) @@ -129,7 +129,7 @@ Public Member Functions
-

Definition at line 44 of file parsetools.h.

+

Definition at line 35 of file parsetools.h.

@@ -144,7 +144,7 @@ Public Member Functions const uint8_t* MultiByteValueParser::GetBuffer ( - ) + ) @@ -155,7 +155,7 @@ Public Member Functions
-

Definition at line 47 of file parsetools.h.

+

Definition at line 38 of file parsetools.h.

@@ -170,7 +170,7 @@ Public Member Functions void MultiByteValueParser::Initialize ( MultiValueBuffer *const  - pbuf) + pbuf) @@ -181,7 +181,7 @@ Public Member Functions
-

Definition at line 51 of file parsetools.h.

+

Definition at line 42 of file parsetools.h.

@@ -222,7 +222,7 @@ Public Member Functions diff --git a/class_p_l2303-members.html b/class_p_l2303-members.html index 89039c17..d61bef7f 100644 --- a/class_p_l2303-members.html +++ b/class_p_l2303-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -132,7 +132,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_p_l2303.html b/class_p_l2303.html index 794ec4c2..4144f944 100644 --- a/class_p_l2303.html +++ b/class_p_l2303.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PL2303 Class Reference @@ -31,7 +31,7 @@ - + @@ -97,14 +97,14 @@ Inheritance diagram for PL2303:
Inheritance graph
- +
[legend]
Collaboration diagram for PL2303:
Collaboration graph
- +
[legend]

@@ -194,7 +194,7 @@ Additional Inherited Members

Detailed Description

-

Definition at line 137 of file cdcprolific.h.

+

Definition at line 118 of file cdcprolific.h.

Constructor & Destructor Documentation

@@ -278,7 +278,7 @@ Additional Inherited Members diff --git a/class_p_l2303__coll__graph.map b/class_p_l2303__coll__graph.map index bda9c288..4be62df7 100644 --- a/class_p_l2303__coll__graph.map +++ b/class_p_l2303__coll__graph.map @@ -1,9 +1,9 @@ - - - - - - - + + + + + + + diff --git a/class_p_l2303__coll__graph.md5 b/class_p_l2303__coll__graph.md5 index 95eca178..2bbe6b6f 100644 --- a/class_p_l2303__coll__graph.md5 +++ b/class_p_l2303__coll__graph.md5 @@ -1 +1 @@ -f5f63ba685095592ae4c744b3096fe08 \ No newline at end of file +c150bc00ab8cc2b5946563b5a0ecbb7e \ No newline at end of file diff --git a/class_p_l2303__coll__graph.png b/class_p_l2303__coll__graph.png index cba73df63cc9b44b8d19864e1cd498b15adf7e30..3ecd24088bdec9c791c192cccb646ffd12a9797f 100644 GIT binary patch literal 24756 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 POW#Aa=&~-^a0H`L=aB5#U1xC0mM~K4#lxN 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 A00000 diff --git a/class_p_l2303__inherit__graph.map b/class_p_l2303__inherit__graph.map index 36ffea76..f951e43b 100644 --- a/class_p_l2303__inherit__graph.map +++ b/class_p_l2303__inherit__graph.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/class_p_l2303__inherit__graph.md5 b/class_p_l2303__inherit__graph.md5 index b6048e75..fbefc7d1 100644 --- a/class_p_l2303__inherit__graph.md5 +++ b/class_p_l2303__inherit__graph.md5 @@ -1 +1 @@ -adff7c2c3e9c2444248243990610f870 \ No newline at end of file +24eddf3115f9a78b418b7d29835285a2 \ No newline at end of file diff --git a/class_p_l2303__inherit__graph.png b/class_p_l2303__inherit__graph.png index a20af544616974a397442d455845e1ca0e5ad7ce..52e02528e89bf36151f37af0b8bce42ae6ab9522 100644 GIT binary patch literal 10357 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 literal 5683 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 diff --git a/class_p_s3_b_t-members.html b/class_p_s3_b_t-members.html index 8a0ceaac..09f71871 100644 --- a/class_p_s3_b_t-members.html +++ b/class_p_s3_b_t-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@
- + @@ -125,7 +125,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_p_s3_b_t.html b/class_p_s3_b_t.html index 05f5985a..a96ceeae 100644 --- a/class_p_s3_b_t.html +++ b/class_p_s3_b_t.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3BT Class Reference @@ -31,7 +31,7 @@ - + @@ -98,14 +98,14 @@ Inheritance diagram for PS3BT:
Inheritance graph
- +
[legend]
Collaboration diagram for PS3BT:
Collaboration graph
- +
[legend]
- +

@@ -260,7 +260,7 @@ Public Attributes

void PS3BT::ACLData ( uint8_t * ACLData)ACLData)
@@ -294,7 +294,7 @@ Public Attributes void PS3BT::Run ( - ) + ) @@ -322,7 +322,7 @@ Public Attributes void PS3BT::Reset ( - ) + ) @@ -350,7 +350,7 @@ Public Attributes void PS3BT::disconnect ( - ) + ) @@ -376,7 +376,7 @@ Public Attributes bool PS3BT::getButtonPress ( Button  - b) + b) @@ -397,7 +397,7 @@ Public Attributes bool PS3BT::getButtonClick ( Button  - b) + b) @@ -418,7 +418,7 @@ Public Attributes uint8_t PS3BT::getAnalogButton ( Button  - a) + a) @@ -444,7 +444,7 @@ Public Attributes uint8_t PS3BT::getAnalogHat ( AnalogHat  - a) + a) @@ -470,7 +470,7 @@ Public Attributes int16_t PS3BT::getSensor ( Sensor  - a) + a) @@ -496,7 +496,7 @@ Public Attributes double PS3BT::getAngle ( Angle  - a) + a) @@ -522,7 +522,7 @@ Public Attributes double PS3BT::get9DOFValues ( Sensor  - a) + a) @@ -548,7 +548,7 @@ Public Attributes bool PS3BT::getStatus ( Status  - c) + c) @@ -573,7 +573,7 @@ Public Attributes String PS3BT::getStatusString ( - ) + ) @@ -592,7 +592,7 @@ Public Attributes String PS3BT::getTemperature ( - ) + ) @@ -611,7 +611,7 @@ Public Attributes void PS3BT::setAllOff ( - ) + ) @@ -629,7 +629,7 @@ Public Attributes void PS3BT::setRumbleOff ( - ) + ) @@ -648,7 +648,7 @@ Public Attributes void PS3BT::setRumbleOn ( Rumble  - mode) + mode) @@ -723,7 +723,7 @@ Public Attributes void PS3BT::setLedRaw ( uint8_t  - value) + value) @@ -748,7 +748,7 @@ Public Attributes void PS3BT::setLedOff ( LED  - a) + a) @@ -773,7 +773,7 @@ Public Attributes void PS3BT::setLedOn ( LED  - a) + a) @@ -798,7 +798,7 @@ Public Attributes void PS3BT::setLedToggle ( LED  - a) + a) @@ -864,7 +864,7 @@ Public Attributes void PS3BT::moveSetBulb ( Colors  - color) + color) @@ -889,7 +889,7 @@ Public Attributes void PS3BT::moveSetRumble ( uint8_t  - rumble) + rumble) @@ -917,7 +917,7 @@ Public Attributes void PS3BT::attachOnInit ( void(*)(void)  - funcOnInit) + funcOnInit) @@ -994,7 +994,7 @@ Public Attributes diff --git a/class_p_s3_b_t__coll__graph.map b/class_p_s3_b_t__coll__graph.map index 75362a30..a41f554f 100644 --- a/class_p_s3_b_t__coll__graph.map +++ b/class_p_s3_b_t__coll__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_p_s3_b_t__coll__graph.md5 b/class_p_s3_b_t__coll__graph.md5 index ef37d26b..12c7deaf 100644 --- a/class_p_s3_b_t__coll__graph.md5 +++ b/class_p_s3_b_t__coll__graph.md5 @@ -1 +1 @@ -22f877afa4dcaab20186a86229ac6604 \ No newline at end of file +06c1c66f64f4c39618a1d5ab9446b806 \ No newline at end of file diff --git a/class_p_s3_b_t__coll__graph.png b/class_p_s3_b_t__coll__graph.png index a4b3d2e9aa6b4043f54b5d8b17b87ba6998e46ef..a388dca45d50b795f5f4c51062301785d5b50d50 100644 GIT binary patch literal 3980 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 CeK8^c diff --git a/class_p_s3_b_t__inherit__graph.map b/class_p_s3_b_t__inherit__graph.map index 75362a30..a41f554f 100644 --- a/class_p_s3_b_t__inherit__graph.map +++ b/class_p_s3_b_t__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_p_s3_b_t__inherit__graph.md5 b/class_p_s3_b_t__inherit__graph.md5 index ef37d26b..12c7deaf 100644 --- a/class_p_s3_b_t__inherit__graph.md5 +++ b/class_p_s3_b_t__inherit__graph.md5 @@ -1 +1 @@ -22f877afa4dcaab20186a86229ac6604 \ No newline at end of file +06c1c66f64f4c39618a1d5ab9446b806 \ No newline at end of file diff --git a/class_p_s3_b_t__inherit__graph.png b/class_p_s3_b_t__inherit__graph.png index a4b3d2e9aa6b4043f54b5d8b17b87ba6998e46ef..a388dca45d50b795f5f4c51062301785d5b50d50 100644 GIT binary patch literal 3980 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 CeK8^c diff --git a/class_p_s3_u_s_b-members.html b/class_p_s3_u_s_b-members.html index a89eefbd..1a536a9b 100644 --- a/class_p_s3_u_s_b-members.html +++ b/class_p_s3_u_s_b-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -133,7 +133,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_p_s3_u_s_b.html b/class_p_s3_u_s_b.html index b56ff722..1f8f131c 100644 --- a/class_p_s3_u_s_b.html +++ b/class_p_s3_u_s_b.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PS3USB Class Reference @@ -31,7 +31,7 @@ - + @@ -99,14 +99,14 @@ Inheritance diagram for PS3USB:
Inheritance graph
- +
[legend]
Collaboration diagram for PS3USB:
Collaboration graph
- +
[legend]

One can only set the color of the bulb, set the rumble, set and get the bluetooth address and calibrate the magnetometer via USB on the Move controller.

Information about the protocol can be found at the wiki: https://github.com/felis/USB_Host_Shield_2.0/wiki/PS3-Information.

-

Definition at line 61 of file PS3USB.h.

+

Definition at line 55 of file PS3USB.h.

Constructor & Destructor Documentation

@@ -335,7 +335,7 @@ Protected Attributes
- +

@@ -202,7 +202,7 @@ Protected Attributes

uint8_t PS3USB::Release ())
@@ -364,7 +364,7 @@ Protected Attributes uint8_t PS3USB::Poll ( - ) + ) @@ -393,7 +393,7 @@ Protected Attributes virtual uint8_t PS3USB::GetAddress ( - ) + ) @@ -408,7 +408,7 @@ Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 96 of file PS3USB.h.

+

Definition at line 90 of file PS3USB.h.

@@ -422,7 +422,7 @@ Protected Attributes virtual bool PS3USB::isReady ( - ) + ) @@ -435,7 +435,7 @@ Protected Attributes

Used to check if the controller has been initialized.

Returns
True if it's ready.
-

Definition at line 104 of file PS3USB.h.

+

Definition at line 98 of file PS3USB.h.

@@ -482,7 +482,7 @@ Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 114 of file PS3USB.h.

+

Definition at line 108 of file PS3USB.h.

@@ -494,7 +494,7 @@ Protected Attributes void PS3USB::setBdaddr ( uint8_t *  - BDADDR) + BDADDR) @@ -519,7 +519,7 @@ Protected Attributes void PS3USB::setMoveBdaddr ( uint8_t *  - BDADDR) + BDADDR) @@ -544,7 +544,7 @@ Protected Attributes bool PS3USB::getButtonPress ( Button  - b) + b) @@ -565,7 +565,7 @@ Protected Attributes bool PS3USB::getButtonClick ( Button  - b) + b) @@ -586,7 +586,7 @@ Protected Attributes uint8_t PS3USB::getAnalogButton ( Button  - a) + a) @@ -612,7 +612,7 @@ Protected Attributes uint8_t PS3USB::getAnalogHat ( AnalogHat  - a) + a) @@ -638,7 +638,7 @@ Protected Attributes uint16_t PS3USB::getSensor ( Sensor  - a) + a) @@ -664,7 +664,7 @@ Protected Attributes double PS3USB::getAngle ( Angle  - a) + a) @@ -690,7 +690,7 @@ Protected Attributes bool PS3USB::getStatus ( Status  - c) + c) @@ -715,7 +715,7 @@ Protected Attributes String PS3USB::getStatusString ( - ) + ) @@ -734,7 +734,7 @@ Protected Attributes void PS3USB::setAllOff ( - ) + ) @@ -752,7 +752,7 @@ Protected Attributes void PS3USB::setRumbleOff ( - ) + ) @@ -771,7 +771,7 @@ Protected Attributes void PS3USB::setRumbleOn ( Rumble  - mode) + mode) @@ -846,7 +846,7 @@ Protected Attributes void PS3USB::setLedRaw ( uint8_t  - value) + value) @@ -871,7 +871,7 @@ Protected Attributes void PS3USB::setLedOff ( LED  - a) + a) @@ -896,7 +896,7 @@ Protected Attributes void PS3USB::setLedOn ( LED  - a) + a) @@ -921,7 +921,7 @@ Protected Attributes void PS3USB::setLedToggle ( LED  - a) + a) @@ -987,7 +987,7 @@ Protected Attributes void PS3USB::moveSetBulb ( Colors  - color) + color) @@ -1012,7 +1012,7 @@ Protected Attributes void PS3USB::moveSetRumble ( uint8_t  - rumble) + rumble) @@ -1040,7 +1040,7 @@ Protected Attributes void PS3USB::attachOnInit ( void(*)(void)  - funcOnInit) + funcOnInit) @@ -1058,7 +1058,7 @@ Protected Attributes -

Definition at line 242 of file PS3USB.h.

+

Definition at line 236 of file PS3USB.h.

@@ -1074,7 +1074,7 @@ Protected Attributes

Variable used to indicate if the normal playstation controller is successfully connected.

-

Definition at line 244 of file PS3USB.h.

+

Definition at line 238 of file PS3USB.h.

@@ -1089,7 +1089,7 @@ Protected Attributes

Variable used to indicate if the move controller is successfully connected.

-

Definition at line 250 of file PS3USB.h.

+

Definition at line 244 of file PS3USB.h.

@@ -1104,7 +1104,7 @@ Protected Attributes

Variable used to indicate if the navigation controller is successfully connected.

-

Definition at line 252 of file PS3USB.h.

+

Definition at line 246 of file PS3USB.h.

@@ -1127,7 +1127,7 @@ Protected Attributes

Pointer to USB class instance.

-

Definition at line 256 of file PS3USB.h.

+

Definition at line 250 of file PS3USB.h.

@@ -1150,7 +1150,7 @@ Protected Attributes

Device address.

-

Definition at line 258 of file PS3USB.h.

+

Definition at line 252 of file PS3USB.h.

@@ -1173,7 +1173,7 @@ Protected Attributes

Endpoint info structure.

-

Definition at line 260 of file PS3USB.h.

+

Definition at line 254 of file PS3USB.h.

@@ -1186,7 +1186,7 @@ Protected Attributes diff --git a/class_p_s3_u_s_b__coll__graph.map b/class_p_s3_u_s_b__coll__graph.map index 7ec540e2..fb24ee13 100644 --- a/class_p_s3_u_s_b__coll__graph.map +++ b/class_p_s3_u_s_b__coll__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/class_p_s3_u_s_b__coll__graph.md5 b/class_p_s3_u_s_b__coll__graph.md5 index 5e838b4d..4a94ee41 100644 --- a/class_p_s3_u_s_b__coll__graph.md5 +++ b/class_p_s3_u_s_b__coll__graph.md5 @@ -1 +1 @@ -28a5e7d1e6b6d3332b9f38bf83064cdc \ No newline at end of file +9e8c5435724f7c7e70dfbe754d4e9919 \ No newline at end of file diff --git a/class_p_s3_u_s_b__coll__graph.png b/class_p_s3_u_s_b__coll__graph.png index 7162554dec341b0ff71e3834c4929efc1eccc88b..09d05b5cdaa7b9d1d3936fdca0bc202b8848bd6a 100644 GIT binary patch literal 12709 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 UG9CipA5ws-qLub_W%F@ diff --git a/class_p_s3_u_s_b__inherit__graph.map b/class_p_s3_u_s_b__inherit__graph.map index b9a975c6..c957c2e7 100644 --- a/class_p_s3_u_s_b__inherit__graph.map +++ b/class_p_s3_u_s_b__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_p_s3_u_s_b__inherit__graph.md5 b/class_p_s3_u_s_b__inherit__graph.md5 index 011a34bd..44086750 100644 --- a/class_p_s3_u_s_b__inherit__graph.md5 +++ b/class_p_s3_u_s_b__inherit__graph.md5 @@ -1 +1 @@ -e4886299c60008bb8005707e8b883491 \ No newline at end of file +d6728a689bb029a7cd4f4e23b5bf2c3c \ No newline at end of file diff --git a/class_p_s3_u_s_b__inherit__graph.png b/class_p_s3_u_s_b__inherit__graph.png index 640aecc5dfcb441a2bf051b5a65a5b3be68bea6b..d6a815fc487102c2077326644398592826f8342a 100644 GIT binary patch literal 4441 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 XAD?(ejzwqS%7jQ?8>&^O;Slvdt09Q{ literal 2358 zcmb`J`#;lfAICqrms65P<93?RFmlRSzM^4mh|$=J7R3z7A%|pcr^=U+cn2Y12=VXpWDrl_EZ2q^G^w}SKVC~^*4CDZIz*RSt`k5azR&p*Ib zeEjrjU~upvnS2wiDHIBAY-~6j&O(Dkk#l}g(d6Xh-{J6*;^N@4a76BjGETm=ZVvk5 zOw-$miHXtCsEyA)bwBws;t(lO4KuUoonJq7m*#QkuQJ7ClRE}yTQjq=0s;fSOh2z{ zYfFrdUSA$(iKZlB=+qxl(B7FDc6m9OL?Xq;7TT9iw4jnpl-k4D8_O!nK;uAHg4p@T=LN*6IT^E>5 zWL7bmDvF9oZEXNpTU$fZhqK|f*V57mKB`Je)>c+lCMKvd&hW?x7K_bRwtUHt_Tgz7lv$W$T4`yi zvb2_=VRe0demBq5!~_5$A|k4M+3%*Or)OqD61U&WSs zw~rqk6SMgKePIVeOUpcLRtk7w*l&Exm0=sd-mmOIBqC+R(`xdxZ&Pht>ed!=V30` z*(EuaRa90kfByW+FmoWFm_?yb{#X?fnP%qZ1sFOE2E%)L-t0Xe6B7f6!$Acia(#S! z2HFD$@9OC5uYdiDK6$bsQ_sM__VUtbdx{t+LJbWKLDUs@ch2+3#qI5F1*vO9rmz0u z%a`_M#Y|7+Ddbxugc(p_WNJ#sS02vpId81oo%oYBOELsg#~=K|qH07yRkSoWXN)f& z)>vFv2uZ{zCbpr}_h)qJ!S>vl7^c6Xhz3cf`Caaun@e;!ER){JJl&ul1M8^nY9B;` znI1t7FZJNaCPV_E2t#j*;J^O;mPy?hp9dxhQ|P_#bNNspk}G*a>eq&#!h9Al$~Bj<__Q zXi9qzcU!ERmNoc6X;7U^n&Q(bT7GXQ2$4P9Du$P*^g)^L;$tiSM88Ax;TRpq+#CX(%|7 zLl0OW;aFt@a&+|lZl#(#^_Qk6rmT&vD=&NEGc0`Hlq9yADo~9pc#SK9k%sl5ZprRF zTfFQNTMXo7E#qT)%5ELGr2>QQ%vU9PF`14dwmX?Ra(z^#Fu1ZFnq}VD+^ion*3of_ zWj=AFgl@s{I{>(Ou2};QO1Y_JvcfE0x0;ri#Q%W#9{_8Li$Ec}{vXrlm~Do|9NP&FO935vd8x--93n5$ej#D%f_elj`c~M~@!0x7*p; zwry`;O-xM8?HwH(tFNxUnV*k05rXkQ4WSqe3eb374?NUpitG`dd5X9 z9AVg|iiwSlioCoRfe`oMP3hLwR!xmj9_Eyf&%MIJ2@Yo$Kn@GrSrf?SVVEqI7cwv7 z?Nq8gcYC|#RLdFtp`M=d$B!R!$P39{N;I3-Jd%Q=dJf2JSH_4S3N)yCj^?35X{o6I za5W(Tv;ye25yr^^-{1o~3j<0ZWRD#2H&GlgeQu^0FTS+AESu2<5#g>0M%>-qS65d< zLqmByo|v@qL~DX|O1q3?+Q#RZ)s2k?q`H%u%)_#>!@OO9ND_%c!DvEv@7_ImFfLwd zIDX?Z`x4haJUrafb2LNV0Ni@0#P+O*hd;Hm@ytaMX`ZHJj#B5;hfa0+)d-PA&M+C7 zYLnkAErp%wvIPcb7gmMQ=-Jr=<$ivCNL}5(iHLY2^MqMnS5|a%b*E}CV4a=&vsA1> zd;|qmoYBwD$cT)LtowbO^6ZR$!O)^?dgn9!S}M)-FdlA8y}J38drHsr5re^Iv*oc{ zT#GCosMF>+FFNjdW24?@ecH}t91ce$5<|RzXEc9GA;D!x6Pk|Nx}W|$>me;RKG|39 z;D4(HP4Smj{eJiE-3t!uj3e}IJnQJ_sI0ULF>h&U0e^(CVW-8dxfa>vSAW(Pe@dI1 YSP`0fkh%R13l>7a2?tkHl|3o>U+x4>z5oCK diff --git a/class_p_t_p_list_parser-members.html b/class_p_t_p_list_parser-members.html index c60a5df6..d97d9185 100644 --- a/class_p_t_p_list_parser-members.html +++ b/class_p_t_p_list_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -101,7 +101,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_p_t_p_list_parser.html b/class_p_t_p_list_parser.html index 14b34dc0..e5d43c41 100644 --- a/class_p_t_p_list_parser.html +++ b/class_p_t_p_list_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: PTPListParser Class Reference @@ -31,7 +31,7 @@ - + @@ -112,7 +112,7 @@ Public Member Functions

Detailed Description

-

Definition at line 92 of file parsetools.h.

+

Definition at line 83 of file parsetools.h.

Member Enumeration Documentation

@@ -130,7 +130,7 @@ Public Member Functions -

Definition at line 95 of file parsetools.h.

+

Definition at line 86 of file parsetools.h.

@@ -145,7 +145,7 @@ Public Member Functions PTPListParser::PTPListParser ( - ) + ) @@ -156,7 +156,7 @@ Public Member Functions
-

Definition at line 118 of file parsetools.h.

+

Definition at line 109 of file parsetools.h.

@@ -205,7 +205,7 @@ Public Member Functions
-

Definition at line 129 of file parsetools.h.

+

Definition at line 120 of file parsetools.h.

@@ -258,7 +258,7 @@ Public Member Functions diff --git a/class_report_desc_parser-members.html b/class_report_desc_parser-members.html index fff33fde..b3e2f08d 100644 --- a/class_report_desc_parser-members.html +++ b/class_report_desc_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -111,9 +111,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); digitTitles0ReportDescParserBasestatic digitTitles1ReportDescParserBasestatic digitTitles2ReportDescParserBasestatic - enErrorBufferTooSmall enum valueReportDescParserBase - enErrorIncomplete enum valueReportDescParserBase - enErrorSuccess enum valueReportDescParserBase + enErrorBufferTooSmall enum valueReportDescParserBase + enErrorIncomplete enum valueReportDescParserBase + enErrorSuccess enum valueReportDescParserBase gameTitles0ReportDescParserBasestatic gameTitles1ReportDescParserBasestatic genDesktopTitles0ReportDescParserBasestatic @@ -184,7 +184,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_report_desc_parser.html b/class_report_desc_parser.html index 735e7eae..7e1e2a34 100644 --- a/class_report_desc_parser.html +++ b/class_report_desc_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: ReportDescParser Class Reference @@ -31,7 +31,7 @@ - + @@ -96,24 +96,24 @@ Inheritance diagram for ReportDescParser:
Inheritance graph
- +
[legend]
Collaboration diagram for ReportDescParser:
Collaboration graph
- +
[legend]
- - + @@ -296,7 +296,7 @@ Additional Inherited Members

Additional Inherited Members

- Public Types inherited from ReportDescParserBase
enum  { enErrorSuccess = 0, -enErrorIncomplete, -enErrorBufferTooSmall +
enum  { enErrorSuccess = 0, +enErrorIncomplete, +enErrorBufferTooSmall }
 
 
typedef void(* UsagePageFunc )(uint16_t usage)
 
- Public Member Functions inherited from ReportDescParserBase

Detailed Description

-

Definition at line 162 of file hidescriptorparser.h.

+

Definition at line 144 of file hidescriptorparser.h.


The documentation for this class was generated from the following file: @@ -305,7 +305,7 @@ Additional Inherited Members diff --git a/class_report_desc_parser2-members.html b/class_report_desc_parser2-members.html index dea00f90..87c1d735 100644 --- a/class_report_desc_parser2-members.html +++ b/class_report_desc_parser2-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -111,9 +111,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); digitTitles0ReportDescParserBasestatic digitTitles1ReportDescParserBasestatic digitTitles2ReportDescParserBasestatic - enErrorBufferTooSmall enum valueReportDescParserBase - enErrorIncomplete enum valueReportDescParserBase - enErrorSuccess enum valueReportDescParserBase + enErrorBufferTooSmall enum valueReportDescParserBase + enErrorIncomplete enum valueReportDescParserBase + enErrorSuccess enum valueReportDescParserBase gameTitles0ReportDescParserBasestatic gameTitles1ReportDescParserBasestatic genDesktopTitles0ReportDescParserBasestatic @@ -185,7 +185,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_report_desc_parser2.html b/class_report_desc_parser2.html index d466bc25..da315eeb 100644 --- a/class_report_desc_parser2.html +++ b/class_report_desc_parser2.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: ReportDescParser2 Class Reference @@ -31,7 +31,7 @@ - + @@ -98,14 +98,14 @@ Inheritance diagram for ReportDescParser2:
Inheritance graph
- +
[legend]
Collaboration diagram for ReportDescParser2:
Collaboration graph
- +
[legend]
- - + @@ -306,7 +306,7 @@ Additional Inherited Members

@@ -129,11 +129,11 @@ Protected Member Functions

Additional Inherited Members

- Public Types inherited from ReportDescParserBase
enum  { enErrorSuccess = 0, -enErrorIncomplete, -enErrorBufferTooSmall +
enum  { enErrorSuccess = 0, +enErrorIncomplete, +enErrorBufferTooSmall }
 
 
typedef void(* UsagePageFunc )(uint16_t usage)
 
- Static Public Member Functions inherited from ReportDescParserBase

Detailed Description

-

Definition at line 165 of file hidescriptorparser.h.

+

Definition at line 147 of file hidescriptorparser.h.

Constructor & Destructor Documentation

@@ -340,7 +340,7 @@ Additional Inherited Members
-

Definition at line 181 of file hidescriptorparser.h.

+

Definition at line 163 of file hidescriptorparser.h.

@@ -392,7 +392,7 @@ Additional Inherited Members diff --git a/class_report_desc_parser2__coll__graph.map b/class_report_desc_parser2__coll__graph.map index a08f3436..d3dc8a2c 100644 --- a/class_report_desc_parser2__coll__graph.map +++ b/class_report_desc_parser2__coll__graph.map @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/class_report_desc_parser2__coll__graph.md5 b/class_report_desc_parser2__coll__graph.md5 index 1fbdbd76..d407d228 100644 --- a/class_report_desc_parser2__coll__graph.md5 +++ b/class_report_desc_parser2__coll__graph.md5 @@ -1 +1 @@ -f6f68596c2607c4ad2d47d6c4f6be752 \ No newline at end of file +e88568f5fec50e92ab94f403c7de23cd \ No newline at end of file diff --git a/class_report_desc_parser2__coll__graph.png b/class_report_desc_parser2__coll__graph.png index ccc2bd17f5ac1221957d9337c1acf7c2daac404f..f959857f98178181b36c297124227f0a5fc98957 100644 GIT binary patch literal 21914 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 G@BadIk?2PN diff --git a/class_report_desc_parser2__inherit__graph.map b/class_report_desc_parser2__inherit__graph.map index 267df351..adb0febc 100644 --- a/class_report_desc_parser2__inherit__graph.map +++ b/class_report_desc_parser2__inherit__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/class_report_desc_parser2__inherit__graph.md5 b/class_report_desc_parser2__inherit__graph.md5 index ab378e32..2edb6da6 100644 --- a/class_report_desc_parser2__inherit__graph.md5 +++ b/class_report_desc_parser2__inherit__graph.md5 @@ -1 +1 @@ -38c6811ef03a692ce113dd9e01af56b7 \ No newline at end of file +a90860eeadb8724d3f4a2fd3d74642dc \ No newline at end of file diff --git a/class_report_desc_parser2__inherit__graph.png b/class_report_desc_parser2__inherit__graph.png index 4d0486fe31b36346cac7a24ffceba64c1ff81903..4c399a7c6088e0f05c8442e195447fcd65554b37 100644 GIT binary patch literal 8590 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 literal 3857 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 diff --git a/class_report_desc_parser__coll__graph.map b/class_report_desc_parser__coll__graph.map index d63446b8..3415b266 100644 --- a/class_report_desc_parser__coll__graph.map +++ b/class_report_desc_parser__coll__graph.map @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/class_report_desc_parser__coll__graph.md5 b/class_report_desc_parser__coll__graph.md5 index 39d6a307..8bc859ff 100644 --- a/class_report_desc_parser__coll__graph.md5 +++ b/class_report_desc_parser__coll__graph.md5 @@ -1 +1 @@ -f2bf9006954f5b193ad7ab33bf8a397f \ No newline at end of file +98068a7aa912a8da28e63e8afb9a1494 \ No newline at end of file diff --git a/class_report_desc_parser__coll__graph.png b/class_report_desc_parser__coll__graph.png index acb2351c077548471da086225966b46c776a4bf5..6ef8d2c0781c2f1cbaba37a11d869d611042503d 100644 GIT binary patch literal 21788 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 a_-%>Tw$7(X;lN`GCoQfZRw-im>3;wpc;IpX diff --git a/class_report_desc_parser__inherit__graph.map b/class_report_desc_parser__inherit__graph.map index cdf104a9..270b7bbf 100644 --- a/class_report_desc_parser__inherit__graph.map +++ b/class_report_desc_parser__inherit__graph.map @@ -1,4 +1,4 @@ - - + + diff --git a/class_report_desc_parser__inherit__graph.md5 b/class_report_desc_parser__inherit__graph.md5 index 6abf44ee..643203cd 100644 --- a/class_report_desc_parser__inherit__graph.md5 +++ b/class_report_desc_parser__inherit__graph.md5 @@ -1 +1 @@ -87d26bdc42d2c7fa27005684058c16d0 \ No newline at end of file +365ba2bc5b9634b96848151575c7bc86 \ No newline at end of file diff --git a/class_report_desc_parser__inherit__graph.png b/class_report_desc_parser__inherit__graph.png index fdfc8c228fa0673df72e29a9b8a95c3a32eb61d9..ae2d59cb103cd4b399a0f86905bfab3d16fc3a5e 100644 GIT binary patch literal 8416 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 - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -111,9 +111,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); digitTitles0ReportDescParserBasestatic digitTitles1ReportDescParserBasestatic digitTitles2ReportDescParserBasestatic - enErrorBufferTooSmall enum valueReportDescParserBase - enErrorIncomplete enum valueReportDescParserBase - enErrorSuccess enum valueReportDescParserBase + enErrorBufferTooSmall enum valueReportDescParserBase + enErrorIncomplete enum valueReportDescParserBase + enErrorSuccess enum valueReportDescParserBase gameTitles0ReportDescParserBasestatic gameTitles1ReportDescParserBasestatic genDesktopTitles0ReportDescParserBasestatic @@ -184,7 +184,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_report_desc_parser_base.html b/class_report_desc_parser_base.html index 32c9cd7d..784c24c9 100644 --- a/class_report_desc_parser_base.html +++ b/class_report_desc_parser_base.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: ReportDescParserBase Class Reference @@ -31,7 +31,7 @@ - + @@ -104,23 +104,23 @@ Inheritance diagram for ReportDescParserBase:
Inheritance graph
- +
[legend]
Collaboration diagram for ReportDescParserBase:
Collaboration graph
- +
[legend]
- - +

Public Types

enum  { enErrorSuccess = 0, -enErrorIncomplete, -enErrorBufferTooSmall +
enum  { enErrorSuccess = 0, +enErrorIncomplete, +enErrorBufferTooSmall }
 
 
typedef void(* UsagePageFunc )(uint16_t usage)
 
@@ -317,7 +317,7 @@ Static Protected Attributes

Detailed Description

-

Definition at line 40 of file hidescriptorparser.h.

+

Definition at line 22 of file hidescriptorparser.h.

Member Typedef Documentation

@@ -329,12 +329,12 @@ Static Protected Attributes
-

Definition at line 42 of file hidescriptorparser.h.

+

Definition at line 24 of file hidescriptorparser.h.

Member Enumeration Documentation

- +
@@ -344,15 +344,15 @@ Static Protected Attributes
- - -
Enumerator
enErrorSuccess  +
Enumerator
enErrorSuccess 
enErrorIncomplete  +
enErrorIncomplete 
enErrorBufferTooSmall  +
enErrorBufferTooSmall 
-

Definition at line 155 of file hidescriptorparser.h.

+

Definition at line 137 of file hidescriptorparser.h.

@@ -367,7 +367,7 @@ Static Protected Attributes ReportDescParserBase::ReportDescParserBase ( - ) + ) @@ -378,7 +378,7 @@ Static Protected Attributes
-

Definition at line 141 of file hidescriptorparser.h.

+

Definition at line 123 of file hidescriptorparser.h.

@@ -394,7 +394,7 @@ Static Protected Attributes void ReportDescParserBase::PrintGenericDesktopPageUsage ( uint16_t  - usage) + usage) @@ -420,7 +420,7 @@ Static Protected Attributes void ReportDescParserBase::PrintSimulationControlsPageUsage ( uint16_t  - usage) + usage) @@ -446,7 +446,7 @@ Static Protected Attributes void ReportDescParserBase::PrintVRControlsPageUsage ( uint16_t  - usage) + usage) @@ -472,7 +472,7 @@ Static Protected Attributes void ReportDescParserBase::PrintSportsControlsPageUsage ( uint16_t  - usage) + usage) @@ -498,7 +498,7 @@ Static Protected Attributes void ReportDescParserBase::PrintGameControlsPageUsage ( uint16_t  - usage) + usage) @@ -524,7 +524,7 @@ Static Protected Attributes void ReportDescParserBase::PrintGenericDeviceControlsPageUsage ( uint16_t  - usage) + usage) @@ -550,7 +550,7 @@ Static Protected Attributes void ReportDescParserBase::PrintLEDPageUsage ( uint16_t  - usage) + usage) @@ -576,7 +576,7 @@ Static Protected Attributes void ReportDescParserBase::PrintButtonPageUsage ( uint16_t  - usage) + usage) @@ -602,7 +602,7 @@ Static Protected Attributes void ReportDescParserBase::PrintOrdinalPageUsage ( uint16_t  - usage) + usage) @@ -628,7 +628,7 @@ Static Protected Attributes void ReportDescParserBase::PrintTelephonyPageUsage ( uint16_t  - usage) + usage) @@ -654,7 +654,7 @@ Static Protected Attributes void ReportDescParserBase::PrintConsumerPageUsage ( uint16_t  - usage) + usage) @@ -680,7 +680,7 @@ Static Protected Attributes void ReportDescParserBase::PrintDigitizerPageUsage ( uint16_t  - usage) + usage) @@ -706,7 +706,7 @@ Static Protected Attributes void ReportDescParserBase::PrintAlphanumDisplayPageUsage ( uint16_t  - usage) + usage) @@ -732,7 +732,7 @@ Static Protected Attributes void ReportDescParserBase::PrintMedicalInstrumentPageUsage ( uint16_t  - usage) + usage) @@ -794,7 +794,7 @@ Static Protected Attributes void ReportDescParserBase::PrintByteValue ( uint8_t  - data) + data) @@ -820,7 +820,7 @@ Static Protected Attributes void ReportDescParserBase::PrintItemTitle ( uint8_t  - prefix) + prefix) @@ -884,7 +884,7 @@ Static Protected Attributes void ReportDescParserBase::PrintUsagePage ( uint16_t  - page) + page) @@ -910,7 +910,7 @@ Static Protected Attributes void ReportDescParserBase::SetUsagePage ( uint16_t  - page) + page) @@ -1005,7 +1005,7 @@ Static Protected Attributes
}
-

Definition at line 64 of file hidescriptorparser.h.

+

Definition at line 46 of file hidescriptorparser.h.

@@ -1035,7 +1035,7 @@ Static Protected Attributes
}
-

Definition at line 65 of file hidescriptorparser.h.

+

Definition at line 47 of file hidescriptorparser.h.

@@ -1068,7 +1068,7 @@ Static Protected Attributes
}
-

Definition at line 66 of file hidescriptorparser.h.

+

Definition at line 48 of file hidescriptorparser.h.

@@ -1117,7 +1117,7 @@ Static Protected Attributes
}
-

Definition at line 67 of file hidescriptorparser.h.

+

Definition at line 49 of file hidescriptorparser.h.

@@ -1161,7 +1161,7 @@ Static Protected Attributes
}
-

Definition at line 68 of file hidescriptorparser.h.

+

Definition at line 50 of file hidescriptorparser.h.

@@ -1194,7 +1194,7 @@ Static Protected Attributes
}
-

Definition at line 69 of file hidescriptorparser.h.

+

Definition at line 51 of file hidescriptorparser.h.

@@ -1226,7 +1226,7 @@ Static Protected Attributes
}
-

Definition at line 70 of file hidescriptorparser.h.

+

Definition at line 52 of file hidescriptorparser.h.

@@ -1262,7 +1262,7 @@ Static Protected Attributes
}
-

Definition at line 71 of file hidescriptorparser.h.

+

Definition at line 53 of file hidescriptorparser.h.

@@ -1292,7 +1292,7 @@ Static Protected Attributes
}
-

Definition at line 72 of file hidescriptorparser.h.

+

Definition at line 54 of file hidescriptorparser.h.

@@ -1314,7 +1314,7 @@ Static Protected Attributes
-

Definition at line 73 of file hidescriptorparser.h.

+

Definition at line 55 of file hidescriptorparser.h.

@@ -1348,7 +1348,7 @@ Static Protected Attributes
}
-

Definition at line 74 of file hidescriptorparser.h.

+

Definition at line 56 of file hidescriptorparser.h.

@@ -1374,7 +1374,7 @@ Static Protected Attributes
}
-

Definition at line 75 of file hidescriptorparser.h.

+

Definition at line 57 of file hidescriptorparser.h.

@@ -1402,7 +1402,7 @@ Static Protected Attributes
}
-

Definition at line 76 of file hidescriptorparser.h.

+

Definition at line 58 of file hidescriptorparser.h.

@@ -1436,7 +1436,7 @@ Static Protected Attributes
}
-

Definition at line 77 of file hidescriptorparser.h.

+

Definition at line 59 of file hidescriptorparser.h.

@@ -1480,7 +1480,7 @@ Static Protected Attributes
}
-

Definition at line 78 of file hidescriptorparser.h.

+

Definition at line 60 of file hidescriptorparser.h.

@@ -1507,7 +1507,7 @@ Static Protected Attributes
}
-

Definition at line 79 of file hidescriptorparser.h.

+

Definition at line 61 of file hidescriptorparser.h.

@@ -1556,7 +1556,7 @@ Static Protected Attributes
}
-

Definition at line 80 of file hidescriptorparser.h.

+

Definition at line 62 of file hidescriptorparser.h.

@@ -1587,7 +1587,7 @@ Static Protected Attributes
}
-

Definition at line 81 of file hidescriptorparser.h.

+

Definition at line 63 of file hidescriptorparser.h.

@@ -1609,7 +1609,7 @@ Static Protected Attributes
-

Definition at line 82 of file hidescriptorparser.h.

+

Definition at line 64 of file hidescriptorparser.h.

@@ -1640,7 +1640,7 @@ Static Protected Attributes
}
-

Definition at line 83 of file hidescriptorparser.h.

+

Definition at line 65 of file hidescriptorparser.h.

@@ -1682,7 +1682,7 @@ Static Protected Attributes
}
-

Definition at line 84 of file hidescriptorparser.h.

+

Definition at line 66 of file hidescriptorparser.h.

@@ -1710,7 +1710,7 @@ Static Protected Attributes
}
-

Definition at line 85 of file hidescriptorparser.h.

+

Definition at line 67 of file hidescriptorparser.h.

@@ -1739,7 +1739,7 @@ Static Protected Attributes
}
-

Definition at line 86 of file hidescriptorparser.h.

+

Definition at line 68 of file hidescriptorparser.h.

@@ -1778,7 +1778,7 @@ Static Protected Attributes
}
-

Definition at line 87 of file hidescriptorparser.h.

+

Definition at line 69 of file hidescriptorparser.h.

@@ -1818,7 +1818,7 @@ Static Protected Attributes
}
-

Definition at line 88 of file hidescriptorparser.h.

+

Definition at line 70 of file hidescriptorparser.h.

@@ -1848,7 +1848,7 @@ Static Protected Attributes
}
-

Definition at line 89 of file hidescriptorparser.h.

+

Definition at line 71 of file hidescriptorparser.h.

@@ -1875,7 +1875,7 @@ Static Protected Attributes
}
-

Definition at line 90 of file hidescriptorparser.h.

+

Definition at line 72 of file hidescriptorparser.h.

@@ -1907,7 +1907,7 @@ Static Protected Attributes
}
-

Definition at line 91 of file hidescriptorparser.h.

+

Definition at line 73 of file hidescriptorparser.h.

@@ -1940,7 +1940,7 @@ Static Protected Attributes
}
-

Definition at line 92 of file hidescriptorparser.h.

+

Definition at line 74 of file hidescriptorparser.h.

@@ -1971,7 +1971,7 @@ Static Protected Attributes
}
-

Definition at line 93 of file hidescriptorparser.h.

+

Definition at line 75 of file hidescriptorparser.h.

@@ -1993,7 +1993,7 @@ Static Protected Attributes
-

Definition at line 94 of file hidescriptorparser.h.

+

Definition at line 76 of file hidescriptorparser.h.

@@ -2015,7 +2015,7 @@ Static Protected Attributes
-

Definition at line 95 of file hidescriptorparser.h.

+

Definition at line 77 of file hidescriptorparser.h.

@@ -2050,7 +2050,7 @@ Static Protected Attributes
}
-

Definition at line 96 of file hidescriptorparser.h.

+

Definition at line 78 of file hidescriptorparser.h.

@@ -2080,7 +2080,7 @@ Static Protected Attributes
}
-

Definition at line 97 of file hidescriptorparser.h.

+

Definition at line 79 of file hidescriptorparser.h.

@@ -2118,7 +2118,7 @@ Static Protected Attributes
}
-

Definition at line 98 of file hidescriptorparser.h.

+

Definition at line 80 of file hidescriptorparser.h.

@@ -2148,7 +2148,7 @@ Static Protected Attributes
}
-

Definition at line 99 of file hidescriptorparser.h.

+

Definition at line 81 of file hidescriptorparser.h.

@@ -2183,7 +2183,7 @@ Static Protected Attributes
}
-

Definition at line 100 of file hidescriptorparser.h.

+

Definition at line 82 of file hidescriptorparser.h.

@@ -2212,7 +2212,7 @@ Static Protected Attributes
}
-

Definition at line 101 of file hidescriptorparser.h.

+

Definition at line 83 of file hidescriptorparser.h.

@@ -2234,7 +2234,7 @@ Static Protected Attributes
-

Definition at line 102 of file hidescriptorparser.h.

+

Definition at line 84 of file hidescriptorparser.h.

@@ -2256,7 +2256,7 @@ Static Protected Attributes
-

Definition at line 103 of file hidescriptorparser.h.

+

Definition at line 85 of file hidescriptorparser.h.

@@ -2293,7 +2293,7 @@ Static Protected Attributes
}
-

Definition at line 104 of file hidescriptorparser.h.

+

Definition at line 86 of file hidescriptorparser.h.

@@ -2321,7 +2321,7 @@ Static Protected Attributes
}
-

Definition at line 105 of file hidescriptorparser.h.

+

Definition at line 87 of file hidescriptorparser.h.

@@ -2368,7 +2368,7 @@ Static Protected Attributes
}
-

Definition at line 106 of file hidescriptorparser.h.

+

Definition at line 88 of file hidescriptorparser.h.

@@ -2394,7 +2394,7 @@ Static Protected Attributes
}
-

Definition at line 107 of file hidescriptorparser.h.

+

Definition at line 89 of file hidescriptorparser.h.

@@ -2416,7 +2416,7 @@ Static Protected Attributes
-

Definition at line 108 of file hidescriptorparser.h.

+

Definition at line 90 of file hidescriptorparser.h.

@@ -2461,7 +2461,7 @@ Static Protected Attributes
}
-

Definition at line 109 of file hidescriptorparser.h.

+

Definition at line 91 of file hidescriptorparser.h.

@@ -2493,7 +2493,7 @@ Static Protected Attributes
}
-

Definition at line 110 of file hidescriptorparser.h.

+

Definition at line 92 of file hidescriptorparser.h.

@@ -2522,7 +2522,7 @@ Static Protected Attributes
}
-

Definition at line 111 of file hidescriptorparser.h.

+

Definition at line 93 of file hidescriptorparser.h.

@@ -2548,7 +2548,7 @@ Static Protected Attributes
}
-

Definition at line 112 of file hidescriptorparser.h.

+

Definition at line 94 of file hidescriptorparser.h.

@@ -2582,7 +2582,7 @@ Static Protected Attributes
}
-

Definition at line 113 of file hidescriptorparser.h.

+

Definition at line 95 of file hidescriptorparser.h.

@@ -2608,7 +2608,7 @@ Static Protected Attributes
}
-

Definition at line 114 of file hidescriptorparser.h.

+

Definition at line 96 of file hidescriptorparser.h.

@@ -2648,7 +2648,7 @@ Static Protected Attributes
NULL
}
-

Definition at line 117 of file hidescriptorparser.h.

+

Definition at line 99 of file hidescriptorparser.h.

@@ -2670,7 +2670,7 @@ Static Protected Attributes
-

Definition at line 119 of file hidescriptorparser.h.

+

Definition at line 101 of file hidescriptorparser.h.

@@ -2692,7 +2692,7 @@ Static Protected Attributes
-

Definition at line 120 of file hidescriptorparser.h.

+

Definition at line 102 of file hidescriptorparser.h.

@@ -2714,7 +2714,7 @@ Static Protected Attributes
-

Definition at line 121 of file hidescriptorparser.h.

+

Definition at line 103 of file hidescriptorparser.h.

@@ -2736,7 +2736,7 @@ Static Protected Attributes
-

Definition at line 122 of file hidescriptorparser.h.

+

Definition at line 104 of file hidescriptorparser.h.

@@ -2758,7 +2758,7 @@ Static Protected Attributes
-

Definition at line 124 of file hidescriptorparser.h.

+

Definition at line 106 of file hidescriptorparser.h.

@@ -2780,7 +2780,7 @@ Static Protected Attributes
-

Definition at line 125 of file hidescriptorparser.h.

+

Definition at line 107 of file hidescriptorparser.h.

@@ -2802,7 +2802,7 @@ Static Protected Attributes
-

Definition at line 126 of file hidescriptorparser.h.

+

Definition at line 108 of file hidescriptorparser.h.

@@ -2824,7 +2824,7 @@ Static Protected Attributes
-

Definition at line 127 of file hidescriptorparser.h.

+

Definition at line 109 of file hidescriptorparser.h.

@@ -2846,7 +2846,7 @@ Static Protected Attributes
-

Definition at line 128 of file hidescriptorparser.h.

+

Definition at line 110 of file hidescriptorparser.h.

@@ -2868,7 +2868,7 @@ Static Protected Attributes
-

Definition at line 130 of file hidescriptorparser.h.

+

Definition at line 112 of file hidescriptorparser.h.

@@ -2890,7 +2890,7 @@ Static Protected Attributes
-

Definition at line 134 of file hidescriptorparser.h.

+

Definition at line 116 of file hidescriptorparser.h.

@@ -2903,7 +2903,7 @@ Static Protected Attributes diff --git a/class_report_desc_parser_base__coll__graph.map b/class_report_desc_parser_base__coll__graph.map index e8fcc6c1..b59a1291 100644 --- a/class_report_desc_parser_base__coll__graph.map +++ b/class_report_desc_parser_base__coll__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/class_report_desc_parser_base__coll__graph.md5 b/class_report_desc_parser_base__coll__graph.md5 index 514b5f3f..4ccc7df1 100644 --- a/class_report_desc_parser_base__coll__graph.md5 +++ b/class_report_desc_parser_base__coll__graph.md5 @@ -1 +1 @@ -33eb2aa2989085405edc1819f58db8d3 \ No newline at end of file +3aaf77127ccb15eb053d63ecd209b92d \ No newline at end of file diff --git a/class_report_desc_parser_base__coll__graph.png b/class_report_desc_parser_base__coll__graph.png index 54cb1bcc3aa0a504ba353ec6be7951167a59a553..da6da76efc9ba9a443e56cd71428ab26e8198c17 100644 GIT binary patch literal 18063 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 diff --git a/class_report_desc_parser_base__inherit__graph.map b/class_report_desc_parser_base__inherit__graph.map index 59ad7d37..16cd995a 100644 --- a/class_report_desc_parser_base__inherit__graph.map +++ b/class_report_desc_parser_base__inherit__graph.map @@ -1,5 +1,5 @@ - - - + + + diff --git a/class_report_desc_parser_base__inherit__graph.md5 b/class_report_desc_parser_base__inherit__graph.md5 index 9bd1d90c..f0e80d19 100644 --- a/class_report_desc_parser_base__inherit__graph.md5 +++ b/class_report_desc_parser_base__inherit__graph.md5 @@ -1 +1 @@ -2edbb64c037f4f5de7da0b76f36a359c \ No newline at end of file +0cd654ef024537560fb4e09bdd02d877 \ No newline at end of file diff --git a/class_report_desc_parser_base__inherit__graph.png b/class_report_desc_parser_base__inherit__graph.png index c176141df9db3ae9ba917d6489e3a2d105a0d16b..578a147b3806a573dc5cf7f5f9989bb8fe9456aa 100644 GIT binary patch literal 11281 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 O;Zzm16u!zqgZ~d3LSp9t literal 6569 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 - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -109,7 +109,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_s_p_p.html b/class_s_p_p.html index b301cbab..762375bc 100644 --- a/class_s_p_p.html +++ b/class_s_p_p.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: SPP Class Reference @@ -31,7 +31,7 @@ - + @@ -98,14 +98,14 @@ Inheritance diagram for SPP:
Inheritance graph
- +
[legend]
Collaboration diagram for SPP:
Collaboration graph
- +
[legend]
- +

@@ -203,7 +203,7 @@ Public Attributes

SPP::operator bool ())
@@ -231,7 +231,7 @@ Public Attributes void SPP::ACLData ( uint8_t *  - ACLData) + ACLData) @@ -251,7 +251,7 @@ Public Attributes

Reimplemented from BluetoothService.

-

Definition at line 85 of file SPP.cpp.

+

Definition at line 86 of file SPP.cpp.

@@ -265,7 +265,7 @@ Public Attributes void SPP::Run ( - ) + ) @@ -279,7 +279,7 @@ Public Attributes

Reimplemented from BluetoothService.

-

Definition at line 416 of file SPP.cpp.

+

Definition at line 417 of file SPP.cpp.

@@ -293,7 +293,7 @@ Public Attributes void SPP::Reset ( - ) + ) @@ -321,7 +321,7 @@ Public Attributes void SPP::disconnect ( - ) + ) @@ -335,7 +335,7 @@ Public Attributes

Reimplemented from BluetoothService.

-

Definition at line 73 of file SPP.cpp.

+

Definition at line 74 of file SPP.cpp.

@@ -350,7 +350,7 @@ Public Attributes int SPP::available ( void  - ) + ) @@ -363,7 +363,7 @@ Public Attributes

Get number of bytes waiting to be read.

Returns
Return the number of bytes ready to be read.
-

Definition at line 779 of file SPP.cpp.

+

Definition at line 780 of file SPP.cpp.

@@ -378,7 +378,7 @@ Public Attributes void SPP::flush ( void  - ) + ) @@ -390,7 +390,7 @@ Public Attributes

Discard all the bytes in the buffer.

-

Definition at line 783 of file SPP.cpp.

+

Definition at line 784 of file SPP.cpp.

@@ -405,7 +405,7 @@ Public Attributes int SPP::peek ( void  - ) + ) @@ -418,7 +418,7 @@ Public Attributes

Used to read the next value in the buffer without advancing to the next one.

Returns
Return the byte. Will return -1 if no bytes are available.
-

Definition at line 787 of file SPP.cpp.

+

Definition at line 788 of file SPP.cpp.

@@ -433,7 +433,7 @@ Public Attributes int SPP::read ( void  - ) + ) @@ -446,7 +446,7 @@ Public Attributes

Used to read the buffer.

Returns
Return the byte. Will return -1 if no bytes are available.
-

Definition at line 793 of file SPP.cpp.

+

Definition at line 794 of file SPP.cpp.

@@ -461,7 +461,7 @@ Public Attributes size_t SPP::write ( uint8_t  - data) + data) @@ -480,7 +480,7 @@ Public Attributes
Returns
Return the number of bytes written.
-

Definition at line 738 of file SPP.cpp.

+

Definition at line 739 of file SPP.cpp.

@@ -525,7 +525,7 @@ Public Attributes
Returns
Return the number of bytes written.
-

Definition at line 742 of file SPP.cpp.

+

Definition at line 743 of file SPP.cpp.

@@ -537,14 +537,14 @@ Public Attributes void SPP::send ( void  - ) + )

This will send all the bytes in the buffer. This is called whenever Usb.Task() is called, but can also be called via this function.

-

Definition at line 751 of file SPP.cpp.

+

Definition at line 752 of file SPP.cpp.

@@ -573,7 +573,7 @@ Public Attributes diff --git a/class_s_p_p__coll__graph.map b/class_s_p_p__coll__graph.map index 95e479a9..27504651 100644 --- a/class_s_p_p__coll__graph.map +++ b/class_s_p_p__coll__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_s_p_p__coll__graph.md5 b/class_s_p_p__coll__graph.md5 index b6b4f511..e973d10c 100644 --- a/class_s_p_p__coll__graph.md5 +++ b/class_s_p_p__coll__graph.md5 @@ -1 +1 @@ -3f54953c79445804227e70bce4618cb5 \ No newline at end of file +ad43f67ad3955f71f35444c1f7c5f2b9 \ No newline at end of file diff --git a/class_s_p_p__coll__graph.png b/class_s_p_p__coll__graph.png index 7550b52f7f439c6b29edaef2c3fe8ccf135fa528..7bee03c5d687e11c7a5454986902817ed12c0f28 100644 GIT binary patch literal 5450 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 literal 3828 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 - + diff --git a/class_s_p_p__inherit__graph.md5 b/class_s_p_p__inherit__graph.md5 index b6b4f511..e973d10c 100644 --- a/class_s_p_p__inherit__graph.md5 +++ b/class_s_p_p__inherit__graph.md5 @@ -1 +1 @@ -3f54953c79445804227e70bce4618cb5 \ No newline at end of file +ad43f67ad3955f71f35444c1f7c5f2b9 \ No newline at end of file diff --git a/class_s_p_p__inherit__graph.png b/class_s_p_p__inherit__graph.png index 7550b52f7f439c6b29edaef2c3fe8ccf135fa528..7bee03c5d687e11c7a5454986902817ed12c0f28 100644 GIT binary patch literal 5450 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 literal 3828 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 - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_s_pi.html b/class_s_pi.html index 0ffe29f4..d8a3f9c9 100644 --- a/class_s_pi.html +++ b/class_s_pi.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: SPi< CLK, MOSI, MISO, SPI_SS > Class Template Reference @@ -31,7 +31,7 @@ - + @@ -103,7 +103,7 @@ Static Public Member Functions class SPi< CLK, MOSI, MISO, SPI_SS > -

Definition at line 33 of file usbhost.h.

+

Definition at line 26 of file usbhost.h.

Member Function Documentation

@@ -117,7 +117,7 @@ template<typename CLK , typename MOSI , typename MISO , typename SPI_SS > static void SPi< CLK, MOSI, MISO, SPI_SS >::init ( - ) + ) @@ -128,7 +128,7 @@ template<typename CLK , typename MOSI , typename MISO , typename SPI_SS >
-

Definition at line 36 of file usbhost.h.

+

Definition at line 29 of file usbhost.h.

@@ -140,7 +140,7 @@ template<typename CLK , typename MOSI , typename MISO , typename SPI_SS > diff --git a/class_u_s_b-members.html b/class_u_s_b-members.html index d7b48639..c33dad72 100644 --- a/class_u_s_b-members.html +++ b/class_u_s_b-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -136,7 +136,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_u_s_b.html b/class_u_s_b.html index cd67952e..fc5ccdb0 100644 --- a/class_u_s_b.html +++ b/class_u_s_b.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: USB Class Reference @@ -31,7 +31,7 @@ - + @@ -91,20 +91,20 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-

#include <Usb.h>

+

#include <UsbCore.h>

Inheritance diagram for USB:
Inheritance graph
- +
[legend]
Collaboration diagram for USB:
Collaboration graph
- +
[legend]

@@ -198,7 +198,7 @@ Public Member Functions

Detailed Description

-

Definition at line 189 of file Usb.h.

+

Definition at line 152 of file UsbCore.h.

Constructor & Destructor Documentation

@@ -208,13 +208,13 @@ Public Member Functions USB::USB ( void  - ) + )
-

Definition at line 34 of file Usb.cpp.

+

Definition at line 25 of file Usb.cpp.

@@ -229,7 +229,7 @@ Public Member Functions void USB::SetHubPreMask ( - ) + ) @@ -240,7 +240,7 @@ Public Member Functions
-

Definition at line 198 of file Usb.h.

+

Definition at line 160 of file UsbCore.h.

@@ -254,7 +254,7 @@ Public Member Functions void USB::ResetHubPreMask ( - ) + ) @@ -265,7 +265,7 @@ Public Member Functions
-

Definition at line 202 of file Usb.h.

+

Definition at line 164 of file UsbCore.h.

@@ -279,7 +279,7 @@ Public Member Functions AddressPool& USB::GetAddressPool ( - ) + ) @@ -290,7 +290,7 @@ Public Member Functions
-

Definition at line 206 of file Usb.h.

+

Definition at line 168 of file UsbCore.h.

@@ -305,7 +305,7 @@ Public Member Functions uint8_t USB::RegisterDeviceClass ( USBDeviceConfig *  - pdev) + pdev) @@ -316,7 +316,7 @@ Public Member Functions
-

Definition at line 210 of file Usb.h.

+

Definition at line 172 of file UsbCore.h.

@@ -331,7 +331,7 @@ Public Member Functions void USB::ForEachUsbDevice ( UsbDeviceHandleFunc  - pfunc) + pfunc) @@ -342,7 +342,7 @@ Public Member Functions
-

Definition at line 220 of file Usb.h.

+

Definition at line 182 of file UsbCore.h.

@@ -354,13 +354,13 @@ Public Member Functions uint8_t USB::getUsbTaskState ( void  - ) + )
-

Definition at line 45 of file Usb.cpp.

+

Definition at line 36 of file Usb.cpp.

@@ -372,13 +372,13 @@ Public Member Functions void USB::setUsbTaskState ( uint8_t  - state) + state)
-

Definition at line 49 of file Usb.cpp.

+

Definition at line 40 of file Usb.cpp.

@@ -406,7 +406,7 @@ Public Member Functions
-

Definition at line 53 of file Usb.cpp.

+

Definition at line 44 of file Usb.cpp.

@@ -440,7 +440,7 @@ Public Member Functions
-

Definition at line 73 of file Usb.cpp.

+

Definition at line 64 of file Usb.cpp.

@@ -482,7 +482,7 @@ Public Member Functions

defined(USB_METHODS_INLINE)

-

Definition at line 745 of file Usb.cpp.

+

Definition at line 756 of file Usb.cpp.

@@ -528,7 +528,7 @@ Public Member Functions
-

Definition at line 750 of file Usb.cpp.

+

Definition at line 761 of file Usb.cpp.

@@ -568,7 +568,7 @@ Public Member Functions
-

Definition at line 754 of file Usb.cpp.

+

Definition at line 767 of file Usb.cpp.

@@ -620,7 +620,7 @@ Public Member Functions
-

Definition at line 772 of file Usb.cpp.

+

Definition at line 785 of file Usb.cpp.

@@ -654,7 +654,7 @@ Public Member Functions
-

Definition at line 777 of file Usb.cpp.

+

Definition at line 790 of file Usb.cpp.

@@ -688,7 +688,7 @@ Public Member Functions
-

Definition at line 782 of file Usb.cpp.

+

Definition at line 795 of file Usb.cpp.

@@ -804,7 +804,7 @@ Public Member Functions
-

Definition at line 215 of file Usb.cpp.

+

Definition at line 206 of file Usb.cpp.

@@ -844,7 +844,7 @@ Public Member Functions
-

Definition at line 299 of file Usb.cpp.

+

Definition at line 290 of file Usb.cpp.

@@ -878,7 +878,7 @@ Public Member Functions
-

Definition at line 383 of file Usb.cpp.

+

Definition at line 374 of file Usb.cpp.

@@ -890,13 +890,13 @@ Public Member Functions void USB::Task ( void  - ) + )
-

Definition at line 431 of file Usb.cpp.

+

Definition at line 422 of file Usb.cpp.

@@ -930,7 +930,7 @@ Public Member Functions
-

Definition at line 537 of file Usb.cpp.

+

Definition at line 528 of file Usb.cpp.

@@ -964,7 +964,7 @@ Public Member Functions
-

Definition at line 636 of file Usb.cpp.

+

Definition at line 647 of file Usb.cpp.

@@ -976,13 +976,13 @@ Public Member Functions uint8_t USB::ReleaseDevice ( uint8_t  - addr) + addr)
-

Definition at line 730 of file Usb.cpp.

+

Definition at line 741 of file Usb.cpp.

@@ -1064,12 +1064,12 @@ Public Member Functions
-

Definition at line 135 of file Usb.cpp.

+

Definition at line 126 of file Usb.cpp.


The documentation for this class was generated from the following files: @@ -1077,7 +1077,7 @@ Public Member Functions diff --git a/class_u_s_b__coll__graph.map b/class_u_s_b__coll__graph.map index f844746d..e1749946 100644 --- a/class_u_s_b__coll__graph.map +++ b/class_u_s_b__coll__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_u_s_b__coll__graph.md5 b/class_u_s_b__coll__graph.md5 index 25907883..7e9ee7c6 100644 --- a/class_u_s_b__coll__graph.md5 +++ b/class_u_s_b__coll__graph.md5 @@ -1 +1 @@ -fccc650f916ab4e4b329cbfb634593da \ No newline at end of file +958d3d033294f8997a9a06c6fc924cb4 \ No newline at end of file diff --git a/class_u_s_b__coll__graph.png b/class_u_s_b__coll__graph.png index 45275c6a0743d9569762dc0cc405e364981440cb..5ea22d7b7daac5bebddb65cae03eff118c58c1ac 100644 GIT binary patch literal 3214 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 literal 1760 zcmV<61|Ru}P)ph}Fvi;@D7lATMRZhHLqF#z=U_Y3|-EEXddo0^*H?CkvX=@S4b zmCBKk5s$|M07j#6Y;5e&qelQB6bc&~8?9EWR4P4u_%MUPXlZE~8ynlYb?cQYR{+3b zv79+`#$+;)J5j6EJ9q9ZEiJX%?NX`q-o1MO@a@|-fk2>CDwRrQb8|CtF#tGr?3hBK z006C4%jfgSl~12OZE9-L>-7r@3rR^yw{G1!b?TJaY(9GQC;((+WHdH5?%%(EdU_fF zE?>S}Sy_o;7yx*^-j40EzCs=m7b_?zc>DIP z*=$ZrOJlKEWOA=xzfMd{%*x8rXfyzjlan(%JbdurL9$D6aq+~&#Knsjw`|$c*48Ez z3Nte^$xUTtWjKysxNxDQq=dual$4aj$H$YKdU|?lYHDg~YP!3-!w?Jk%fN9wGc&Wk zzW&6C6K!p60MOOdm6MZWG#dBq+xP6*v(nPiii!%AN+pp<1OmafZQC9^cu-kcsaC7` zd_IojIF65xj|Tz)KA&&1+3M@-Z``=S<#Lw=DlRUrs;UY@DNHc{C@U*Fe*AbtLjx%$ zlgXNzn#hTmLZPUxuFlQP&CShy`0(NB)2FpsEt}02i^XYaY5Dp2QmGUGo;z4p)Ew?@+V+S}U!AS)|N zBoeJzvnJv>0E#1Kx7)vd{YthcCMH}im&s&uI-Ly-4S9Ka8jZ$kwH`Wj=+2!xTrRh@ zwKd`ikVNBDTv%AJ*=$o&QwI(lC@d@lfcg3PnVA`aAl9#6k0@y5Pemq^x!4W_0vLvE z-@e`Da;a3Rj~_o46%_%%(9qEI^z`K9B!|O^cmgDmKVlpX=kw>!WZPn~u-WXszP=3` zHe9-N>F(XT)$8>UPkW%tp7#|-Gr(3A+ zKJMPVJJOl|KYRA<2{q5?J$D~vVs?ztVpJn$#r_6S5lCS|JN;7t0000 - + diff --git a/class_u_s_b__inherit__graph.md5 b/class_u_s_b__inherit__graph.md5 index 25907883..7e9ee7c6 100644 --- a/class_u_s_b__inherit__graph.md5 +++ b/class_u_s_b__inherit__graph.md5 @@ -1 +1 @@ -fccc650f916ab4e4b329cbfb634593da \ No newline at end of file +958d3d033294f8997a9a06c6fc924cb4 \ No newline at end of file diff --git a/class_u_s_b__inherit__graph.png b/class_u_s_b__inherit__graph.png index 45275c6a0743d9569762dc0cc405e364981440cb..5ea22d7b7daac5bebddb65cae03eff118c58c1ac 100644 GIT binary patch literal 3214 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 literal 1760 zcmV<61|Ru}P)ph}Fvi;@D7lATMRZhHLqF#z=U_Y3|-EEXddo0^*H?CkvX=@S4b zmCBKk5s$|M07j#6Y;5e&qelQB6bc&~8?9EWR4P4u_%MUPXlZE~8ynlYb?cQYR{+3b zv79+`#$+;)J5j6EJ9q9ZEiJX%?NX`q-o1MO@a@|-fk2>CDwRrQb8|CtF#tGr?3hBK z006C4%jfgSl~12OZE9-L>-7r@3rR^yw{G1!b?TJaY(9GQC;((+WHdH5?%%(EdU_fF zE?>S}Sy_o;7yx*^-j40EzCs=m7b_?zc>DIP z*=$ZrOJlKEWOA=xzfMd{%*x8rXfyzjlan(%JbdurL9$D6aq+~&#Knsjw`|$c*48Ez z3Nte^$xUTtWjKysxNxDQq=dual$4aj$H$YKdU|?lYHDg~YP!3-!w?Jk%fN9wGc&Wk zzW&6C6K!p60MOOdm6MZWG#dBq+xP6*v(nPiii!%AN+pp<1OmafZQC9^cu-kcsaC7` zd_IojIF65xj|Tz)KA&&1+3M@-Z``=S<#Lw=DlRUrs;UY@DNHc{C@U*Fe*AbtLjx%$ zlgXNzn#hTmLZPUxuFlQP&CShy`0(NB)2FpsEt}02i^XYaY5Dp2QmGUGo;z4p)Ew?@+V+S}U!AS)|N zBoeJzvnJv>0E#1Kx7)vd{YthcCMH}im&s&uI-Ly-4S9Ka8jZ$kwH`Wj=+2!xTrRh@ zwKd`ikVNBDTv%AJ*=$o&QwI(lC@d@lfcg3PnVA`aAl9#6k0@y5Pemq^x!4W_0vLvE z-@e`Da;a3Rj~_o46%_%%(9qEI^z`K9B!|O^cmgDmKVlpX=kw>!WZPn~u-WXszP=3` zHe9-N>F(XT)$8>UPkW%tp7#|-Gr(3A+ zKJMPVJJOl|KYRA<2{q5?J$D~vVs?ztVpJn$#r_6S5lCS|JN;7t0000 - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -103,7 +103,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_u_s_b_device_config.html b/class_u_s_b_device_config.html index df49714e..3d27e24f 100644 --- a/class_u_s_b_device_config.html +++ b/class_u_s_b_device_config.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: USBDeviceConfig Class Reference @@ -31,7 +31,7 @@ - + @@ -91,13 +91,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-

#include <Usb.h>

+

#include <UsbCore.h>

Inheritance diagram for USBDeviceConfig:
Inheritance graph
- +
[legend]

@@ -121,7 +121,7 @@ Public Member Functions

Detailed Description

-

Definition at line 142 of file Usb.h.

+

Definition at line 105 of file UsbCore.h.

Member Function Documentation

@@ -161,9 +161,9 @@ Public Member Functions
-

Reimplemented in BulkOnly, HIDBoot< BOOT_PROTOCOL >, USBHub, ACM, BTD, PL2303, FTDI, ADK, PS3USB, XBOXRECV, XBOXUSB, XBOXOLD, and HIDUniversal.

+

Reimplemented in BulkOnly, USBHub, HIDBoot< BOOT_PROTOCOL >, BTD, ACM, PL2303, FTDI, ADK, PS3USB, XBOXRECV, XBOXUSB, XBOXOLD, and HIDUniversal.

-

Definition at line 144 of file Usb.h.

+

Definition at line 107 of file UsbCore.h.

@@ -205,9 +205,9 @@ Public Member Functions
-

Reimplemented in BulkOnly, and ADK.

+

Reimplemented in BulkOnly, BTD, and ADK.

-

Definition at line 145 of file Usb.h.

+

Definition at line 108 of file UsbCore.h.

@@ -221,7 +221,7 @@ Public Member Functions virtual uint8_t USBDeviceConfig::Release ( - ) + ) @@ -232,9 +232,9 @@ Public Member Functions
-

Reimplemented in BulkOnly, HIDBoot< BOOT_PROTOCOL >, USBHub, ACM, BTD, FTDI, ADK, PS3USB, XBOXRECV, XBOXUSB, XBOXOLD, and HIDUniversal.

+

Reimplemented in BulkOnly, USBHub, HIDBoot< BOOT_PROTOCOL >, BTD, ACM, FTDI, ADK, PS3USB, XBOXRECV, XBOXUSB, XBOXOLD, and HIDUniversal.

-

Definition at line 146 of file Usb.h.

+

Definition at line 109 of file UsbCore.h.

@@ -248,7 +248,7 @@ Public Member Functions virtual uint8_t USBDeviceConfig::Poll ( - ) + ) @@ -259,9 +259,9 @@ Public Member Functions
-

Reimplemented in BulkOnly, HIDBoot< BOOT_PROTOCOL >, USBHub, ACM, BTD, FTDI, ADK, PS3USB, XBOXRECV, XBOXUSB, XBOXOLD, and HIDUniversal.

+

Reimplemented in BulkOnly, USBHub, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, FTDI, ADK, PS3USB, XBOXRECV, XBOXUSB, XBOXOLD, and HIDUniversal.

-

Definition at line 147 of file Usb.h.

+

Definition at line 110 of file UsbCore.h.

@@ -275,7 +275,7 @@ Public Member Functions virtual uint8_t USBDeviceConfig::GetAddress ( - ) + ) @@ -286,9 +286,9 @@ Public Member Functions
-

Reimplemented in BulkOnly, HIDBoot< BOOT_PROTOCOL >, USBHub, ACM, BTD, FTDI, ADK, PS3USB, XBOXRECV, XBOXUSB, XBOXOLD, and HIDUniversal.

+

Reimplemented in BulkOnly, USBHub, BTD, HIDBoot< BOOT_PROTOCOL >, ACM, FTDI, ADK, PS3USB, XBOXRECV, XBOXUSB, XBOXOLD, and HIDUniversal.

-

Definition at line 148 of file Usb.h.

+

Definition at line 111 of file UsbCore.h.

@@ -303,7 +303,7 @@ Public Member Functions virtual void USBDeviceConfig::ResetHubPort ( uint8_t  - port) + port) @@ -316,7 +316,7 @@ Public Member Functions

Reimplemented in USBHub.

-

Definition at line 149 of file Usb.h.

+

Definition at line 112 of file UsbCore.h.

@@ -354,7 +354,7 @@ Public Member Functions

Reimplemented in BTD, ADK, PS3USB, XBOXRECV, XBOXUSB, and XBOXOLD.

-

Definition at line 150 of file Usb.h.

+

Definition at line 113 of file UsbCore.h.

@@ -369,7 +369,7 @@ Public Member Functions virtual boolean USBDeviceConfig::DEVCLASSOK ( uint8_t  - klass) + klass) @@ -380,21 +380,21 @@ Public Member Functions
-

Reimplemented in BulkOnly, USBHub, and BTD.

+

Reimplemented in BulkOnly, BTD, and USBHub.

-

Definition at line 151 of file Usb.h.

+

Definition at line 114 of file UsbCore.h.


The documentation for this class was generated from the following file: diff --git a/class_u_s_b_device_config__inherit__graph.map b/class_u_s_b_device_config__inherit__graph.map index 00c2f180..b5f1b953 100644 --- a/class_u_s_b_device_config__inherit__graph.map +++ b/class_u_s_b_device_config__inherit__graph.map @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/class_u_s_b_device_config__inherit__graph.md5 b/class_u_s_b_device_config__inherit__graph.md5 index d251b506..7df3b416 100644 --- a/class_u_s_b_device_config__inherit__graph.md5 +++ b/class_u_s_b_device_config__inherit__graph.md5 @@ -1 +1 @@ -6c3ff0a25fd1e0d479d3521a83cada27 \ No newline at end of file +65ec53990bf656e29a0bfd89ed4fac85 \ No newline at end of file diff --git a/class_u_s_b_device_config__inherit__graph.png b/class_u_s_b_device_config__inherit__graph.png index f6062746ef27c77222db7f61afe1baf0403db19e..ff6b72400cec96725b7055cb41ee534c20f4b9c1 100644 GIT binary patch literal 37782 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 diff --git a/class_u_s_b_hub-members.html b/class_u_s_b_hub-members.html index f88a350c..7309b9ba 100644 --- a/class_u_s_b_hub-members.html +++ b/class_u_s_b_hub-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -113,7 +113,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_u_s_b_hub.html b/class_u_s_b_hub.html index 80fc2a84..896ec0f7 100644 --- a/class_u_s_b_hub.html +++ b/class_u_s_b_hub.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: USBHub Class Reference @@ -31,7 +31,7 @@ - + @@ -97,14 +97,14 @@ Inheritance diagram for USBHub:
Inheritance graph
- +
[legend]
Collaboration diagram for USBHub:
Collaboration graph
- +
[legend]
-

@@ -141,18 +141,10 @@ Public Member Functions

 
virtual boolean DEVCLASSOK (uint8_t klass)
 
- - - - - -

-Additional Inherited Members

- Private Member Functions inherited from USBDeviceConfig
virtual uint8_t ConfigureDevice (uint8_t parent, uint8_t port, bool lowspeed)
 
virtual boolean VIDPIDOK (uint16_t vid, uint16_t pid)
 

Detailed Description

-

Definition at line 177 of file usbhub.h.

+

Definition at line 164 of file usbhub.h.

Constructor & Destructor Documentation

@@ -162,7 +154,7 @@ Additional Inherited Members USBHub::USBHub ( USB *  - p) + p) @@ -184,7 +176,7 @@ Additional Inherited Members uint8_t USBHub::ClearHubFeature ( uint8_t  - fid) + fid) @@ -195,7 +187,7 @@ Additional Inherited Members
-

Definition at line 220 of file usbhub.h.

+

Definition at line 207 of file usbhub.h.

@@ -237,7 +229,7 @@ Additional Inherited Members
-

Definition at line 225 of file usbhub.h.

+

Definition at line 212 of file usbhub.h.

@@ -279,7 +271,7 @@ Additional Inherited Members
-

Definition at line 230 of file usbhub.h.

+

Definition at line 217 of file usbhub.h.

@@ -315,7 +307,7 @@ Additional Inherited Members
-

Definition at line 235 of file usbhub.h.

+

Definition at line 222 of file usbhub.h.

@@ -357,7 +349,7 @@ Additional Inherited Members
-

Definition at line 240 of file usbhub.h.

+

Definition at line 227 of file usbhub.h.

@@ -399,7 +391,7 @@ Additional Inherited Members
-

Definition at line 245 of file usbhub.h.

+

Definition at line 232 of file usbhub.h.

@@ -414,7 +406,7 @@ Additional Inherited Members uint8_t USBHub::SetHubFeature ( uint8_t  - fid) + fid) @@ -425,7 +417,7 @@ Additional Inherited Members
-

Definition at line 250 of file usbhub.h.

+

Definition at line 237 of file usbhub.h.

@@ -467,7 +459,7 @@ Additional Inherited Members
-

Definition at line 255 of file usbhub.h.

+

Definition at line 242 of file usbhub.h.

@@ -478,7 +470,7 @@ Additional Inherited Members void USBHub::PrintHubStatus ( - ) + ) @@ -540,7 +532,7 @@ Additional Inherited Members uint8_t USBHub::Release ( - ) + ) @@ -567,7 +559,7 @@ Additional Inherited Members uint8_t USBHub::Poll ( - ) + ) @@ -595,7 +587,7 @@ Additional Inherited Members void USBHub::ResetHubPort ( uint8_t  - port) + port) @@ -622,7 +614,7 @@ Additional Inherited Members virtual uint8_t USBHub::GetAddress ( - ) + ) @@ -635,7 +627,7 @@ Additional Inherited Members

Reimplemented from USBDeviceConfig.

-

Definition at line 211 of file usbhub.h.

+

Definition at line 198 of file usbhub.h.

@@ -650,7 +642,7 @@ Additional Inherited Members virtual boolean USBHub::DEVCLASSOK ( uint8_t  - klass) + klass) @@ -663,7 +655,7 @@ Additional Inherited Members

Reimplemented from USBDeviceConfig.

-

Definition at line 214 of file usbhub.h.

+

Definition at line 201 of file usbhub.h.

@@ -676,7 +668,7 @@ Additional Inherited Members diff --git a/class_u_s_b_hub__coll__graph.map b/class_u_s_b_hub__coll__graph.map index bfc6295d..f93fc9ff 100644 --- a/class_u_s_b_hub__coll__graph.map +++ b/class_u_s_b_hub__coll__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_u_s_b_hub__coll__graph.md5 b/class_u_s_b_hub__coll__graph.md5 index 2a842d55..b9529b44 100644 --- a/class_u_s_b_hub__coll__graph.md5 +++ b/class_u_s_b_hub__coll__graph.md5 @@ -1 +1 @@ -2c2c0c978e678dd92232c8486e091e14 \ No newline at end of file +829d383fdf38e9eac95bde2714eaf868 \ No newline at end of file diff --git a/class_u_s_b_hub__coll__graph.png b/class_u_s_b_hub__coll__graph.png index 2e97d1e9bff7791c914417c9ce97e2fd21a0a87e..887573fc89131b7f8bccd05311cf7580bf3bc057 100644 GIT binary patch literal 4410 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 H)GPTfoB&ww diff --git a/class_u_s_b_hub__inherit__graph.map b/class_u_s_b_hub__inherit__graph.map index bfc6295d..f93fc9ff 100644 --- a/class_u_s_b_hub__inherit__graph.map +++ b/class_u_s_b_hub__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_u_s_b_hub__inherit__graph.md5 b/class_u_s_b_hub__inherit__graph.md5 index 2a842d55..b9529b44 100644 --- a/class_u_s_b_hub__inherit__graph.md5 +++ b/class_u_s_b_hub__inherit__graph.md5 @@ -1 +1 @@ -2c2c0c978e678dd92232c8486e091e14 \ No newline at end of file +829d383fdf38e9eac95bde2714eaf868 \ No newline at end of file diff --git a/class_u_s_b_hub__inherit__graph.png b/class_u_s_b_hub__inherit__graph.png index 2e97d1e9bff7791c914417c9ce97e2fd21a0a87e..887573fc89131b7f8bccd05311cf7580bf3bc057 100644 GIT binary patch literal 4410 zcmc(jhc}$h_s5mRiq(R(A-dIjS*zDXOAsaa=)FaY)kV*;B!nOvz1JWiLRg}gXb~-& z=p{s5C8GO2zrW%)=REVAGiTm+=DGKtXI^(OMh4o{w^(iw5fM@A>S!4Q?_}T!1d{`O zWX$a>A|iTXT`hIf5aL}MidRhc81`0?#ZT8z(I7H)K{a|ovU?Ct&U6q&K*&)*>gdTyJ_AYqZ(da!u<-LHw$l@oRn@m z8f{iqZoKeefKXKlkVtYGagwvjJ_3P=;mNnTTtOKklA2{`J?OgH2$&Jlq!e~6Fq$j> z+8|GXDZA_sQoS(Z>=3ovG>dMAHgeU!;8106i0#dYe781QI_rXdP2r*nA##^0;j!uWONLABn zstw&H#|Ra36*^l)gMs6V{V#2S zYIgOu%3BNVicCVLI>&aAXYi}j)zrGtvyB47mn^cyIldillc1toTa5wl-NxBH29~3@S7Fr6HL8n@xdnk&R(pmE(ev=|ka7RU8Fv1s z!egm3#;XB~>OB#$B;wE~J(h zC%gKi*|H_xzdp&k;(xk1JL_z?0<8vT0+u5KUtaxNGy&!S0)vm9(?YFl>H6<-x<05* zUSTDj+&iO*WBH+v)CX^z>CI;Rm81Go*t|l>W=jrKFaJ~&tW9***|dph`owRB-ZMH* zRXR*`Fm%LAL^~e+^8JG8a2iM<53==VSG@$hR~)%nl<*)2;f>?_-5EoQRvhrFun6Nl z*Y0T0d#aXaWeS?0^P{dqExXwz z9YJQb|7GG9RwuMM%7Aam!@gSiIypI6Mnj(RHB*>hlj|$)pr3V5e(~8q8zHmmj4894 z$D-Ma!F6k0HJv5)76L|{=r_Jv2N@Fa+98KS{Ob|s*8XH>?<^kGafGrWo^XEjI3+AU zjkH!(+USa-aDfd30zP`ke!`}J(%JIE3E_Oo^fI+(8(j2T_d6~&n`Uh_o7}{Uj)w%t z8{8+jO>iOpJ=BuQ;U_X2&yLf8#7hng3&|Q5Ya3Cz*lBE-58rPue}Zpt{qf$R&W3k9 z_QBM+JB+;_LMpJK`|zQx($3q_9Jw48Sx*>W(sE0$-=)*<@dEL{l`$6$7&+cg1RhwZ zgrgi#BhROn@|qEeqj)lxhA#NZnvyw^D<1&C4aZY5l#b;o24~lIoPU+jeNd`sBJ}nA z==x%RSoT0djAd@3FNx{(dEWLCYo~<&XgXXUvM7R1;P~*|?eo!?;yTQhX}ABc!mN_d z9MVJXXR=bqqlU4tbDO#_D7gh}zEqb1BWN4;2i~2RT=*{R@77eURrC9UtQ=n3=q{d+ zJX)30XgY~=$`xWAM@Q~u2Ux!!=tm`0FrU&uFNR^g1xWnfJfRZ;m_P)6)qdE=Y?nBz z=11)@U7eZHrTKWz9iy3z@D}>Oa=2te7r?crZol{OmsQ2Tkg3W?s9)aA810zr87tqi zj0{Fc<5pJ!I3iB>$WaR(*7PF*IZcJoztpE}w7MHbN^?6EeO=JN>EIV}D~gmsSay-a^y@U)^Ja_gs- zf<>e2OAwBl6_HWM5)blYwu|`iq(nP4NRf^hkx0t@?D}kDszjSsaJ!aSlMk(1&uP@> z7hlL0kJ{>I-`zOXRG{#-Yw;^;uDn}s)Arca3Mszz<4IP(>-Ygh%9 zBR=kyN1oIV((wSe+e7HwSxXMHxa|`g28!DBpzlWR5!gcbzH${wJ{fy-0yh^mZL)*e5rN+%!k2s{1BjL0 z6(`n2?u1~}Qlfr$j#JuogaFNS5|NB{Cn!{MnAp`5Nxzy%`-UBu(EdeQF91e?Xz$(-UVDQX)VkHP1 zE5;KY2nv4h6elS7L=Bn%k();`9Ec=_>_GR4r4AuUDi=G_RV12}X!wJ9@zzc5x8D^4 z6~iG^MC|OKSbOFeILV`rWF85fixEfEvhLs1V!c8PAsj8x5OL5Z0SpU58k7vMhdG&DeG$ap_2u!G0UmhUDcl#NM>(jbDbvjR5 zf9I4%hMx?aEqPz7B;p+^-&Whx z5$o1!?0rO3|lS89xr-?fELnaG$}0d}HDm5D@R2Mv49?tpif`MWO~ z7dTF^y?=|+`zEgld=vjNSSz7G;HfK9IQfx_aKCB@VK7)&9M$sEJ zI6H7@8Vy1^Upid(3D>0p6X(CAFAgcMpRE&5!IIRtGjDhbogMCeItuUjgX_30B*nPg z=VN0-=bj+~>G8a7r^o5=%6F@J%(uEfDt*^7*{5uIS`qy*Y0>OCGlmy~Ws-br8e)+W zOozB3kh&1WuZk&GuriSziqc+sY@=fA$Nq-U5GKpSqd&Wl>xbX?uJJlJ{khjJq&F{m zfKi?vw0yv2!z#D<9tW?FRYN?D+ZC2wxg#&?#ixuYrNxCKVckvP!~Iyj)5~ZM#F-6u z$9Vc8>#n!mts4qb{f6?PrZe+oAq0uPDg^K6{*@MR9fv};8^C)XmcGSvkmx~GQ8MEi zYD11)MU<+5ry@7q^Pfkj_r+>5M1ln@FTYJFQ2`>d1iniE4o{0pLZN_&iss=dVBre$E2|cv zuKK!qQf%q3k4F9?e?VXooCvjmZ$h&-6?Z#^f`>($2eoUwSvGvC)%Wrj6fS;zaPk0n zE=x@A_GbgAOl#2Y&#B^j$#d>eoMZA%{V$aK^H>_!Fh1b^djgiR6NaHHLYX3=#jLUZ z^myhCeTGgGcjj=p^0E5`dDk@A$?!T-A$OZ%w)rr-0Z*ftUsMYAYw1=Ajcsj=o z?6L%Nx!yp-rjS?%pgrp5>R;O#1Uw!PNm$R)$&!2N~!>4KWLXBQ`rFt_2A_FeYf z?0^~lfv#N+)yUjWKJ%V$gZJj%p8wr;`-7v*7#>R`>K*HxvUD21;Z>)4b17X` zUjBXB-0q=W)KwECmHKqpy~%U>X%fhh136B@-OCN&W9dYRwti=JR@Qw|3YtI%8)l{mw~1sbg1uA*N#F9XYK$B+NU%zLYR0?g{u?!IV(_Y1_AY~W{0j#+Aj*@oi4zrj!u!Jl2`JVa@FH8LKYbLnk1Vw^(Suk`J0kLrE|ag=FNTY4|uz?duGn=?3{DzN?EL7ktLxj92^`Tk-R7iu@vO|_gUWPgMJ=e6@5Ga{uM*?CcVqTo;^VbAwbwrBXLG!ejTCjJklv_TJvlUK)|n z(R`fj>1HL4mDV;kogE!QCr+$X9jm$S=HM_gJ6o8Q<>>C-Wx9mS+=}U1aCK6i=#Kj( zE+Ii85~Yn3Y^P8H?e2wO%g&CRAHeJIhn-Q48OU%^g*CexA`oyv$hU9bVq;?y_O~^4 zbo^VVPQl@@-jvt8yu8mUDwbI+DM`tBOgm26(6RCwXkL7Lygk{73vlm>!PA$@DU{UI z)Y%TKiiSpgeZ7W)!fP>VK;zKhppUOF8$d5KXU+u2#E8D#7#y?~NGoM9QC%@#JxpvB$J$w8NKvSTt1EHxR&7<4gs7;J ziV6o1iNywM6GK1uux2_Lto5f)pW^ZOyLZ{7ak(Uto0AiEbKa`*T1S0-*pKB=@TN#K zMZD!7v)w~;8yy`TU|Rq+Lik@xLA}n6c-n_wCE};XV91GCInoV_NuzNQGR~+W~F6haOvrC5FbXZ2NsJ( z00_la1($h6Xq5l5n{lV~`5|g9 zj>O*9p_G@?0vegpHP>yj=2z>MSy7!9r8jDG#7=|Zk^TeZX`qsNZVN809E^2A>+#&n{oGO=GWSIr0 zntcl+nLM4? zttsu_X)Lkaqz~J@5BZ6{uALwkWUCl4W-?4W_|^LPP7Y25)U-8Eu&iX?ctL9pb{fvD zcgs%UWPA}~{;i#VM1ExXBJ$AjbigoUjq6cY0xKXb6>jyK$smz&5F24u%(dczuLHw{DR^=1PdorOuMd`Aoaw_dZ# z@Sk)54eRopp5I!cbEkX-nGOKSvIvlea5#}j+}+#j@9(#+4~mfp&90wFbO2kbKV{;c#>s?Tj!lfqKo&jfBUKe)vEc zTiM*)3<(K|F(@>H=Yb$55;2dWnGQAA>2!LWKKiuLcKYNk-EPl1$4Z2jR=6Y&0K&O+ z)bfh3N5D{!_OpqQW><8B3jlDMj9~j-`Do7c6HePdtEwvC;_J>}B>LROe${~5*xKfk zNH@`F(0dx4&I1fAY_6;XmpO`wh;RX-($bW=wbP1<004VK}u?AX+;`OwTAM5ID1#7Fk_I(;M#~W07K&BR5rGf zMIdl+a2%IJu7gAz7_cNzv&rPpX4f*uU=&Iwr4OwB`K&B<@TK82K}rfNQC(1|UXW&O zZEZVY`clT0LYd3{ut+J?oK5DJO*Q<1b zc23gr{Q?79o0_WK*&_XQD^tZh#79L0(i(UBZ>atkSw^kV_T>IIjShJ(e#ES=7o``0A0oiY+|I1l H)GPTfoB&ww diff --git a/class_u_s_b_read_parser-members.html b/class_u_s_b_read_parser-members.html index b73fa1fd..e9fc79e6 100644 --- a/class_u_s_b_read_parser-members.html +++ b/class_u_s_b_read_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_u_s_b_read_parser.html b/class_u_s_b_read_parser.html index e187538e..f3b383fb 100644 --- a/class_u_s_b_read_parser.html +++ b/class_u_s_b_read_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: USBReadParser Class Reference @@ -31,7 +31,7 @@ - + @@ -91,13 +91,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-

#include <Usb.h>

+

#include <UsbCore.h>

Inheritance diagram for USBReadParser:
Inheritance graph
- +
[legend]

@@ -107,7 +107,7 @@ Public Member Functions

Detailed Description

-

Definition at line 184 of file Usb.h.

+

Definition at line 147 of file UsbCore.h.

Member Function Documentation

@@ -152,14 +152,14 @@ Public Member Functions

The documentation for this class was generated from the following file: diff --git a/class_u_s_b_read_parser__inherit__graph.map b/class_u_s_b_read_parser__inherit__graph.map index b229277d..d157f5e0 100644 --- a/class_u_s_b_read_parser__inherit__graph.map +++ b/class_u_s_b_read_parser__inherit__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/class_u_s_b_read_parser__inherit__graph.md5 b/class_u_s_b_read_parser__inherit__graph.md5 index 7f1eae2d..3e81e179 100644 --- a/class_u_s_b_read_parser__inherit__graph.md5 +++ b/class_u_s_b_read_parser__inherit__graph.md5 @@ -1 +1 @@ -25bc26bf9be1598f1fea91c6e14038ed \ No newline at end of file +a4a6a1be4628303ad484eca83de7cecb \ No newline at end of file diff --git a/class_u_s_b_read_parser__inherit__graph.png b/class_u_s_b_read_parser__inherit__graph.png index a358e97e67d14576a2ad20bdaacde1b638e85650..c5cf5beedbdca6abca18f53b7c16c00468e26356 100644 GIT binary patch literal 20939 zcmYhjbzGF+*EK9S!q6qsoq{w-honeLcXxMpi8M&JNVk-958d4j(%to5{xs4wF#4#l|VtnM|}0_6^i6%(XX#w!E6D4-vq+}e=04RUcGuH^h#3nlad?E zQ3iba+n)2@@N`Q2S8ra6i?Wc5zjbWCjR1egl>YYpR$5N1yOj3ZPf8en8Ze!L!rQA9 z=G||4!Wh_}-cXLTwH~$2F1IYVv@{KCUfnGn9ZSo(UR9XpHx`$a(7pL$U z1AeHBWjm;7)?bNZ@wub&+O$Il`7NX_ak=5D1n!hGMOfWL{iv z(YijN)%(FD4aHIr1+3-1onT%#UCa(bgon`-VN9>8$^3s$xy1r3x^O#7&Op3?6awP+bMYGPWh7o@J|4AF{oS{h4r+jNNC*8In=yoyvSGLhteACxzR zL`9Pb>Lh+p$Gq3h`+_}hRXuEUv+SB=GMpM5Rj@zky6R0+Z898Zv)tG~N8-MPpBWpNX^qc<@(6U2|m?q4%WX+$_YxIth8*GHyxjg9Zmu}c#aD* z`R_!ow$OzNf9~n{K3(M?E!0`lYd1Q@0uQHAx8xw@N*KwbMUnqFl)^?K%zxZ+vocX- z*elOpqFRwyJ;EcE>9PNQ9(WSrUW{|!$FtDM8WH%eR?^4uPI~3yw=S0_6(uTVarhh- zKe$HxpRO0>WCiZF#v05g^SLeC?{>482&^jod7~gNyIH;vYl2KNYT~hh1p4KzPTdpK z=NG{N)-!OuP*7GuhT3d!Qq>7y3o(R%VZ?X!f7xb%1#=B8TF#ay6f3{9Zr9HlAT^w{ zJ{WCAaz-t(4cIpB<=c-s!sgW7?W9TkaNh`{G3x$?QQjgRiQm7SqgQ z$H-*_v%q0x*VfN)Mu*v#$BR)$tG}jM-qc$4FV7DWQv?USvb;x>muQMS0rr2#a##%^ z$f|Gseb<9=1_T}sDcT;-!_(~{c(S>~tVZ7+cLiT!iCmWyY+CP3?tqIC2}+BDHNQ0P zZ4V|5F1xNWFtt7Yu7(>M;h5E;Kq2_}qnE^2>zkBznFfdZQSGeJ{pDVjTD2k6d&NQ0 zq)8ae^qIck8128oI65(tvb-`2HRhW$A$OvELS}yG0f%MvD-M zdGvtOE;K=>oqbK)mT4l9HB^F+(l(8I)b(|bZ7)x9<&FDvDa`r-SiieM(OgsAAFhwy z#IrAO2)j2O)j6gzcG?Xkv&eRdsflByavZFo$47)=(F}ZCwA!S8v+DcO0vLn@vDfJ* z(?p3TQwE|k;>ZjHxL$M!SQlhDoXU~mp5^gyb+9{AI^Nz8)fz?2ukmrgjDjZp;pXH- zV7wh;N`l0@CT&Xe!mJI5b=h9vWFbZp8y96_(zW3Z2F*GrRBdqYtgi2}d90c5(L$}G zhVJ%&Z_`)On%ltrsiI8*j0wQ#s~$!KLHM0S8r3F|kIxS$vVX?mg51+R#s$*hmmqPDvU(I>>@`37 zPG4?UK)`NB8VHBt5by#VjFT|Y`VkG`+x?XmPujG1w_cay60EMrTC<_NC(V;rBy1c9 z(_piG(U>f^jj#Z9LM)E%GbyGPB|ewq>?bzB=@Eet-XMHB-!m`zipkKd=R5YukA3$~ zj=_(2z>y7?6_BIfi3pLA+WuLGqe=JjSwSV@5iKR7U>+5Cu;PBYoD|8oKEDg8ATvB} zSqne{g);4T#9Ezg^qgNW+IqSy(FmiiUk%V#^u@~w?9D`tTiK5Vj6u`~uL3d*y`tas zaTNqtkSUH}Sw|3Ze@%9?`rS_*uog`XYAcAB<&kU;=|{jnw`n@sA)GG^4eJMdoS+I4 znSc0(_28H~fstpJAy$!)s@y#tdOZI*G^wmn_Te%mC3tAc#z{-auim9h1-G^me=)zbNSF?>- zfvv;O&f=n>s0vQLzL(u5&!rQHXakXc)}C~nPA>X&80}%^tKK&W_L~p{R0Z@bE`}8YjfDcLyb4eJ~sQ z!>@5s^DGX7iiV&41{&f7Vqn7slL~fJ<yL`> zCOIEc-iNc{{?YU4z4z~hSgTd|mw7U4KQC;cL?j~A-tkFMAZUc@Ywl4$inbP=rZ#aRV!|rkvS`NKA}V|b|#Ax($!{d$?YsxnRcBB zvSXX2!SlFm?4H4A-QwYnfvKQV`D7wxh%QLx}Hb1Hj#HdIJ!;?tOs?Y{5M+P z3MN|h2Ee}Ql6|V_x4-U zU_FP|zT(ipD*&R~i@3FAO1!Mq=OBQUB=e&Vi^oV+Q%C3sb$p9a-7KQwMC69DxfP@* zdLcuz{wXpsob=jqzLmc@cl`M2S-XzX`pF52`R>xg z(qEbLddZ^++(gs1i;#4ZE3@4_X&Th7C>@c>qIZT9nJED5KpW;~-bck!MdAMKm5IiT zBNm1*&2qq8eYD>;(>o6H3Ca!Tk*}F^vk}#*?g-YI{4<%S8&Nb7@8iLo`{xJqtpX41 zfJa`E=~?#eb_Ke*=q3xk>I;8)J?fIV?PYaU8d(lcQJ`2;%WDXE4$6EBNme?b!q`ABCx z{id&Zbo<=iHOHRM3OC%o#fx!?roWbz*gJhJp|ANZ((gzlDl(jC7#8+0i%M99akA0b z|2RR1yrT6!KA%CWSXj;J#fAYTwaPO1W{-N&Rv3QC>%y~f)IG26edBV8zc|>k)YFS# zZ^e*5rc0FW^Yv!}Jiz)Sq3NW%I|>(;3jOwPZg8sb8H$YSZOG$UFWqpBl4Lb$nd>&S zOylP_26s28NoF6yURSj8$i+)9oqSO#(@=LuVE5(!(El%KLB6@0OZmm60&@Ew48 zLQ$l8u-p=GopXKsAOI(oa|f;_RvGF}ilT(GE0f1oJhMotmT8DZaT(AI`z}$@54oNQ ze93g*$pvTfMK4;^_1F0je z0*&8ELI$s)p3uuqio-mO#1x_O5U^?r;QAx6{>&eLN4GCETx>5nN)!gpAaY0=!aXli z5{0vY7TaFDYqY%1$f{&b59hpZ_-S01SQLqxHZJxbCMxx#%Lr@4tHlf+CtTVz>lt~Ik!I=F{#vAIR$o^UjO);?YZSEi=GmHb zro%}6Io*O(gIJp7lI?O1kbvu4j`sm!-T@29MGf4H5akdI+>eJ;+z*HA4nr(u8Ke+` z6l>vV0gqNlae1+V>r|}myrS!s!%@zOttt@ zd4Rtzf?#tm&J#b%f@yLDZG7W2uWTME)l4!x_PmNA^$Lu@fxlNMc?+AL|n}-7N zh*S|ghwqRdQ|ICU=dY@B_mwF9IKkt}f;+Up01JW)@`l)>Ah*LxM*uY@>A%Bae4g<#53iigeU&fV&br0)DUrCk{q~X9@QEMqvnS&hYJlN*XYdg&exUoiEQ6qW%fSZ z%h(e`l5~B796bi~F1S~xmR(2VU|yT-rF!r-Jl}7Mr2KTqv^N|>rzHhU9A`{VL)Czy z((8^+2E+nMF+ORj&n0wSDz8F%cQ;<7xEe3TM8x!PRA0t-yQcoNKsJ(GqPx)+Z1fH| z_mrMRjX`Eu0D-1C9rH;m(lM&;mX!nbS(<5b;G+dlptLHRR$w&xHbn8Ae|9yWDb@FJ zZvVppEq63UMm9UxX0RwuchZow`uZ%U>3HF(u^?e*8y|4j55;~lby^4H#6ph@3U^XE z<~916VdH7qs0uRg{c6ms6Qoln2Dgz%n33EU3GWgLWRJEhUyD@!bHz&vAoxAuY9ir@ zuhlJ@nEed4pD0`OXEo^N{#v4Ph3pvfGVG5x=TD{_P&2` z*a!>EGak%m^}f&heYZmZ7{!J;s#OPWX$Rq9B-DnSp>dihQAH7OORiIO?vv*6iK@+& zM$@{`sWMHrF2c9Ej(W&5rs?A|`lGo2?8pMWl4EOX&8*f4-G91d*8K0_%l=II%`e}V z_^s0F>tVfvnI95*mw#2+eJ`;X&*%MMOg~@kD?h&fm&6@_eA7UfJx?_+vX-R#{KIhs zkL+USi4u)}N^GHak;P|vOfM*RNq-!U- zg9M%~C5H9+q>GhH=(bLmP10moM}unBVEx@M-Zd>vSk9CtuoyNDqVlpcC_qr5scsMI zTYI?bVT3|{Ej_(NoMYV9>qnNIT<~z)FX{j{gO%PI#qW~62%pKjghvx1^bF07zK~)w zZtuT2I7`Hvo6)N>#NL;%=406|;|8%MM5fZX1dwlAZzEEm=J5jshD|*Qg^51n6KJMf zn@LssD!KLVs{C$_p>x@JHgcVfOacx}(3uRUO#GzWs+5RL<_4znk9x+Y5p-H=sFzKe z?JDRdF>0@qi?qBvyRsVfsWVy`5?AS7mj3Rx>v&^ml%$>7)MsuoO?$7|`RX$)U{aEP zMq;ete%uJg?@pX*O=R8nglF~{lt5M}4e}BnIg2?CFw)qiefg1S3)jW>MU6iP?h2rZxKw!{RZ1~=8T|XT2 zDbQq442Ot(R?9I$sn}>lr-4TWqUr(lTOF^m>lX>V?Sbk0P9l289WOf9W#`n#16@!2 zk0C-}|Ni*ZI00|!&kxrO&Yd&;Db*r0K(3Of1Y8)14$}iX0j|w*ZXvWitP2y1ydLs?j`Tw6*Lj(S4LIKW=IpcwbNx<9%aI=rhntBb5CmfzDw{L83@Ru?&>={a|XYs-kH3%4oS_N#hvE zR_Gy!ZE?ZYg`{u3HaY~d zv)^X`1n}lWBzirb1sVa+0{NXt_8OEcwG*)*Vg(^$`QKkz_WQngW_lc-kZCswd_dzn z_0o5l@=&e;izb(bzk74=2Z%viZ(x;+l@fW6xq7x$j%RJZ50-fW>1qF~W*c3PY?s^Z>H0Z9 z^$iBRK{6U-sGk~=(cbE#h(^Auay?l|&D+(QH!sK#?ltgUCw2#j18qt~6z6o-?-d}y8 z>_8amL+`@@(RtMiT#kvPcGa{%dFv706TTZ(B7lU%8YluYcS=2m5ZJ`<-z-fAUwQ$c zDjrcQ;8hBbbFmT-v7Wr2u4Wzjsgn8t?u-cuhf#X*_7QjoR=YK!yMu~0t)>Ke)x?4< z9}R%`W4lSI3z?KZOXaZK`m-4o{{pa_Hd;)7)?jHq%L&{W(I|Px1MijPbv3Q}Y&s;j z-}rbw$nm(|!s@s)^o^Co=Qf9670Q3An`Y#B%4&Wd&E%g3&6B-_aHOzeBrHV#6kP-A zh;f81?(;cA+b;#OBHKXZqx(WwI_du1&q9a{pV!4IJGN1{P3qyNFrz#J7cPf|lBmM; zFW70T0C*BF=8ao`SH=9G)6BJ@c8eDI_3b0zGwY$S*l-0%~FKB?Er25_V3ouZtekJV9zjmR{?rR$ToNl z;N-t?l`rT3^b3tB;pV-r?-R$rTQLxy?!G4`Ntf$x6FfPPyjFZ;ot^kih=v&>$xdsN zF%-G zS|)$yr`+!prycOCZ<1;mws49N#g$Igrr#IP0XfiFOlnyo#8Yj zFY2G(*Yh;O;m!B^B^d~w!0zHa=gVasGpc?%mVQDLe5{--?qIeW%xlZwb#?jE zyJ5RGk>~L8bR$)7v-~C9XU!j;eR1SXDy;ykG+8e(Q0x~e6@3k}+#t#pG|hC+e@J67 z4EYNpSNidbdI`;JJX532YA=xxFx(wfDn*E{Wmd?m_kyNC>1i=rzRp*v>&Z~{rWc(J z8hPw;bX8E)1J{zqTsjXfR?)b(VuWUiGT@4tv~RR!dXH<$@pxoDzmYfv8WwQ20KK1W zS>~TwyzI_y~|V)h3yb@I!&GzYybv(3^UA(;&S)RARw?80)Z4=5>Ej=Lky+d4jX z+d^-=vSIoEJl`K^6Rmn($Yf)|sp1$`qY< z71|*>IbgV<+yTuWl)sC>{fQ$;1XpSufnf9JT-WO?*wPee9v$C&!=MPTu3!ErU+tT1 zITj_DQ3IL^4p15t>&Gby~dHrE(>tNyhMaS!`CtI;V)?bz#w#Jox&aP9#ACljX z+KJZtsFNBJVIqg;);=*-so#YTQR+)>hd1o-h9zDjlW@i@rVZS#SN zk5T(&x#nN)n`H5QXJG>Lo5%7^({ZC^A>K6PwIJCAys{$N)CT6?d#CI~OjAtLIJlk6 zxc8fbJDUXvTbGdwNA;sq2&;J=k({#jSgV({MgV2HEs-s(Gn1?#5lws~-8{Y{C7n7Z zPGG%7=znT=UDNYU^G^jG>C`W!MekLkc$r7@B(ysAP-bk(pTbm5D7wvId>eXGXwzyL z)d`4T_v?96vEWKaHAJSJmSC3Z;_Fgw?;Gsq8kU9)ga~)+cnhw*#+rwsgRNsMMZTR& zwV*DXe0%23t%}YTQ5L>P{+>;dV0Yo?24Y9vDB~De_Mq)R{jQKOSr5$A^s^Y#bd%A{ zvW~}S*VzYOk0$O5esfsEv*W=#xhod*T0|}^!Cq#;P5z2jxRDm<;Dk!|A-GaJUXR+U2d@XKw2`mRn zk*cjFhyTjnR(XeoQodtpmE*rs3R5h#M8jwQT>fX{JLc|Bw6XeVf&0%>TZfg`yJ)pg1r)y&E)t2A60gt=G3aRg%GwJ_1E{(xE0=1Y7X|qO4eHL zZuML%+WK3!f1fWVvHAgO}+6lOc zsWvDuUe5Nz1&;5&35?h>L++5}9HX5}9kBVuNzQzB*@&qWsaI+ne3n2C<$le_1HtLh|B<6`zN_6!|Now8ScX*~g#$`#B5&N-PJB`dlhF>Ga zl5;jweon`0C^<$ss~7dEv7xylcYPo}o_nYLiCh5lj6_?md9`#ALNT;+NFv8cwV!Lt zo5I>!>iw@d6C(#!GDG1`BcfttU+EMHMRo4rRU!0}7UZ!W4OY*t6-M z6Xiqx7mYh~k3fM5R4LH^yNeQ9vFN))Z9cR8@0)r+u?R35geVU-|NFoQ!M`T8R5GEk zDqH&${k~wGS$hm+RTUGya&+p1};6znM)GW zF280?=sES=huU#9ss8x8j>KB7(TXLub#J*G8m#$r48q6tK)ZH+=gPTNL3~`p$>hAx&&GK73aZAH z5o0|6Q*8z8`A|Zg=oeXUy2D2~97^HZsWIEuLY1umTgrIlZ|9W6qy+L@%Rn!fu_{PV z933+tL=?-Pv(FBMK^a8Yv@Uv0O%ye@vZ1u|ni{Rr!qeZvhl-V!D*k{og>~IK?0H1M z^gchJE8}|t3cW(>-@o^_W$!6p2eb!a`OA2{V~oO5f>xtQOql2(@nDy1jO8W!Ylj0V zjxii7QEpb*SOsYsU8-{hC~oq%*u>br%Q+i*{X0AuK6U*MqS@@r%hQSPBXS(kqS1k& zmy}e^2EObmQ_?lrgV$6y3YaE?kekrifxu^Oec0#Lt@~*=zC<*M%mpUQWFrWs*K|~@%gM5rPi6AEGyo7dkJK3+b)N(RKGOWpZ(_)+6S`{rweAj9(fI%`9 zD}8(k7+5CG={FozKQ1)TW|&x5WrVW8WAc#*szmPAO^rog{}9Kwq=-6pqrRB0;q(u( z7oA$zvSxFK66Lfx961ctd5FRXvSI>yowArZ@iFn;X4gA1qfGd0sq{ylosS`s-0^pQ zhTGxSkCYEZ@nlIq0_L{QK9hVg{dlvB=ZP77c{o2w;*ixn2SJwktQcAO&Yp258UT<| z?B_{MAs;)#zk@4 z{+%p{Zi)^g7>$dmN6*>*Y27;zPnV}c~VEHNRcC*=p&(ZTx z@<&%o_%t&4FNPEB&WFw{lSIdxL|(j2-AnK2+MqnL{cUgITXnf{?@c#80WOJjFJTO< zhpb(YCBa*I*G689E2jGv$irufiv|`l7*s<)F;M4*+hJ92qdf%+y40&6oRBYF6WG6f zv4u$wVDXMw*~ zJ&Z~df?c{MIOF0zFD~b?p<*^!x%jv8KCp4AesCAaT{8)WW!_Abu zZvy4*a=oZmOpX+XLy}jBF|0u=mTgu)!sz=jTY2%%bABSWk-3XrRt&tSY*DpF*z1Z;uu_>F%KJjU+8j5$(4QryL^1H0AoNn2swmN4#hNw^ zJqUGw&-0$H*}QFpb)J`EhHl+4PS=8H%3w! z9dR1b9lD%1jQkiGsKjc#QLCG{8S&=Fp&MyX%PXVK?hl!GPXO?=tCc}kT`U8|Zk_5e!|wPg*uaD1&s zT-2$TAI$>Y4THkYSU0+cv{(BG*64?u%AK8e+8*{du)^3fXuZ7D29JBJLDh+5l%#PD zc1%5~g?EjH-VSJ8j^>YNhnu?XY;x3`)VHUv$b!~lAMk#nt*4A)F5fH}f5G ztk4&wUYSvDxuq?z!?V+{IeT&Tv5o_dY7n~rN5Dtqo7%blN!2)6o}sN^Ti{emf+@ijd$kK{8{&w>V}sR zoZ3Fyj^F+8NQ^d`f$AH!Vwr9V>sP>c!ddF*Q_9sFgcuA8_UmUz6k3tU)9yC{EIowVU!Bpu!xvn9tVSO*@IAG0#4cRF=DY-F5$7OM0_0 zjpxJn*aDd&vl_1%Ur}e1Xu4LRsuY=D*B;k$Y9`(nzFqG^Vt8bl@jk@uoAi~Aa&wf)%v_?ma~-Tx&ZCC zGqp#>*$~^EUS|OHXd}?%eS*aG&U{UDcFQs_2tApojM(Y$Ny378!z-FHcm2!CLA6oP zn>O%bgqLY7l&(7v(cD$GwqUI4l*vNa@h)`w5ZA6{<<{mQe05}F&_W2Ye*3$%IFAVO z9BU4>jqifB=egHuzY0;y-4`p#;?Dwl+G!5lW>08Uwcv(W4)-y%jy{)lX*fTeon zF<;zlOXA{0`!_yx9@2;wz3a>QK6o1(ngLHvZ2#KPk+fO)AyRed=s;0!UdXi6evr~J z0A9PCrmTM6V#DyQjh5w*TwYZUnp%p{_QhL<*)T_ zW%|o@r3$@b5VI)h#YU(S7LpPcgMzjC#V-mk^smM_ZjTD^n-#_t6{>(8ry z&)3^<{yyK^>4$A#l%SNqk3^$>-EAe0^vMlt`#B1;op%@u%ivl|q}kKmW{U4vE>r+Z zACKLMole8wO**rTddHs}I5VQm?q^BgnETiG z6cjoi6A$kEy6W-7Zt4L6yp5p#<(ZL>;l1giSU&h<`FyJ;YA4z=sP=Axb{?9NCl=_t zFZfLJ^p9E+av!4c7CiSPvcj(xJ>h$Ka8A_7pK*N&^ENOv%Lb&1i6peXC%N;{MWT6` z-b!Itfx5G3q$e`nZbCxIuY2#LgN)s{A9Msj0}L_tZu%LF)7_1ji)ax8AwoP5SX4Dj z4pyK~_X_LW$VKi)fep~oqZI|Q9#1KMBh|npCKpa#+>A7k1LZDB=7=u_9iZCLKE9ll!lFSo!cJzj|6E{bW8SdWbhb|a>trNbbpJ`;W z_h=wtn%z&@IP&Px6+K0%_HvM^b}HOGLDuXAl|8Q5x^J5&W4^M$9ulZ!CADHWorBHs6=vceFnZBl9~ltwnx z?r9Ci7p%z>#~cvgDimh4@Og)N!R9`pSUdY_+{xZ}>{c@Y2$XWn9uxZ*fK*)aa1Ehj z#CCy{BP|5>vVdGb-ICfLzTiN9Tiny~gXT{dwnAKD`}trPb|(Z#uT zUhByCPB=6L@7rBR6~cTao66pwXLf1bb5H5cfA>?eOwxU(zoo#X^xS0#{WBG;?{mW! zn-=E~f!CaaLn$PU#Vsm_i=X6=n;qF|H-5Bsb?7S2$Vso8t&azx11gV5wv3bdRffir z_1wSY*G-=>Xx;1IzDM6XcA;}bqX>F=SbYJ;C7Ll8zHHx_4k{NrFhB4-?UIEOlBZse zxrg`yH1c!hgAq#F@&qR+BSe)=TV1JqZx#(DgF@$fWrIs;bomQ*x9V z%UPE_Ju;w_b+q>p2UN^cZO2(9D;U=xV19O-MUaXBWUFg*K~dEsCIl5)7#j4^4Zd2 zaWg^tr34oeDg?vx`*BV2>HNgY4ucHk%{#S`YB(lG&KV??pB86`Jm z^UVnUZ-qN_y|`dD;!j!;1EH@fstIh|zIqeueAoO`YoVMcmGm?ffaSY^ceCM;4)n7> zdPCkN*){*7dud*>>pJ5h6R0GtU8D*Q0`%{Uy=K%JXu}0dT}~NCUmlfzNMn`L2Do_B zp$oNN9k~9~_=zvM+A7E6kCX5ChkB+|J?-4PH_T1q7HG@IQ-K^3=n|#_l+=e0O#2li zj?xPec~$=@oO*={=-UIfi5YwK=BPr1kU@%QyoSO?!F&(Lp+7O`CO4RRa1o}muCAmhn^LAY*Q(g>TD|D<;RIu<0 z_+>fX^B-n3omS5oCo!1fTYoH^5}syDy*ub7(55e~j6N%j-&xhuc2i zT+O;zFT3xWj|8m%TAN7nx)0Vznmu>^fa+_vmkTcm*Z@GUoa|H4e9p4B`~c?OjHtuN z{3-f?kbg0wzVuZUQK$*rgAMCkjSmw@WCcRHp$c+~(^`aL=O8R_yV} z1CP|9TD7_;X{V7)<`*fw%%1Ve{BV4jO#VS^&1=oIrjtajBh2bkZP%yxi>5;k;}gX6 zW=O7lWW@y4v8pC@DGf=Z|<*b^iuBXz5|4lFH>BPlSq;OBzkE4^k3`WQ@0q z$hS>LpSy!6nm4}ZvY#*KU>6OP4~u}v*|+$%R@H!!5`S_rz3Jjwe0$5F$E#V5$ki48 zlVFxEx4${O12UW$g|g;s&ir@FSZK9Xkv(^= z7yqHjQasnj7;)>MLQobezC-@-MOQ$UMb@oZm+M=fC}p@-8p|WvDy16{LntJ{>HbcAaTrp869nBg%E1 z76~snm7}Ep@A$G7&L|*DD^I9+zjds!`W9H?LI4$M>5wwJ9(!H!5z{O;*3zdc1p|{B z_MSg>M_=a4QY1{v2g3c?sN?^C!#92JU@vwUTo(ON`D+p&egXoTRz`Wtz<{Hgcod&1 z;73?V9CY;3YPon&VVSsIoj4RzHiJLtJT_5>xqYr%EDzIEHTJHZ1IrzF9`DhXW<}#) zIaE2fncZ71W_~v*EXxJ-xMWcMd1NPtw8czmaX?|oRG~t1MJbl-oD5U~+Hl-R^Gm&2 z+-B6_IkM0`9SqFMV&xd_LUqoT&@q&io&ud3vy=z|R~=fBuQRv<{vly2&I{(A{dc?3 z7#pqx*zW+BL$c&6;|vk%ARQ|h1>r2-#Y%X5zSxOG%-6*}0vAz*Eqc$WcL7?sJnXWO z@=-FNRkk~(hf5DQ(kUmb>+)5Nbmn6nGQo_PM!k(mWe}Ns-WOwSsbg{i>l**X+($q; z77WNA@1TRxUc~&H%jmR1AV{>YHq^Jz(&b{Wk6dZniB+1Vwxl5r!0Z9yGTe1#sdiKA zMuG;4Ius<#gtp^Cfp>I!I(JsTvZ_qnN=tMM+lbi#+M+2k=$m7tyw7fi?bdgC>TX*7 z&~p^vVDCN}Kq|=Ov%zb>rdl3o?`GSsV+6dTK8)$)*J%QC3Hw8{@zgDOi$60Zt+!P) zAsCfjeR!cu_|U;CGf?Y;O_cV|HkrEl46(M5H4&_c>6>i{nij0NgTDzJ}(U;7R0y>2bdS?&9iELJV*Gwmycqc zcvZb@`5&GSFXdbJ#hyFIl2&C}0ATSmu7;iqw$k12w zW4@g|-a1uigmPgf5vUY`&`A}9qlt636I5G&6e%*XU|p4lzj}oc0{vY8Fqp#mkGjcg z=^p#9g_#rZ*cbuHXf~G;Q~7!_?AE zhNpw~O@|YFM@QUVON!j}97dl{Q@O*)B)> zHiVUG>7K`6^=cFC>*T6LLvkR5Qh#t612Qz-_jYYp{xZu%+ooG!%7L@Q%-O{o5#4O* zPbStta=GV?5BnPq4eTQ5@D$y6O(XDX?PSb8j|Z%J?H?MRt`&cIKM)}&5DI4lvlWcS zn?K&4AjVVYEyda#T`mMX)Wr6U{;_!-5XzEV(T9+e`r9 zJ1uyorTHlONMvL&hYf<_za+92h}N2PyewfZyTboVE{no3`qL(DkPrYOn)nA)wLT3% z;C{b6FNTcFCmoXN>CDV`ENgIp5K&=Z<^SiM<%%vigO=$eBGSzVyO|G4^}nv-j_NGq zNThLSlYrpnq*tc-uTE%m3I^tP{v}DiXE!90Ay%AjZG+IAaT>$2{xBcX#s$n>?`oP-OW3HF4(gP_AtpFH6XY znbdKJ7-HyHtC1Ltp`&Od*|KGu#MsHs*wt|?C1XjJw4gzh0GavJLuIIk5`+B~=FSBm(($Vg+8QV!gN!oDouk;UC>=FO}R0S=zL#Iy>lD+?~CtJ>e(EAMCJ|^35*gpYuB6>97p-fX3B1lp*C70jUuzl3_p= zQk2C;c<)R-xIXzMq3t3F@o@GG%j|FuRX!m1Xhf zPd@81#FY+ypJ6;b;TiqfOc4)5F2Vx`EF>|QTulK+;@RI{p(#BN&UPXP5(keUF#pU$ z4P#%{B0;|=Q?|Ij_zu)BoRL@`1@(jFPEib4VbtJVK1 zo0jvosXPpcru~2CZ)t5WMMI2uR?7{%vfo*$FtSyEXOFY>Ws*XewA9+9u@oRYNq|>2 zuJLrw@~NKc%~b?GmVz72mT4;#-y*7hTJeQ~zmPNjg~@BR-{sORy8g6f)=nRReC@Oqm;9(|z@JvjB8odZtZ@Ti{J8a~{ER%?CNL@7 zqHX}nI~|a}s%`I-)?eOf1|X@t4DW=~53I$uj~guEaKjMU8AHqI!xBpXM?QhhEl!0* z4Q{oQq@rTloGgX|Fk7_44W|_652p-)#SGj5Xu19d9rw{w1CRbYwljkAL{j4A>|i_m z0o!2y_bmSBqC7|>V}Nnsf)+*Sdm_7`=JZ>JRl=`}c%WQB#9JtI_49i&^_tfa&c}TT z%KWfbpz0FuY(kT&Gasn!VTg3cmmkp3! z^UKr-@h_YLk`V%$&OTXKkaQ0~(eX*6=?wUb5P21|+VCd(gC2a>Au|n&}TrnC&zjrbWfy4%U2I!Q-}7_s{MIu9qI-hl06j0 z31ci|wpY}HedB)baW6+b>MnvKw?n|=-}G=g3hWkUm9Jo`QyGp7Fva-oR#rSjuBP9W z)YGr?|B7wPl-&coxA5p$|I*L>&&}2CP0MT>`cS*P`M<;SmZ@^V2o`{cUB^Bj-95z$ z`ab*20K~+wZJz*!JRGvvfCs{cRNxqq_d~;pl?{Q*P*CY&Vf`L91k6|J-K+Y|e83Oh zba?4Cfpta&g5>xU$F`(=y0sPX;uL{ha>imqkZP`Sv#(iH|E-?HZdh0sNj??iFSc@n zSS~Ef@Q;MkH@Z^*d43%*;b3b4P;f5~o@!qWTs>o~T$lFAIGTc-3Ww{5LWKGPEHf@8 zqXn|0fWPhuvA({%PX-&$9Ef$BEgCgJrpd2Nw@~ z1ubP4^Cfsb)o{n`d5A!ykY2wVyuDpxoe+1)fs=b8uuq$-HvFvn$cHuGj(bwfF#x?I zpXCG>`!UCct9o7shI%Q$_bR>TOKLhnB110S#$Tv~H*Uc;LF0a{PuX&4#U(m&!h#l< z1nO*a=pST=iE}O(x@k);Ew_nreMfVIN*kzut-R_5!WkTDy#7Q$MqB2UJ4b^`=RE0W zgMuhjBY?wW22I%em!djSkzAA{VL8i68Ka4*k@}fO32gmj_I?TWFgy06noLWSB3JRp z1Fi@8!I*^J_&maY`po{QIsa7n37SX==ZNp)__!x zJgCh&4JWEq@cT)?3rWI-2gE?z;T~D4T{jO&k}%gpU)PL>&yO&NE1X{dzMSG)yq_av zp~{kM}d3J3FK(TJPwYoWB3(B{PNsGGD&Dtrv4{kLzc=>fAOi8C;7-#>18I+yrQpa( zsXV&0AZ?%)$p`Vcx4#@-?g|I{<84fkEw%mxygKVq?+#)geD3RLO+eIv3=^wEG?4kh z^mODmk>sro009m^4+GqYb1^b(HdQ#}OrZg;JKxuJ#b-^@q8>AaVBIHU%zT6M_-vUk zb+-}dOmuUqE5ieuKjj@@Gg|G=ZX>vk;{pyKgC&soc{R>$c8hTkvefLV4B16TXi6T@ zK(rJ0b^_uBu;v2ts$|t<%z>-Y5=Ico*jvTzB+ZM@Um4@Y7d6$h4Ku5nuFz^i5<4ny z+~p1A^8jn_%dwN%a*=M*^G-M(v(gz@^R+u`S9Vv=BgpR>H@+m$YI&8E-Wg_|YRN2D z#(#TeY2RLZ2i23PG9nXmET`{7!AR=23$5_C0@BwnR1t{nnGQNy_qJDn8ie~PK?Y7_ z#J6&2dVkS%E(P|gs_yJ_?``5|tz*f+uJiC8T~%_S_>qCi&4MN;Bgzt$S7-8?xg+kr zW|8!Qv1pv(oZ!IF5-sj9bmIcbccT}v;&p?&$6G=vgBChdLanmN54p%<=Jzj&n;+4x zYrF|FswlBKW-8yc7L&!tKFRG1E$;sp6e^ILX4H-g*!@xRd4ikkk=` z;_14pcU)*iZOQ^b_k=c@?+au*6&b zFuDZCjYoCVy5lBNxy)r~TJ==;l4?{w=kv{x{>k~IMmZ=4lU(`?MjUM*1)5X@l`UI; ztA7|Ym8oDGS@T$#rwo?XG2iK>@xPs zJAz$!z8gkpw@$z9H5WAqBv{Hu-~5zr_T^zTs-v$I{8fu$yx~)q^9zFR$YoA4A|yxW zC~4&hnuV1${VQ8xQTXLYf@w6U9xu1mUfT`lz1>w z>feIONtbe9?c7q_NMyh6PEjB7Q;(`|7|5T|icb1T&;;vC;3WJL3-F>gX97_EE=!#%^!|vn8JMyTs;@D9&SztwK~X%ns=jUD68e^|RiEV4^lZykCK+Q$3g~R1Qkhj_ z^@IAy1})fz*`iI_8|?&-u}LgcO)4I5u@Y?k&4%O^vdrf8mM|!m+$J_pdAC)(g9_Hci+s*kQSfV+q1G_)(^B%kUl%M6)1*9!HqUxiIT`0 zwZML&9VK@voaHzyVaKw>2CmFK=3&$eD>$lLhuNv~8QOwPf&%p^AGw`N!-1sW&4?v9 z^Zsn0zCcaB!kHg3q#qx(i?B_7NIOR^c_JsNL>Q2}qBtt&Yv1E6uz%gnIqG(B>#hgT zUL0rBoY3D05@?^eImC+6jUb<=@LL44m^LXp6^3btBEhE6cBt97I!m78teCI6ULx4`mKmHM5?crhE%NTGy_$othWLSsfq?DMPlYlRMP-t8sY|GfyjIo{)v3O!eL^>^wtkTmYQc-~OA6l)jt EZ@I3M3IG5A literal 10933 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 diff --git a/class_universal_report_parser-members.html b/class_universal_report_parser-members.html index fff88568..7a1f5c20 100644 --- a/class_universal_report_parser-members.html +++ b/class_universal_report_parser-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_universal_report_parser.html b/class_universal_report_parser.html index f596363e..311b7e5f 100644 --- a/class_universal_report_parser.html +++ b/class_universal_report_parser.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: UniversalReportParser Class Reference @@ -31,7 +31,7 @@ - + @@ -97,14 +97,14 @@ Inheritance diagram for UniversalReportParser:
Inheritance graph
- +
[legend]
Collaboration diagram for UniversalReportParser:
Collaboration graph
- +
[legend]

@@ -114,7 +114,7 @@ Public Member Functions

Detailed Description

-

Definition at line 186 of file hidescriptorparser.h.

+

Definition at line 168 of file hidescriptorparser.h.

Member Function Documentation

@@ -175,7 +175,7 @@ Public Member Functions diff --git a/class_universal_report_parser__coll__graph.map b/class_universal_report_parser__coll__graph.map index eeded056..05ce361e 100644 --- a/class_universal_report_parser__coll__graph.map +++ b/class_universal_report_parser__coll__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_universal_report_parser__coll__graph.md5 b/class_universal_report_parser__coll__graph.md5 index 9a59e71c..84a58c13 100644 --- a/class_universal_report_parser__coll__graph.md5 +++ b/class_universal_report_parser__coll__graph.md5 @@ -1 +1 @@ -3995164afd13e9dfb5009178d62fbdf4 \ No newline at end of file +53ad9438e520f79d9514bd51ffe26f67 \ No newline at end of file diff --git a/class_universal_report_parser__coll__graph.png b/class_universal_report_parser__coll__graph.png index e97cb00fa97cba5df917dacbea9f53ad7f6a53dd..1e4e21234b92910bbec92a8194deffca402f6d28 100644 GIT binary patch literal 5396 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 literal 2711 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 diff --git a/class_universal_report_parser__inherit__graph.map b/class_universal_report_parser__inherit__graph.map index eeded056..05ce361e 100644 --- a/class_universal_report_parser__inherit__graph.map +++ b/class_universal_report_parser__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_universal_report_parser__inherit__graph.md5 b/class_universal_report_parser__inherit__graph.md5 index 9a59e71c..84a58c13 100644 --- a/class_universal_report_parser__inherit__graph.md5 +++ b/class_universal_report_parser__inherit__graph.md5 @@ -1 +1 @@ -3995164afd13e9dfb5009178d62fbdf4 \ No newline at end of file +53ad9438e520f79d9514bd51ffe26f67 \ No newline at end of file diff --git a/class_universal_report_parser__inherit__graph.png b/class_universal_report_parser__inherit__graph.png index e97cb00fa97cba5df917dacbea9f53ad7f6a53dd..1e4e21234b92910bbec92a8194deffca402f6d28 100644 GIT binary patch literal 5396 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 literal 2711 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 diff --git a/class_usb_config_xtracter-members.html b/class_usb_config_xtracter-members.html index 9da88fb5..e9ed59ad 100644 --- a/class_usb_config_xtracter-members.html +++ b/class_usb_config_xtracter-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@
- + @@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_usb_config_xtracter.html b/class_usb_config_xtracter.html index 8e460004..0d98702b 100644 --- a/class_usb_config_xtracter.html +++ b/class_usb_config_xtracter.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: UsbConfigXtracter Class Reference @@ -31,7 +31,7 @@ - + @@ -97,7 +97,7 @@ Inheritance diagram for UsbConfigXtracter:
Inheritance graph
- +
[legend]

@@ -107,7 +107,7 @@ Public Member Functions

Detailed Description

-

Definition at line 28 of file confdescparser.h.

+

Definition at line 24 of file confdescparser.h.

Member Function Documentation

@@ -171,7 +171,7 @@ Public Member Functions diff --git a/class_usb_config_xtracter__inherit__graph.map b/class_usb_config_xtracter__inherit__graph.map index 7959ab89..05ab3645 100644 --- a/class_usb_config_xtracter__inherit__graph.map +++ b/class_usb_config_xtracter__inherit__graph.map @@ -1,11 +1,11 @@ - - - - - - - - - + + + + + + + + + diff --git a/class_usb_config_xtracter__inherit__graph.md5 b/class_usb_config_xtracter__inherit__graph.md5 index 5924d65d..05868d1e 100644 --- a/class_usb_config_xtracter__inherit__graph.md5 +++ b/class_usb_config_xtracter__inherit__graph.md5 @@ -1 +1 @@ -494b7b48021000d8f3e73732dd9865fd \ No newline at end of file +e275340340994aa4e51a4884dcb02e68 \ No newline at end of file diff --git a/class_usb_config_xtracter__inherit__graph.png b/class_usb_config_xtracter__inherit__graph.png index b16ac6ada4a63f31b096dc59fb9db840553ac0b5..02cb43baca9ccfd0bb2b8fffed9f1edddb9fd296 100644 GIT binary patch literal 22119 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 literal 14663 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 YX}Q~3KmAArPDVnc#N - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@
- + @@ -90,77 +90,80 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');

This is the complete list of members for WII, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
accXWII
accYWII
accZWII
ACLData(uint8_t *ACLData)WIIvirtual
attachOnInit(void(*funcOnInit)(void))WIIinline
disconnect()WIIvirtual
getAnalogHat(Hat a)WII
getAnalogHat(AnalogHat a)WII
getBatteryLevel()WII
getButtonClick(Button b)WII
getButtonPress(Button b)WII
getIRs1()WIIinline
getIRs2()WIIinline
getIRs3()WIIinline
getIRs4()WIIinline
getIRx1()WIIinline
getIRx2()WIIinline
getIRx3()WIIinline
getIRx4()WIIinline
getIRy1()WIIinline
getIRy2()WIIinline
getIRy3()WIIinline
getIRy4()WIIinline
getPitch()WIIinline
getRoll()WIIinline
getWiiState()WIIinline
getYaw()WIIinline
gyroPitchWII
gyroPitchRawWII
gyroPitchZeroWII
gyroRollWII
gyroRollRawWII
gyroRollZeroWII
gyroYawWII
gyroYawRawWII
gyroYawZeroWII
IRinitialize()WII
isIRCameraEnabled()WIIinline
motionPlusConnectedWII
nunchuckConnectedWII
nunchuckPitchWII
nunchuckRollWII
pair(void)WIIinline
pitchGyroScaleWII
pitchGyroSpeedWII
Reset()WIIvirtual
rollGyroScaleWII
rollGyroSpeedWII
Run()WIIvirtual
setAllOff()WII
setLedOff(LED a)WII
setLedOn(LED a)WII
setLedRaw(uint8_t value)WII
setLedStatus()WII
setLedToggle(LED a)WII
setRumbleOff()WII
setRumbleOn()WII
setRumbleToggle()WII
WII(BTD *p, bool pair=false)WII
wiimoteConnectedWII
wiimotePitchWII
wiimoteRollWII
wiiUProControllerConnectedWII
yawGyroScaleWII
yawGyroSpeedWII
accXnunchuckWII
accXwiimoteWII
accYnunchuckWII
accYwiimoteWII
accZnunchuckWII
accZwiimoteWII
ACLData(uint8_t *ACLData)WIIvirtual
attachOnInit(void(*funcOnInit)(void))WIIinline
disconnect()WIIvirtual
getAnalogHat(Hat a)WII
getAnalogHat(AnalogHat a)WII
getBatteryLevel()WII
getButtonClick(Button b)WII
getButtonPress(Button b)WII
getIRs1()WIIinline
getIRs2()WIIinline
getIRs3()WIIinline
getIRs4()WIIinline
getIRx1()WIIinline
getIRx2()WIIinline
getIRx3()WIIinline
getIRx4()WIIinline
getIRy1()WIIinline
getIRy2()WIIinline
getIRy3()WIIinline
getIRy4()WIIinline
getNunchuckPitch()WIIinline
getNunchuckRoll()WIIinline
getPitch()WIIinline
getRoll()WIIinline
getWiimotePitch()WIIinline
getWiimoteRoll()WIIinline
getWiiState()WIIinline
getYaw()WIIinline
gyroPitchWII
gyroPitchRawWII
gyroPitchZeroWII
gyroRollWII
gyroRollRawWII
gyroRollZeroWII
gyroYawWII
gyroYawRawWII
gyroYawZeroWII
IRinitialize()WII
isIRCameraEnabled()WIIinline
motionPlusConnectedWII
nunchuckConnectedWII
pair(void)WIIinline
pitchGyroScaleWII
pitchGyroSpeedWII
Reset()WIIvirtual
rollGyroScaleWII
rollGyroSpeedWII
Run()WIIvirtual
setAllOff()WII
setLedOff(LED a)WII
setLedOn(LED a)WII
setLedRaw(uint8_t value)WII
setLedStatus()WII
setLedToggle(LED a)WII
setRumbleOff()WII
setRumbleOn()WII
setRumbleToggle()WII
WII(BTD *p, bool pair=false)WII
wiimoteConnectedWII
wiiUProControllerConnectedWII
yawGyroScaleWII
yawGyroSpeedWII
diff --git a/class_w_i_i.html b/class_w_i_i.html index f51455c0..2221beac 100644 --- a/class_w_i_i.html +++ b/class_w_i_i.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: WII Class Reference @@ -31,7 +31,7 @@ - + @@ -98,14 +98,14 @@ Inheritance diagram for WII:
Inheritance graph
- +
[legend]
Collaboration diagram for WII:
Collaboration graph
- +
[legend]
+ + + + + + + + + + @@ -212,22 +222,18 @@ Public Attributes - - - - - - - - - - - - - - - - + + + + + + + + + + + + @@ -311,7 +317,7 @@ Public Attributes - +

@@ -162,6 +162,16 @@ Public Member Functions

 
void attachOnInit (void(*funcOnInit)(void))
 
double getWiimotePitch ()
 
double getWiimoteRoll ()
 
double getNunchuckPitch ()
 
double getNunchuckRoll ()
 
Wiimote IR camera functions

You will have to uncomment WIICAMERA in Wii.h to use the IR camera.

bool wiiUProControllerConnected
 
double wiimotePitch
 
double wiimoteRoll
 
double nunchuckPitch
 
double nunchuckRoll
 
int16_t accX
 
int16_t accY
 
int16_t accZ
 
int16_t accXwiimote
 
int16_t accYwiimote
 
int16_t accZwiimote
 
int16_t accXnunchuck
 
int16_t accYnunchuck
 
int16_t accZnunchuck
 
double pitchGyroSpeed
 
void WII::ACLData ( uint8_t * ACLData)ACLData)
@@ -345,7 +351,7 @@ Public Attributes void WII::Run ( - ) + ) @@ -359,7 +365,7 @@ Public Attributes

Reimplemented from BluetoothService.

-

Definition at line 695 of file Wii.cpp.

+

Definition at line 682 of file Wii.cpp.

@@ -373,7 +379,7 @@ Public Attributes void WII::Reset ( - ) + ) @@ -401,7 +407,7 @@ Public Attributes void WII::disconnect ( - ) + ) @@ -427,7 +433,7 @@ Public Attributes bool WII::getButtonPress ( Button  - b) + b) @@ -436,7 +442,7 @@ Public Attributes

While getButtonClick(Button b) will only return it once.

So you instance if you need to increase a variable once you would use getButtonClick(Button b), but if you need to drive a robot forward you would use getButtonPress(Button b).

-

Definition at line 1047 of file Wii.cpp.

+

Definition at line 1034 of file Wii.cpp.

@@ -448,7 +454,7 @@ Public Attributes bool WII::getButtonClick ( Button  - b) + b) @@ -457,7 +463,7 @@ Public Attributes

While getButtonClick(Button b) will only return it once.

So you instance if you need to increase a variable once you would use getButtonClick(Button b), but if you need to drive a robot forward you would use getButtonPress(Button b).

-

Definition at line 1054 of file Wii.cpp.

+

Definition at line 1041 of file Wii.cpp.

@@ -472,7 +478,7 @@ Public Attributes void WII::pair ( void  - ) + ) @@ -496,7 +502,7 @@ Public Attributes uint8_t WII::getAnalogHat ( Hat  - a) + a) @@ -510,7 +516,7 @@ Public Attributes
Returns
Return the analog value in the range from approximately 25-230.
-

Definition at line 1065 of file Wii.cpp.

+

Definition at line 1052 of file Wii.cpp.

@@ -522,7 +528,7 @@ Public Attributes uint16_t WII::getAnalogHat ( AnalogHat  - a) + a) @@ -536,7 +542,7 @@ Public Attributes
Returns
Return the analog value in the range from approximately 800-3200.
-

Definition at line 1077 of file Wii.cpp.

+

Definition at line 1064 of file Wii.cpp.

@@ -550,7 +556,7 @@ Public Attributes double WII::getPitch ( - ) + ) @@ -577,7 +583,7 @@ Public Attributes double WII::getRoll ( - ) + ) @@ -590,7 +596,7 @@ Public Attributes

Roll calculated from the Wiimote. A complimentary filter is used if the Motion Plus is connected.

Returns
Roll in the range from 0-360.
-

Definition at line 162 of file Wii.h.

+

Definition at line 164 of file Wii.h.

@@ -604,7 +610,7 @@ Public Attributes double WII::getYaw ( - ) + ) @@ -618,7 +624,7 @@ Public Attributes

NOTE: This angle will drift a lot and is only available if the Motion Plus extension is connected.

Returns
The angle calculated using the gyro.
-

Definition at line 172 of file Wii.h.

+

Definition at line 176 of file Wii.h.

@@ -629,14 +635,14 @@ Public Attributes void WII::setAllOff ( - ) + )

Used to set all LEDs and rumble off.

-

Definition at line 865 of file Wii.cpp.

+

Definition at line 852 of file Wii.cpp.

@@ -647,14 +653,14 @@ Public Attributes void WII::setRumbleOff ( - ) + )

Turn off rumble.

-

Definition at line 871 of file Wii.cpp.

+

Definition at line 858 of file Wii.cpp.

@@ -665,14 +671,14 @@ Public Attributes void WII::setRumbleOn ( - ) + )

Turn on rumble.

-

Definition at line 877 of file Wii.cpp.

+

Definition at line 864 of file Wii.cpp.

@@ -683,14 +689,14 @@ Public Attributes void WII::setRumbleToggle ( - ) + )

Toggle rumble.

-

Definition at line 883 of file Wii.cpp.

+

Definition at line 870 of file Wii.cpp.

@@ -702,7 +708,7 @@ Public Attributes void WII::setLedRaw ( uint8_t  - value) + value) @@ -715,7 +721,7 @@ Public Attributes -

Definition at line 889 of file Wii.cpp.

+

Definition at line 876 of file Wii.cpp.

@@ -727,7 +733,7 @@ Public Attributes void WII::setLedOff ( LED  - a) + a) @@ -740,7 +746,7 @@ Public Attributes -

Definition at line 894 of file Wii.cpp.

+

Definition at line 881 of file Wii.cpp.

@@ -752,7 +758,7 @@ Public Attributes void WII::setLedOn ( LED  - a) + a) @@ -765,7 +771,7 @@ Public Attributes -

Definition at line 900 of file Wii.cpp.

+

Definition at line 887 of file Wii.cpp.

@@ -777,7 +783,7 @@ Public Attributes void WII::setLedToggle ( LED  - a) + a) @@ -790,7 +796,7 @@ Public Attributes -

Definition at line 906 of file Wii.cpp.

+

Definition at line 893 of file Wii.cpp.

@@ -801,7 +807,7 @@ Public Attributes void WII::setLedStatus ( - ) + ) @@ -811,7 +817,7 @@ Public Attributes

the second LED indicate indicate that a Motion Plus is also connected

the third LED will indicate that a Nunchuck controller is also connected.

-

Definition at line 912 of file Wii.cpp.

+

Definition at line 899 of file Wii.cpp.

@@ -822,7 +828,7 @@ Public Attributes uint8_t WII::getBatteryLevel ( - ) + ) @@ -830,7 +836,7 @@ Public Attributes

Return the battery level of the Wiimote.

Returns
The battery level in the range 0-255.
-

Definition at line 925 of file Wii.cpp.

+

Definition at line 912 of file Wii.cpp.

@@ -844,7 +850,7 @@ Public Attributes uint8_t WII::getWiiState ( - ) + ) @@ -857,7 +863,7 @@ Public Attributes

Return the Wiimote state.

Returns
See: http://wiibrew.org/wiki/Wiimote#0x20:_Status.
-

Definition at line 225 of file Wii.h.

+

Definition at line 229 of file Wii.h.

@@ -872,7 +878,7 @@ Public Attributes void WII::attachOnInit ( void(*)(void)  - funcOnInit) + funcOnInit) @@ -890,7 +896,111 @@ Public Attributes -

Definition at line 233 of file Wii.h.

+

Definition at line 237 of file Wii.h.

+ + + + +
+
+ + + + + +
+ + + + + + + +
double WII::getWiimotePitch ()
+
+inline
+
+

Pitch and roll calculated from the accelerometer inside the Wiimote.

+ +

Definition at line 257 of file Wii.h.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
double WII::getWiimoteRoll ()
+
+inline
+
+

Pitch and roll calculated from the accelerometer inside the Wiimote.

+ +

Definition at line 260 of file Wii.h.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
double WII::getNunchuckPitch ()
+
+inline
+
+

Pitch and roll calculated from the accelerometer inside the Nunchuck.

+ +

Definition at line 267 of file Wii.h.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
double WII::getNunchuckRoll ()
+
+inline
+
+

Pitch and roll calculated from the accelerometer inside the Nunchuck.

+ +

Definition at line 270 of file Wii.h.

@@ -901,14 +1011,14 @@ Public Attributes void WII::IRinitialize ( - ) + )

Initialises the camera as per the steps from: http://wiibrew.org/wiki/Wiimote#IR_Camera

-

Definition at line 1102 of file Wii.cpp.

+

Definition at line 1089 of file Wii.cpp.

@@ -922,7 +1032,7 @@ Public Attributes uint16_t WII::getIRx1 ( - ) + ) @@ -935,7 +1045,7 @@ Public Attributes

IR object 1 x-position read from the Wii IR camera.

Returns
The x-position of the object in the range 0-1023.
-

Definition at line 317 of file Wii.h.

+

Definition at line 328 of file Wii.h.

@@ -949,7 +1059,7 @@ Public Attributes uint16_t WII::getIRy1 ( - ) + ) @@ -962,7 +1072,7 @@ Public Attributes

IR object 1 y-position read from the Wii IR camera.

Returns
The y-position of the object in the range 0-767.
-

Definition at line 325 of file Wii.h.

+

Definition at line 336 of file Wii.h.

@@ -976,7 +1086,7 @@ Public Attributes uint8_t WII::getIRs1 ( - ) + ) @@ -989,7 +1099,7 @@ Public Attributes

IR object 1 size read from the Wii IR camera.

Returns
The size of the object in the range 0-15.
-

Definition at line 333 of file Wii.h.

+

Definition at line 344 of file Wii.h.

@@ -1003,7 +1113,7 @@ Public Attributes uint16_t WII::getIRx2 ( - ) + ) @@ -1016,7 +1126,7 @@ Public Attributes

IR object 2 x-position read from the Wii IR camera.

Returns
The x-position of the object in the range 0-1023.
-

Definition at line 341 of file Wii.h.

+

Definition at line 352 of file Wii.h.

@@ -1030,7 +1140,7 @@ Public Attributes uint16_t WII::getIRy2 ( - ) + ) @@ -1043,7 +1153,7 @@ Public Attributes

IR object 2 y-position read from the Wii IR camera.

Returns
The y-position of the object in the range 0-767.
-

Definition at line 349 of file Wii.h.

+

Definition at line 360 of file Wii.h.

@@ -1057,7 +1167,7 @@ Public Attributes uint8_t WII::getIRs2 ( - ) + ) @@ -1070,7 +1180,7 @@ Public Attributes

IR object 2 size read from the Wii IR camera.

Returns
The size of the object in the range 0-15.
-

Definition at line 357 of file Wii.h.

+

Definition at line 368 of file Wii.h.

@@ -1084,7 +1194,7 @@ Public Attributes uint16_t WII::getIRx3 ( - ) + ) @@ -1097,7 +1207,7 @@ Public Attributes

IR object 3 x-position read from the Wii IR camera.

Returns
The x-position of the object in the range 0-1023.
-

Definition at line 365 of file Wii.h.

+

Definition at line 376 of file Wii.h.

@@ -1111,7 +1221,7 @@ Public Attributes uint16_t WII::getIRy3 ( - ) + ) @@ -1124,7 +1234,7 @@ Public Attributes

IR object 3 y-position read from the Wii IR camera.

Returns
The y-position of the object in the range 0-767.
-

Definition at line 373 of file Wii.h.

+

Definition at line 384 of file Wii.h.

@@ -1138,7 +1248,7 @@ Public Attributes uint8_t WII::getIRs3 ( - ) + ) @@ -1151,7 +1261,7 @@ Public Attributes

IR object 3 size read from the Wii IR camera.

Returns
The size of the object in the range 0-15.
-

Definition at line 381 of file Wii.h.

+

Definition at line 392 of file Wii.h.

@@ -1165,7 +1275,7 @@ Public Attributes uint16_t WII::getIRx4 ( - ) + ) @@ -1178,7 +1288,7 @@ Public Attributes

IR object 4 x-position read from the Wii IR camera.

Returns
The x-position of the object in the range 0-1023.
-

Definition at line 389 of file Wii.h.

+

Definition at line 400 of file Wii.h.

@@ -1192,7 +1302,7 @@ Public Attributes uint16_t WII::getIRy4 ( - ) + ) @@ -1205,7 +1315,7 @@ Public Attributes

IR object 4 y-position read from the Wii IR camera.

Returns
The y-position of the object in the range 0-767.
-

Definition at line 397 of file Wii.h.

+

Definition at line 408 of file Wii.h.

@@ -1219,7 +1329,7 @@ Public Attributes uint8_t WII::getIRs4 ( - ) + ) @@ -1232,7 +1342,7 @@ Public Attributes

IR object 4 size read from the Wii IR camera.

Returns
The size of the object in the range 0-15.
-

Definition at line 405 of file Wii.h.

+

Definition at line 416 of file Wii.h.

@@ -1246,7 +1356,7 @@ Public Attributes bool WII::isIRCameraEnabled ( - ) + ) @@ -1259,7 +1369,7 @@ Public Attributes

Use this to check if the camera is enabled or not. If not call WII::IRinitialize to initialize the IR camera.

Returns
True if it's enabled, false if not.
-

Definition at line 414 of file Wii.h.

+

Definition at line 425 of file Wii.h.

@@ -1275,7 +1385,7 @@ Public Attributes

Variable used to indicate if a Wiimote is connected.

-

Definition at line 235 of file Wii.h.

+

Definition at line 239 of file Wii.h.

@@ -1290,7 +1400,7 @@ Public Attributes

Variable used to indicate if a Nunchuck controller is connected.

-

Definition at line 242 of file Wii.h.

+

Definition at line 246 of file Wii.h.

@@ -1305,7 +1415,7 @@ Public Attributes

Variable used to indicate if a Nunchuck controller is connected.

-

Definition at line 244 of file Wii.h.

+

Definition at line 248 of file Wii.h.

@@ -1320,112 +1430,97 @@ Public Attributes

Variable used to indicate if a Wii U Pro controller is connected.

-

Definition at line 246 of file Wii.h.

+

Definition at line 250 of file Wii.h.

- +
- - -
double WII::wiimotePitch
-
-

Pitch and roll calculated from the accelerometer inside the Wiimote.

- -

Definition at line 253 of file Wii.h.

- -
-
- -
-
- - - - -
double WII::wiimoteRoll
-
-

Pitch and roll calculated from the accelerometer inside the Wiimote.

- -

Definition at line 254 of file Wii.h.

- -
-
- -
-
- - - - -
double WII::nunchuckPitch
-
-

Pitch and roll calculated from the accelerometer inside the Nunchuck.

- -

Definition at line 259 of file Wii.h.

- -
-
- -
-
- - - - -
double WII::nunchuckRoll
-
-

Pitch and roll calculated from the accelerometer inside the Nunchuck.

- -

Definition at line 260 of file Wii.h.

- -
-
- -
-
- - - +
int16_t WII::accXint16_t WII::accXwiimote

Accelerometer values used to calculate pitch and roll.

-

Definition at line 265 of file Wii.h.

+

Definition at line 272 of file Wii.h.

- +
- +
int16_t WII::accYint16_t WII::accYwiimote

Accelerometer values used to calculate pitch and roll.

-

Definition at line 266 of file Wii.h.

+

Definition at line 272 of file Wii.h.

- +
- +
int16_t WII::accZint16_t WII::accZwiimote

Accelerometer values used to calculate pitch and roll.

-

Definition at line 267 of file Wii.h.

+

Definition at line 272 of file Wii.h.

+ +
+
+ +
+
+ + + + +
int16_t WII::accXnunchuck
+
+

Accelerometer values used to calculate pitch and roll.

+ +

Definition at line 278 of file Wii.h.

+ +
+
+ +
+
+ + + + +
int16_t WII::accYnunchuck
+
+

Accelerometer values used to calculate pitch and roll.

+ +

Definition at line 278 of file Wii.h.

+ +
+
+ +
+
+ + + + +
int16_t WII::accZnunchuck
+
+

Accelerometer values used to calculate pitch and roll.

+ +

Definition at line 278 of file Wii.h.

@@ -1440,7 +1535,7 @@ Public Attributes

This is the pitch calculated by the gyro - use this to tune WII::pitchGyroScale.

-

Definition at line 272 of file Wii.h.

+

Definition at line 283 of file Wii.h.

@@ -1455,7 +1550,7 @@ Public Attributes

This is the roll calculated by the gyro - use this to tune WII::rollGyroScale.

-

Definition at line 274 of file Wii.h.

+

Definition at line 285 of file Wii.h.

@@ -1470,7 +1565,7 @@ Public Attributes

This is the yaw calculated by the gyro - use this to tune WII::yawGyroScale.

-

Definition at line 276 of file Wii.h.

+

Definition at line 287 of file Wii.h.

@@ -1485,7 +1580,7 @@ Public Attributes

The speed in deg/s from the gyro.

-

Definition at line 280 of file Wii.h.

+

Definition at line 291 of file Wii.h.

@@ -1500,7 +1595,7 @@ Public Attributes

The speed in deg/s from the gyro.

-

Definition at line 281 of file Wii.h.

+

Definition at line 292 of file Wii.h.

@@ -1515,7 +1610,7 @@ Public Attributes

The speed in deg/s from the gyro.

-

Definition at line 282 of file Wii.h.

+

Definition at line 293 of file Wii.h.

@@ -1530,7 +1625,7 @@ Public Attributes

You might need to fine-tune these values.

-

Definition at line 287 of file Wii.h.

+

Definition at line 298 of file Wii.h.

@@ -1545,7 +1640,7 @@ Public Attributes

You might need to fine-tune these values.

-

Definition at line 288 of file Wii.h.

+

Definition at line 299 of file Wii.h.

@@ -1560,7 +1655,7 @@ Public Attributes

You might need to fine-tune these values.

-

Definition at line 289 of file Wii.h.

+

Definition at line 300 of file Wii.h.

@@ -1575,7 +1670,7 @@ Public Attributes

Raw value read directly from the Motion Plus.

-

Definition at line 294 of file Wii.h.

+

Definition at line 305 of file Wii.h.

@@ -1590,7 +1685,7 @@ Public Attributes

Raw value read directly from the Motion Plus.

-

Definition at line 295 of file Wii.h.

+

Definition at line 306 of file Wii.h.

@@ -1605,7 +1700,7 @@ Public Attributes

Raw value read directly from the Motion Plus.

-

Definition at line 296 of file Wii.h.

+

Definition at line 307 of file Wii.h.

@@ -1620,7 +1715,7 @@ Public Attributes

These values are set when the controller is first initialized.

-

Definition at line 301 of file Wii.h.

+

Definition at line 312 of file Wii.h.

@@ -1635,7 +1730,7 @@ Public Attributes

These values are set when the controller is first initialized.

-

Definition at line 302 of file Wii.h.

+

Definition at line 313 of file Wii.h.

@@ -1650,7 +1745,7 @@ Public Attributes

These values are set when the controller is first initialized.

-

Definition at line 303 of file Wii.h.

+

Definition at line 314 of file Wii.h.

@@ -1663,7 +1758,7 @@ Public Attributes diff --git a/class_w_i_i__coll__graph.map b/class_w_i_i__coll__graph.map index 49dcaad8..7b8cecdd 100644 --- a/class_w_i_i__coll__graph.map +++ b/class_w_i_i__coll__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_w_i_i__coll__graph.md5 b/class_w_i_i__coll__graph.md5 index 93d014fe..082665f3 100644 --- a/class_w_i_i__coll__graph.md5 +++ b/class_w_i_i__coll__graph.md5 @@ -1 +1 @@ -aac689395f3658224dbe50142af54043 \ No newline at end of file +274c2668d752a02d95ef3bcfd0e20596 \ No newline at end of file diff --git a/class_w_i_i__coll__graph.png b/class_w_i_i__coll__graph.png index 22cdd5fd8269e8957433c9e717de66d48d0afc57..420001d20810421befd1fd8d23b14a92bbc311bc 100644 GIT binary patch literal 3425 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 literal 1889 zcmbW2c{tnY7RP_J3sr5^zLp_HQA?{xZ6UU5i*_uDy{J}0sjZd{Ln}&aP+ROn#9+vy>p-W`=0Z>?|Gi{{_{Sc^F8OJU3Y{X2T6kf061=I z19jp=1n1lq;Nsk6M$s;uz~^fZg91l?c^Mv)4FLS&wor4IXfzFtv~fnr5);W3xZUaF z`ah%64y0_m(Y0e>)GfUvn_#OKm8K0{!U~&KuE>q&+7+Qc<-ATx8WJ*iq?%ikttpg( zF+F_*fru}JS?U>#qdo4=JS>&CbpH~hrhocm2`lCyi8&qKu|vRrmB&WG-s=d9sw#EM zd6!t=%9K1mi)sf!*-7K;2GSV>0-}B7yoe8L?96C??Mt<_sC6y-a0LC>>X!Hd(@kThVWF3&glfQJrc>N z^CRB7=n)*eR-hLc8yjmPPZFaQajdYgI%F=w2=A%=Sf4zWo6~$FLeQh(>og85s{37nLlVNXAU9 zQ_XHWv@3luV4cBW(CMCazPy3zlEPf?KYtblrr*VTsAk{x_eUE?(HHx(#jGf857##) z8$P}~Zyd4mqSG6!p|OB6Di#6Ij$g5e_WJtz2qT22=S**g3=9Udx3?!xP1QFv$cgZe z`#3sgj;~W%!!g#CHCU{?g2HT_-xI>T01sC{!`^U}y>7ukKm${6ad8m}gOOVE@Q-%n zO`=5s7xl4s@%w<8qUg^SN~u14{QPdl{r&x7R#L)zs0v_?^_9da8_#2J9k8f?s@UY^ zoe#MhlUSgvzW%}1+E`UpmHt&ErR`? z3ei5F@Y5|}mDSa$6~D3BahMT7z`gd1ziw_$&Qs`Fz%YTmyYw+{fl3wEbp0ccR6?av zySlnYFxS*nRD$%S>s;fg-GbPBG#USXdZ*u*Mk!0)Z+jEA@1BccohRI*t)4akw~(!2vNq7zi0^)I6Z;)B)usZ+)9FKinG!! z%0rpdo{c8x*<%2z!q?Zgg^zuf?5&%YmewbNd0YXeV+-cBZ2E8_$C*i~(dL%_Za&2l z7`YkwJWd3Vlu6G-fj}wceF|-Od^~G;kX=|h!)T+>Iebb<5=?I$BlY_sSK;;D8rd1p z!xi8~QPIaAS=kcL#Ll=OXW~j;C^nKwLMdF+VavqbKWQ?oxlRv2Qg)M5Qf;~+!0NUS zXFVxb(gvRPj2`SGLy5=o)jSW`tPC6IvG=>teZld1S2BH8ih%^}PDKQQVmC62c=n8^ zu<)=`MsPVfueUeKtAnql!bZiPD24Q8KAuC{D!4B@<7u;$wEjC*Gm9}fd> zW_Vq`XidI{=$QIJ*L&N^gZwE&Q`Vxq?DsW;mnNpVbC9^3V|TYxv`Vk9kVi0yiF;Jy zsWe_p-n`Fjx&%XQ8mcKwFo_u!-?Nc5#E*`?RjL92!uw=?L$zo_{L`Ke_6{#WXT#xy zj9v^vUh0=$4u8WoEjTje*sQ!g!G8eeOt-&h(?7ZY-|4Fp32Fm3+}u_p+XI`CmX?-@ zM_vsRH{OgBi9`~;EU0ULZ)}11Jg^uF&Jo~gU{}+>%@gJ!Svp?Y8(cCO85#4m$ly<< zrV87$6Io2&|NW_Rb?N)odP0W+Fc1(9gYg5SlI1?WqFDNMJL)XW>u`)I`p5*mccCfXzjlSmp?sdDttm497yW>AB aSPJoT;~uEyI2F#$1Z=Gwp;!y=q<;apC8ieu diff --git a/class_w_i_i__inherit__graph.map b/class_w_i_i__inherit__graph.map index 49dcaad8..7b8cecdd 100644 --- a/class_w_i_i__inherit__graph.map +++ b/class_w_i_i__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_w_i_i__inherit__graph.md5 b/class_w_i_i__inherit__graph.md5 index 93d014fe..082665f3 100644 --- a/class_w_i_i__inherit__graph.md5 +++ b/class_w_i_i__inherit__graph.md5 @@ -1 +1 @@ -aac689395f3658224dbe50142af54043 \ No newline at end of file +274c2668d752a02d95ef3bcfd0e20596 \ No newline at end of file diff --git a/class_w_i_i__inherit__graph.png b/class_w_i_i__inherit__graph.png index 22cdd5fd8269e8957433c9e717de66d48d0afc57..420001d20810421befd1fd8d23b14a92bbc311bc 100644 GIT binary patch literal 3425 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 literal 1889 zcmbW2c{tnY7RP_J3sr5^zLp_HQA?{xZ6UU5i*_uDy{J}0sjZd{Ln}&aP+ROn#9+vy>p-W`=0Z>?|Gi{{_{Sc^F8OJU3Y{X2T6kf061=I z19jp=1n1lq;Nsk6M$s;uz~^fZg91l?c^Mv)4FLS&wor4IXfzFtv~fnr5);W3xZUaF z`ah%64y0_m(Y0e>)GfUvn_#OKm8K0{!U~&KuE>q&+7+Qc<-ATx8WJ*iq?%ikttpg( zF+F_*fru}JS?U>#qdo4=JS>&CbpH~hrhocm2`lCyi8&qKu|vRrmB&WG-s=d9sw#EM zd6!t=%9K1mi)sf!*-7K;2GSV>0-}B7yoe8L?96C??Mt<_sC6y-a0LC>>X!Hd(@kThVWF3&glfQJrc>N z^CRB7=n)*eR-hLc8yjmPPZFaQajdYgI%F=w2=A%=Sf4zWo6~$FLeQh(>og85s{37nLlVNXAU9 zQ_XHWv@3luV4cBW(CMCazPy3zlEPf?KYtblrr*VTsAk{x_eUE?(HHx(#jGf857##) z8$P}~Zyd4mqSG6!p|OB6Di#6Ij$g5e_WJtz2qT22=S**g3=9Udx3?!xP1QFv$cgZe z`#3sgj;~W%!!g#CHCU{?g2HT_-xI>T01sC{!`^U}y>7ukKm${6ad8m}gOOVE@Q-%n zO`=5s7xl4s@%w<8qUg^SN~u14{QPdl{r&x7R#L)zs0v_?^_9da8_#2J9k8f?s@UY^ zoe#MhlUSgvzW%}1+E`UpmHt&ErR`? z3ei5F@Y5|}mDSa$6~D3BahMT7z`gd1ziw_$&Qs`Fz%YTmyYw+{fl3wEbp0ccR6?av zySlnYFxS*nRD$%S>s;fg-GbPBG#USXdZ*u*Mk!0)Z+jEA@1BccohRI*t)4akw~(!2vNq7zi0^)I6Z;)B)usZ+)9FKinG!! z%0rpdo{c8x*<%2z!q?Zgg^zuf?5&%YmewbNd0YXeV+-cBZ2E8_$C*i~(dL%_Za&2l z7`YkwJWd3Vlu6G-fj}wceF|-Od^~G;kX=|h!)T+>Iebb<5=?I$BlY_sSK;;D8rd1p z!xi8~QPIaAS=kcL#Ll=OXW~j;C^nKwLMdF+VavqbKWQ?oxlRv2Qg)M5Qf;~+!0NUS zXFVxb(gvRPj2`SGLy5=o)jSW`tPC6IvG=>teZld1S2BH8ih%^}PDKQQVmC62c=n8^ zu<)=`MsPVfueUeKtAnql!bZiPD24Q8KAuC{D!4B@<7u;$wEjC*Gm9}fd> zW_Vq`XidI{=$QIJ*L&N^gZwE&Q`Vxq?DsW;mnNpVbC9^3V|TYxv`Vk9kVi0yiF;Jy zsWe_p-n`Fjx&%XQ8mcKwFo_u!-?Nc5#E*`?RjL92!uw=?L$zo_{L`Ke_6{#WXT#xy zj9v^vUh0=$4u8WoEjTje*sQ!g!G8eeOt-&h(?7ZY-|4Fp32Fm3+}u_p+XI`CmX?-@ zM_vsRH{OgBi9`~;EU0ULZ)}11Jg^uF&Jo~gU{}+>%@gJ!Svp?Y8(cCO85#4m$ly<< zrV87$6Io2&|NW_Rb?N)odP0W+Fc1(9gYg5SlI1?WqFDNMJL)XW>u`)I`p5*mccCfXzjlSmp?sdDttm497yW>AB aSPJoT;~uEyI2F#$1Z=Gwp;!y=q<;apC8ieu diff --git a/class_x_b_o_x_o_l_d-members.html b/class_x_b_o_x_o_l_d-members.html index 2adb3bc3..b589503e 100644 --- a/class_x_b_o_x_o_l_d-members.html +++ b/class_x_b_o_x_o_l_d-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -115,7 +115,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_x_b_o_x_o_l_d.html b/class_x_b_o_x_o_l_d.html index 89142cc2..b4d6be03 100644 --- a/class_x_b_o_x_o_l_d.html +++ b/class_x_b_o_x_o_l_d.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXOLD Class Reference @@ -31,7 +31,7 @@ - + @@ -99,14 +99,14 @@ Inheritance diagram for XBOXOLD:
Inheritance graph
- +
[legend]
Collaboration diagram for XBOXOLD:
Collaboration graph
- +
[legend]

Detailed Description

This class implements support for a the original Xbox controller via USB.

-

Definition at line 58 of file XBOXOLD.h.

+

Definition at line 52 of file XBOXOLD.h.

Constructor & Destructor Documentation

@@ -174,7 +174,7 @@ Protected Attributes
- +

@@ -164,7 +164,7 @@ Protected Attributes

XBOXOLD::XBOXOLD ( USBpUsb)pUsb)
@@ -256,7 +256,7 @@ Protected Attributes uint8_t XBOXOLD::Release ( - ) + ) @@ -285,7 +285,7 @@ Protected Attributes uint8_t XBOXOLD::Poll ( - ) + ) @@ -314,7 +314,7 @@ Protected Attributes virtual uint8_t XBOXOLD::GetAddress ( - ) + ) @@ -329,7 +329,7 @@ Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 90 of file XBOXOLD.h.

+

Definition at line 84 of file XBOXOLD.h.

@@ -343,7 +343,7 @@ Protected Attributes virtual bool XBOXOLD::isReady ( - ) + ) @@ -356,7 +356,7 @@ Protected Attributes

Used to check if the controller has been initialized.

Returns
True if it's ready.
-

Definition at line 98 of file XBOXOLD.h.

+

Definition at line 92 of file XBOXOLD.h.

@@ -403,7 +403,7 @@ Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 108 of file XBOXOLD.h.

+

Definition at line 102 of file XBOXOLD.h.

@@ -415,7 +415,7 @@ Protected Attributes uint8_t XBOXOLD::getButtonPress ( Button  - b) + b) @@ -443,7 +443,7 @@ Protected Attributes bool XBOXOLD::getButtonClick ( Button  - b) + b) @@ -471,7 +471,7 @@ Protected Attributes int16_t XBOXOLD::getAnalogHat ( AnalogHat  - a) + a) @@ -485,7 +485,7 @@ Protected Attributes
Returns
Returns a signed 16-bit integer.
-

Definition at line 313 of file XBOXOLD.cpp.

+

Definition at line 315 of file XBOXOLD.cpp.

@@ -499,7 +499,7 @@ Protected Attributes void XBOXOLD::setRumbleOff ( - ) + ) @@ -511,7 +511,7 @@ Protected Attributes

Turn rumble off the controller.

-

Definition at line 138 of file XBOXOLD.h.

+

Definition at line 132 of file XBOXOLD.h.

@@ -547,7 +547,7 @@ Protected Attributes -

Definition at line 323 of file XBOXOLD.cpp.

+

Definition at line 325 of file XBOXOLD.cpp.

@@ -562,7 +562,7 @@ Protected Attributes void XBOXOLD::attachOnInit ( void(*)(void)  - funcOnInit) + funcOnInit) @@ -580,7 +580,7 @@ Protected Attributes -

Definition at line 152 of file XBOXOLD.h.

+

Definition at line 146 of file XBOXOLD.h.

@@ -596,7 +596,7 @@ Protected Attributes

True if a Xbox controller is connected.

-

Definition at line 154 of file XBOXOLD.h.

+

Definition at line 148 of file XBOXOLD.h.

@@ -619,7 +619,7 @@ Protected Attributes

Pointer to USB class instance.

-

Definition at line 162 of file XBOXOLD.h.

+

Definition at line 156 of file XBOXOLD.h.

@@ -642,7 +642,7 @@ Protected Attributes

Device address.

-

Definition at line 164 of file XBOXOLD.h.

+

Definition at line 158 of file XBOXOLD.h.

@@ -665,7 +665,7 @@ Protected Attributes

Endpoint info structure.

-

Definition at line 166 of file XBOXOLD.h.

+

Definition at line 160 of file XBOXOLD.h.

@@ -678,7 +678,7 @@ Protected Attributes diff --git a/class_x_b_o_x_o_l_d__coll__graph.map b/class_x_b_o_x_o_l_d__coll__graph.map index a24f6984..e480dcd2 100644 --- a/class_x_b_o_x_o_l_d__coll__graph.map +++ b/class_x_b_o_x_o_l_d__coll__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/class_x_b_o_x_o_l_d__coll__graph.md5 b/class_x_b_o_x_o_l_d__coll__graph.md5 index b8b14a57..080b0529 100644 --- a/class_x_b_o_x_o_l_d__coll__graph.md5 +++ b/class_x_b_o_x_o_l_d__coll__graph.md5 @@ -1 +1 @@ -45b01da4c09a4bb80a2697ea5be39c30 \ No newline at end of file +c19d30d5e649c9f2f16f4d7e601bbf7f \ No newline at end of file diff --git a/class_x_b_o_x_o_l_d__coll__graph.png b/class_x_b_o_x_o_l_d__coll__graph.png index 431349c3b88a4b9460de3658c307333bb5d1e075..fa7f51fb5f1aa72eb9b62767cc6d0a30ae282db1 100644 GIT binary patch literal 12869 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 - + diff --git a/class_x_b_o_x_o_l_d__inherit__graph.md5 b/class_x_b_o_x_o_l_d__inherit__graph.md5 index 194af677..037a1214 100644 --- a/class_x_b_o_x_o_l_d__inherit__graph.md5 +++ b/class_x_b_o_x_o_l_d__inherit__graph.md5 @@ -1 +1 @@ -03d0e57a1b69125b9ff4a08c22d676c3 \ No newline at end of file +98da7f9bfeb2fdd99a2d7ac6d8b06832 \ No newline at end of file diff --git a/class_x_b_o_x_o_l_d__inherit__graph.png b/class_x_b_o_x_o_l_d__inherit__graph.png index 3cb342faa4ed17468d8b642ae105049d24b8f87e..f5ff412b554965d51ef81a7eb77e06eabd6c6710 100644 GIT binary patch literal 4582 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 U#6pH6aDD?)Q`SPSS0JF&Bp@2LJ$ECU65w z&^m(ueYR6zuchWY3mO)TnXv(I@>lz{wKN?7*gl&W=psXMH*=%mR`wDd!$Dc?%9Jz) zQJIB`zj$`c(*NRXc>^D5<-_|dWF#!~!SPwQVtA&!e29WB@7D~-WbKP)EpvKpPjBwW z)hpxu4E8|Pp=MVv#lUwnhrL{OSGBey@g`C6-;@kKC%&k zQP`U_;JgrNwo`nN$1W%O(tN~*hO~?)IUO{=%jl-JjC7376ARhrQ&Uq53y#Ws{%1aX z_|VeQ5+zLW3<7{2OwHzraE;Bz0%TX0_n9Qy-?3u+WA3&^$fd#)H|-j|Ql35q08=xw z^t80v+FH;(PcyWO=GTngA|;ko11lYbq;M2 zoxYl~va2)yd7yIna`o)&EDnb|K8|9E^*!A4B%)efhcA>^hHlSk0Ugc$D^ngp9v*M< z^Bqh~l1fXV_}*k3?(P%D&dymjh?A2O@MwA(1$6Y{CFEf+At51kF&x=hR9LvfHO^USFc``mX7OPEGaIQhCmM^StM#C4SACT3Q6Q zoR=@B>)rSPpj+t>uA1|MLAR26_4+lu#L|t3a&T|}I;d2sc)gwdeOBOh8BSqrefPYY z7X;w#{79V@toL6*5D>kKJ2EmdP3Wq|#{I{qSrPf#;(UCCztJJ59+RER%gfUSXu?=9 z<%LLldxB+IZhro7UmqI>M?aZ-Hpw91`saaxf%*CTPR9{?0H|51gAGa@Gc)tt+#H!q z-b9SZSGXg=s7>~#67kB5;z$2~rrCO8| zJCJo*BSX4#UYsZFk^=_aY@k&0761u zkWC%^{Jw6^H0~jygh~Aa1L5J}lUfzq493wJ;B9a<_6hdDLbbQg-> z_XaxBq3s)#ZfOmIcaw$0_&5V=)UEV%8nheewnfF5OF|U}WA|zn)V(s`Eeb;N6p_eo zdq`kF#K`(e(q{Yd_wR?>`b*1oaqrl|j+(NJig;&KME6$DX5Wj~^7`pP)Es!{8UyTX zFE!oV>pjwRi){sm;RV7zBRjhl-@g5!Tl=-9R{?TObq^y34t| zUR%)sFfmcuhgi~B+Sm2s=7TV?$NVqb|K%pg;QxQP3w7)ylL`;GPLQung^vS(c65$B z%vDJ^LVKQ$8S&l}e@1pzgdd+5=x5=$AG^MmMRxw!FiGEDPBN67o}NZOYkz10huhp| zPR_Uy`EO|em$i^ax|OFBjaxkEjAc!t#Zjr$L}HDUl+;0lHUYs3$Y%6ou`G3z_ulhu zi@o?pB9U@V4n*VDRs#>%u>d_iJ-nqMKfdq&INX;LFm-fvba7e!RB2~F%DYe~pV<9H zGveTO_2lHIPhgEen46at7lQ~^%D#!ofDuvlR#yJYgV|$aWBc3l1J23`QvCe<+)Sv- zAQu-Gy1;dUqN3tok_GitT-+mADe03WX>M-*_{ME(>sJ%*pc4-O#tLhlb0_khaSIFz z`Wo_nWMl-a87nkeYuIjoLEqO$G}lh0!S3##uU*R^J4bzIkOjGzs@7w>y1K9l3BlWQ zw~mlyNXxSN($WN@A|}Ad*tom9J4v63iK&NbyJr|B`j)StpkQ%vQPDlo3<6$P5IoN_ zGuuLTV&GcZ+Q;K%R#}Snmaq%};7<5$V!{wofh=zg-@h(kd*N+=b69w|?WIh4(NpMg zlVlRL@9z&RJIMxxJv{~>{*kaUB<#w0OdSPep^gs7A7M@`m5ND_nyhvRW?S9Z@Njou zqtlrHF^wQj;CGNpot>Q|5-BbYLj4%Xj4-#B&PwAwE_YHA_7Q`!5Q)s{hI)E2 zHka;3UK^o3YsQMy+@;R5+pvzrO8xUP_(zpCi?W|)XOD)LzqF|z;u_l9qdnKT({a_+ s+Z`Q`>NW$bx0gTjjDi6O$EO3yLoPj=;R?EnA( diff --git a/class_x_b_o_x_r_e_c_v-members.html b/class_x_b_o_x_r_e_c_v-members.html index 04630cb7..5e388365 100644 --- a/class_x_b_o_x_r_e_c_v-members.html +++ b/class_x_b_o_x_r_e_c_v-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_x_b_o_x_r_e_c_v.html b/class_x_b_o_x_r_e_c_v.html index 4c5eebab..cefc1dab 100644 --- a/class_x_b_o_x_r_e_c_v.html +++ b/class_x_b_o_x_r_e_c_v.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXRECV Class Reference @@ -31,7 +31,7 @@ - + @@ -99,14 +99,14 @@ Inheritance diagram for XBOXRECV:
Inheritance graph
- +
[legend]
Collaboration diagram for XBOXRECV:
Collaboration graph
- +
[legend]

This class implements support for a Xbox Wireless receiver.

Up to four controllers can connect to one receiver, if more is needed one can use a second receiver via the USBHub class.

-

Definition at line 64 of file XBOXRECV.h.

+

Definition at line 58 of file XBOXRECV.h.

Constructor & Destructor Documentation

@@ -193,7 +193,7 @@ Protected Attributes
- +

@@ -183,7 +183,7 @@ Protected Attributes

XBOXRECV::XBOXRECV ( USBpUsb)pUsb)
@@ -275,7 +275,7 @@ Protected Attributes uint8_t XBOXRECV::Release ( - ) + ) @@ -304,7 +304,7 @@ Protected Attributes uint8_t XBOXRECV::Poll ( - ) + ) @@ -333,7 +333,7 @@ Protected Attributes virtual uint8_t XBOXRECV::GetAddress ( - ) + ) @@ -348,7 +348,7 @@ Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 96 of file XBOXRECV.h.

+

Definition at line 90 of file XBOXRECV.h.

@@ -362,7 +362,7 @@ Protected Attributes virtual bool XBOXRECV::isReady ( - ) + ) @@ -375,7 +375,7 @@ Protected Attributes

Used to check if the controller has been initialized.

Returns
True if it's ready.
-

Definition at line 104 of file XBOXRECV.h.

+

Definition at line 98 of file XBOXRECV.h.

@@ -422,7 +422,7 @@ Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 114 of file XBOXRECV.h.

+

Definition at line 108 of file XBOXRECV.h.

@@ -552,7 +552,7 @@ Protected Attributes void XBOXRECV::setAllOff ( uint8_t  - controller = 0) + controller = 0) @@ -570,7 +570,7 @@ Protected Attributes -

Definition at line 149 of file XBOXRECV.h.

+

Definition at line 143 of file XBOXRECV.h.

@@ -585,7 +585,7 @@ Protected Attributes void XBOXRECV::setRumbleOff ( uint8_t  - controller = 0) + controller = 0) @@ -603,7 +603,7 @@ Protected Attributes -

Definition at line 158 of file XBOXRECV.h.

+

Definition at line 152 of file XBOXRECV.h.

@@ -697,7 +697,7 @@ Protected Attributes void XBOXRECV::setLedOff ( uint8_t  - controller = 0) + controller = 0) @@ -715,7 +715,7 @@ Protected Attributes -

Definition at line 181 of file XBOXRECV.h.

+

Definition at line 175 of file XBOXRECV.h.

@@ -835,7 +835,7 @@ Protected Attributes uint8_t XBOXRECV::getBatteryLevel ( uint8_t  - controller = 0) + controller = 0) @@ -861,7 +861,7 @@ Protected Attributes bool XBOXRECV::buttonChanged ( uint8_t  - controller = 0) + controller = 0) @@ -890,7 +890,7 @@ Protected Attributes void XBOXRECV::attachOnInit ( void(*)(void)  - funcOnInit) + funcOnInit) @@ -908,7 +908,7 @@ Protected Attributes -

Definition at line 219 of file XBOXRECV.h.

+

Definition at line 213 of file XBOXRECV.h.

@@ -924,7 +924,7 @@ Protected Attributes

True if a wireless receiver is connected.

-

Definition at line 221 of file XBOXRECV.h.

+

Definition at line 215 of file XBOXRECV.h.

@@ -939,7 +939,7 @@ Protected Attributes

Variable used to indicate if the XBOX 360 controller is successfully connected.

-

Definition at line 227 of file XBOXRECV.h.

+

Definition at line 221 of file XBOXRECV.h.

@@ -962,7 +962,7 @@ Protected Attributes

Pointer to USB class instance.

-

Definition at line 231 of file XBOXRECV.h.

+

Definition at line 225 of file XBOXRECV.h.

@@ -985,7 +985,7 @@ Protected Attributes

Device address.

-

Definition at line 233 of file XBOXRECV.h.

+

Definition at line 227 of file XBOXRECV.h.

@@ -1008,7 +1008,7 @@ Protected Attributes

Endpoint info structure.

-

Definition at line 235 of file XBOXRECV.h.

+

Definition at line 229 of file XBOXRECV.h.

@@ -1021,7 +1021,7 @@ Protected Attributes diff --git a/class_x_b_o_x_r_e_c_v__coll__graph.map b/class_x_b_o_x_r_e_c_v__coll__graph.map index ba264ef3..b6468080 100644 --- a/class_x_b_o_x_r_e_c_v__coll__graph.map +++ b/class_x_b_o_x_r_e_c_v__coll__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/class_x_b_o_x_r_e_c_v__coll__graph.md5 b/class_x_b_o_x_r_e_c_v__coll__graph.md5 index 8270235e..eca497ab 100644 --- a/class_x_b_o_x_r_e_c_v__coll__graph.md5 +++ b/class_x_b_o_x_r_e_c_v__coll__graph.md5 @@ -1 +1 @@ -a13e320cafc0a41be6fb6a5eb1c92936 \ No newline at end of file +ed9aab39c26cf617dcffaf5cd6075f83 \ No newline at end of file diff --git a/class_x_b_o_x_r_e_c_v__coll__graph.png b/class_x_b_o_x_r_e_c_v__coll__graph.png index beb03145163a704c5a2fff25db1ff2f00dc7360f..291ec01c9ca2dc4de1adaf9931a42fcfd4184c41 100644 GIT binary patch literal 13154 zcmeI3Ra+cQw6>7}28Uq52MGixxVyVsf;$9vcMrkc-5p-s3GNaC!8N$Mea-#@-`PIe zCtQ6&(^FMbwbrxNb9aQ2f+Q*u0TL7x6sok8m%N5i?m|jH7n4hanj}(hTQOKZ^H6dBo4IlVq@jb-MXJ5 zQ`fzb4sNgG9d5&TsHg^w{;#=gA_}+`Ae#5V zP>Kl+(~wbpAP2^XDg27T8!nsCgLAmtR3ZATTp*!*vGuF$ zYqKrw^WH>8qwx?Ltxn_TBu3q3vg!wurFv7f1~d859Kmi(A{?BeQ=jcY)N-9BS{!<< z>6T*BNiPm35&;Uq5aOc-oKq$KFhCr&80gWHb+AE_);}!<%ha$@g=!FH={O@qr}8u?;~Vb+>8dJ7_=qU^r|*?w~oRWoSS3el;R#t!b} zH(AaNZt8e@cl^#3hOGj&0zpEm>)||2w7Hsfj^Ar5Cb|b2F^^ii&(nW{tjp}bM;pmR zLq9G$^q3UY6&IO~rz(H#^lWlCY2DABOMU)vW!N8Ti9@HMwm&m7Ltt&DQ)l$6maO1* z)omUB!d|IdjmBoSP#VqfG&5H~wOG!9x=g;cC>Qu=5bIbaS#PG-aotcN z)lMe%(Wt?Hn+Od@z~+!h%*};7ZibQm8;+y6o{=P-k!9)>YqDM}etmhW;Hs;uyPg(B zpXmvJr2!rtEZ)d`hej&!eJ9`(7jRVgqDlC57^=my+j4*CwmHuzMvNrgp8S=>WBjJ% zu~4BIlUn=PZmq*a!JIM{Hirx%K%FB@*n%GfS^m$aVw?g45mc-ahDL00y3&f)^R3NU zI?a*P_ns_?PV*;=`DEqR^}*aw_)vNj%R}uTlh^I>Xh{(k+_P$hMwN<#-_r>v@EF30 zOzwoesT{k)FgvhE&oLphfj{QYpa%0Pp3ESyAwl3d1R^>-MCw=h%KHYLrq|&-Q;}yotEzSMD6^U4-<4{06uE(WPp(kj&Y-_cKLFDwA8M`GpzWJj`bQPrDau9Z| zp)9zaz(#wS{qeN9hk73U4)-rUFE@*$d1!)|CfkG2wB0pbk1|=*w+QJUM)`n=i$x5p z>u?RkkP4oj!)`{p|Ma&|$Tt4W-68~4tScvnVzb;RohHp3v$5ie%av4Tjy+BVmYDqG zR!HJ{`?ZYuN4_C%+@ijpZkkUJ0y-7fuPoE&`-@;wiBZqHQ~4^LCY55N5{0aPKoruP zF@%48*w0C%(_}2ys7gmN_Cv3WiTtxJ{xPY)X$Ohuz>I;Z^?*`u_C35r#|_xS1~?zg zD!03yByuB=qBVXne>ke?#>W4?RR1dggLz^DSTeOaaO~cKroQ?fk;KymmeqVIW*tRF z?IQLt$irB)BR1A+6`#V9Lh`5Do<;}~j>Z0D)?rwOP-+w|gUT|_u;ogNL$J4D_CnQH zJY_NZK>yeTae_Y5DCk-LG+ccAGy`{%n~>kv16Ycs9+G>H{hUP!bCuc+U{xp~gL9^f zVdBo`%P|>Nm@n$(Y7qu~z0{x*uFQ45cuBr^2|k!qg91J|?w)V7a;X0Pnan9j3eF90 zh*!DJ^{goq40#lVr(ZFhY+=3VADx49OT3V?c8yyNHZr@ivQErD_Vk zJ+pS6_aUQgazS(V&VQ{piAW!RIBh@sp!kV-D>2 z#Xu8K0}c+36O^lFd;3Yuo2=&OLOc*EoiiyYCx&x@0=-nc$ol*&;F3TkUn&(xKH%g{ zud8Wcj(|>52uzW-3el`c7eoWqR@ ziXSvkDa&8EtMHxyV1TTp0+lR=1Eh(0Q6PWZ)F$&H!UPH-VPH7QKx=(a2hxEGI*=#k z`*lt!fy_c9BqVX90;Q2Fq1$YmmF{H{_Bb>MKes!U<}s;SNE}%)8otXzj);jd@t%u} zM4*mlYn=*pcb*@Z^-@x@IQ?YpQphW`uj`$u44p`<_p# z&TJN|DGEnWx`}Zt2J-M%6@FMn|twiiI zwIApI`xm_UK`a?+j1014(n=KvQ-lp|AxTDd*DY?YK#GMWTcLTzjxbUu4=jAWw5aqK zT?+dn4U~i_5{`p!yj^oeL6*&{E=Gt=Y%n4U$+jdk-&DYrT6IqW6poN8m!n%%cXwwM z?Gcx#_vhEa$88m&1bDIb>Sj25DnLHpXNw(&0H>vMSytvKxaV}${IkGXleGEINO$sE z5h2{y<%-V2Mg_2#`08d2Xow)MLgOT_H^}^Ah(nOM&pwty(hLdBw>ES)R!Cu%2zqIX zW+FofX#)`^jireC*%=XetQ5^@cQhYi#4m#!VwNROs1V5jzUKwT`nuMqA}HKb3`B{g z#?8V%f&SeTke!_~2KpN;(Dz7SQ2%%H|H5hrg*&wt2OJMAdH%;t5go;t-OB9fa(XD=8}V}05oF`vxL1ESj;wZ~WX zxgip-A4qtN$69<7(q@yHWezA0aLn++!othILC*9HbyLXk*u&4ct;)@H*0Hyz%2|V* z8v23H+5sCL_3iQYj}POR@SEgZG>nVpU3L~%w0VHkM!SKrY+ot7E|3Or@PzS z&TLou|Gv-*2>fh%{VOm=x*IaMBRdA;A^37VCr}mC>~KdZIKP0CjW|5QtE=RQ33^w# ztUy@f>sM4k2IP1QaG)+RYvZc`mFpe~Y&Y|JX)9qNjB`w2a|*y{)B~{(dg}cq6hUbQ zAi@a%@_t0JN9I2uKyKi}Aex1ju(e}RD@+F?V*QWy1fnSg_Z~kA0bBTc)&#VL#-`WZ zX_3SBAf_3jW|>MzI){ynqQC>?yYSM@;jke9B<0vJ>?R<&3IU0!9EyUk#%1oRCmsVG*mf>>>goM_F@#M(aHxPQkzS!$GkbrrZ8`Ll*!k(!CZzYP zU8gwkMY3+Sc=Fe4h@Wzy^5LM7swCfd1lKb$YKdes1uv#uT|!d9B(a~P>_>T4i<5|Grzw_2{%Y)4W^^ zkw)$aIWJc07I3b)i@LDzpSc|Up4s{pMMFs`_5w8zhzW(8!-WDsh#k(XJOVMZU>HQa zgawTl#O(L>;^uj~WL_qp!O>{9E>Nyk77zQ-=7pY}C3n{S*42lVuqfmYXwOqK^8;r> zj_(jnS!F;mi|PA56e-`L3qC8|1m%lI%|z$GWH856Y4cX$M88h zD8lFIq*+41l@E}6_2q=wczpVMq{#)JB$Mg2MXY~UN-L-p*?<50Uo=oDWmMjuN?d9= z$(%;dK%a*KGf$2K9VO)AZyLfQivkN+(1^!Bi>1gXY~U1&u?7>1ghR{KLDSdYufA5( zc}p;nBdGst=52!^9jNyDJWC4;mGVTc*WX?j$q0DZrD^~P@GdZ*^}Btu9Ct@|?W=&R z$V^;%ErS(2P~?r3yH^G;H29(~1ew-P(-ia|CML#ZA?~g!@c6G_zRpOI0yvwYKsi(<^Vo;XROOe5}L#0*4?iSVuE_EUbJ{ z>u=ybk&KB-35&(h8z@KtUv}?4w>y=yj(zA3zC4)DgAG7o)NLzde7#xJA5Emys?Akd zU-vrW7pDS5kBXSV@1O7}A9KOyz*&d{O+zqJu`R?fJ`YSD{{k%Ma8b<b4DEb`lh0tJab9J^=NS^ZmJD7|)g|+|{;l z;47G6ZM_Ik|H0-^OzthX_Gs3FN#2hKC8OW07psX4F}c1`_lKctD$ne1BzqhbrKst9 zD+#(LxykgY$UF6ASOV*alu9L^{`o7ZwNXTTA>yLn$ zg-wiYonycV(~~C}_Q6{km5@UX1lu!XnP&rK;m_-J`+XroSc}tcP3;aSJlR|hX2m(Pb^N=!X#Daakb|R6pyw)rw zyyF<_Xec|rYl@w^a|Ll*&J?D{7uebM}#WUSxh4@aZ;h31tegF zW{YG?NSt>N!}u-(_Mqo5AX_csQMgFn17U-(ECCUgxNMZ+Aaq_(Fp@bPu6VzgctL+- zpcBDjE`P5%{0;6;@6NS7zKNlAzqd|L-hfnyg+*#o_v>Q?CMtm(29(aNQN+4Mef(_@LTn z;d93U*|F!jDyVt%pAK3O=9yf?m#Znk!;r)BQ+K^OA;PIpTiorUWBQSUp-IbluhY6c zP!c+fStwE|GKo&OFYz9(H!HvAwUS^hD~Xu}%f~M>lE&vfF+d$XCDFOL5%vfaafo}G zMu9&OsXZ3T)fX}_q5}~Y=-W78!}!*S&LxGc`v^gn6EIlVW+mD}QW#thc}4$a-(I!Wy2<18S?TQ5R#i&+-A%oB3?0;iAx3!&C$Xr zzTsJ<*uznpd4AF~mRAt`eU>)+MsxJS=s2`OfRfVBROklt9M*v6>KF0hlN#+nfc$qV zaydf(3F}+lO;qqcqp!P`VY=ZX6wz9nkm$^|K{$znkOI#`PYPT&%3iNf^br3h)~qDb z1(kmqf=!iN8p|lv;??iBZJQ_r;w}g{bK735A4OExz8Z_l`{Tz}e^)Ro%HGFO7}gJH znjH?guYKGVQ``ZHD7!OREzJA5s2g3UNQcp3xCAtZ(NEjGO${63F!f=CP$xeTkP5Oa z>{5v_iir`T1a(a=dfhc zsERJ+E3BzQEUCUARNUrF9z1LuM6bsT%bGyrg{r41P_NO`-46Q`-v84jjH`uo7KjL= z;X$xeRM8P4#`0ndVNDd#O`j;xtUYN-PkSUj#)yMx}DXh;ybn$V4F@y`CyFa9!O{piw3 z^vq0fp-ndjNVoh+ZHnnO*OT&}OZe5Jq_d6GB`2ZkGCnKVIbqMuu^Sc8&{D zu|@kt6Ldp}E@cjbUpxqSqY@(bZe6llDlej_mJU2jmh<%Xc($~I&P$sHlOscU3cBl) z@-Cuub^A$uX{`9_D<+q!@(qVn8fuFQHq!!XN$1>gN#2iWOJkK7t5amS5e1cZ#}+NmoGei5i_QK0(j+w>x$=gg~>;S1!6q zJGx06^<?)%vfzEsi!Pl-w5U{MWB_fj_W*QV;?m@JN&8FJ2)+HhBtNMqtZD-ZzlWm z2dsN)!{Tk~EduCq{DG;zTNA#ODHFyy3E6Saie4aQIh5|cosooy2}5=$=r>iXPLx>^ zXc}Q7aIWA#Rq78>#!dD$Rtg#w-yq2dV_(j(FhS#B1D1wWF*fSP{6fnq#Bi`nyHOPsy`4-w;#GzA7BVIOPb)j7%z^V%^=yBGWg?L~VB3Y^ouO++HZ-uXzMq4ZFDx( zqf(A?)1{wkCn$8vQWEJ5?CJRL>EJQqbNNyYME&R{R`asaiOS8GZTWf$pXYq6)5Yax zjZp??`6*PbGddwQAqBJ3hc}tT>ll{fj2!iZm6DS9*RR!G7d`wkmm`9XRT)&hMQ6K- zyc9dq=_Or3T=}czGu4kKbn$UKjFlg!-B-9U{Na6J844pC;4tH#z*!eh| zMcDkcJ(;yuV#T91eg#5_?81Ak=!+IN9Cz$0KRYLWCvQ4ZYH!cVZ#slYC)+W9>HOw` zB2n@KuddEFkvnk0TV6?m)m0W5PrBrr8P~q#2Na?)v>Rn2^z|maG+X+Hy*PVMM1vMW zZq-UBJEO_4zBO6^^==G7vHfOdM~Qj^B_h%`rty&L*6K$reWBw5@<;XmBsJ@$Q(m*B zOEl>ZWr%cF4%*{{Uj#JnyWRFob>?3nt8LiUsSaqnTWmA>RVJN>waf1An9 zxMHc51N)@(as*K4rLxhZHt)2ppVN9N#%h#1mg^6EU4%6xQyZVPjcnJ7l4^*H1c$OU z3Jaf7GLJGFoT-o|3~Saw{Y8+| z*l(6px}JFB)|6|4*CsaYPB5E#s4Y&X^t~UudOElsv?uYG=2PIII>>i9*|ig~3C{dr zr&{x^H!vnE6P!IlcKk2(|f6Q`AMn!}d zG<>aOr&wVTdy!9E&Bp1h?>YFNuGEw?OY)n)xpk`CD`PsSd! z8iEKKa>~rz=gz&fA>J{;%55lj{nyqSZ)c91H4Df#Lzgc9l%g~$|A;S?<7~%x3K*%8 zsTN;9fBIqj442vzTm%>-nY%U3&Kn{95gqW+iH=YpV7*4I@q)g^D7~PQ$1aw=trdPy zyzD&YoB!mpH_T$j@&l&9K*_bZ?vJ z#(Ud7JznRxZMRNF#T-8b`Cid~t;sBJ>*mRmlylN=j^52P)-auxTxj*=lOR0&Wg%!v z*VD87_qR(xvfb>P+IoiNl@r{kE@J|d?a3TpNTxTE-6*S|>oJQTrboGBvSQY9g5XDG z`rR~;5>h2$RF|(`;pxhM;J%=x!zV|y&nD(`)NC1kRt0~%_$0l|bn`g`)pL)3oz`UZ z6V(`3)XW)+BJmm+reFcK=znS^CMbRqUhp=5>|+HrmVdq|zh2xV&ifNI6fC0fOE8_3 zW)n2aUU_A%V@i+d3CP{7G05zG-B-A}bZ>y#!nmVK*Bhmyr%xhoNgX1r=Ka;A`+w{a!&OUe3G=Jyd8gx7(d)>B_TS zgfXTG70(!O{I$%!9iMKX^S1tK`H0M|T|LH)3#RarP41X%x7I5umLHl~>)a=z7}o9~ zS1M41w))bF5@L3zsGlC2fZE1^3sJWjoDniiH6}*GBs*g=I-u%4zdRlp1hy{b|8m#q^sLz(qld!=sQ`YDs?2n~ z)(X&mnR$MAIY=`v2Rb$ifZeP4wK7PTVmi za8&xN)E~yArix0Xa6C?WH69yU6#vx=DIa-Zh<_Xd9%!A#VK;C~OwtU4PxQ7jzEFKqH#lx($N|tOchrl(U zlakKsW?R4IMHi1=eo~b$Es#w<-R)8|CAM`R zE$d(H{?zvF2D$y4CQB*Y%{(ZU&#(Zj$;n>ZoOM2Y(R-o2gq*~}AKc!oW=$p|A9MgC zzkc*jyPMs+mzo50ue2{ZaioVwzDnt^EJLj zM@2zFf%uTN3xv%MXd`sbow%pJvc^o$3Dk-zYKdpXoM7&>uf2*fvdQDJW67vnlj_0C z|GmU7JTUm`s4gxn*P9|I(WpwKSpaOo-jw5RKG2^ny6+`mx57^PtQ-hfwUU4lxy7{i zY`Aj%r_T6rlR=~MBY*)!zc(kg(|HjNL=s*h&{F?7?N281d$|G-gJ8FJ`gDZUyDyQOB9Hc&Vc6U5oe8NOKQ^n2?a83Y|bwP`6dNP~8;>(DI90%dQnJdXt}+w zP!m8kSXG8tRQgyN5B`{Wy{YjlvwpTOe_lE(tfR`Sdy_#%L;DRF!K5y$ntt#7!7m;b zazD!TR@>bc2{>)PCnB0^)ft8G=+_zqBn$X>+Dv8hA9ko$Xb{YbO2m*}(vjvNHF1s>N81F+iXEyzi*lVztdhq8|9d&O`l)KLeBK z_;p#)(JAln-u!Y{{fhwf?D$e_cu)!0q%3)vKOq1;#8Ky~J$V;is&8wsm1R7>r>*<< zV}c9rM_D+GQ7Y}OHb#!yOiLiT?-+;zoaTmo8ak?D$qWmh3=mJEN2a*ThxSDjNJK5V zQD7Wkc~b>EE_c2VAny@N!Nah^cj1}`kRmKXfbYK;Ko0_#Sr8IV0UW|if6b9Xy3_OK zhcVGcTXuIp98;D72=$dI_WQ%-?gBa}xW0D?B%C&3RNcT$G{n5`Y=|lwhyCm{8Tizf z$%-6)|NL;Z2dN=K=JtS-cryK9LHI`;=;_|4ZiLZl*B4rG-AA~dt)18t>D0 zSRa1aHSU{W)bBdBp8}j|LKoMT9_o=9k~nyf-$oB~*bcATDck9ReQ!UI8quK}ogDpE zdeEM@TM2x_lD}BaQZ9UB*2HDdDI^*OTg>E#%*Jkrg|-H_d^7`$kaQLo40FH^xIS)} zx)eBFd}lf4J3O3l&=(=hn?m-?Z@Gqs^VLA(|BjLB@@@q%V*k8A5$k&?&Ph|Ij~Q^? z2q&-mJ~12&JOPIKB?k{bYJR{{85ZImn{KCP5&_5ee=OZQ@Gx}qSd?IB68l(V|K6i5 zd4%L0Q+?3h_)<9z(`)hXrXxxQKEBZ|90z4bu7L)Vk$iUR-*Ve=bi30hvqi}0-~s%) zX1n$3>R!tqE%uKr+W3o@0Laru@Ko6dH1e&AWRhm70A8rNp9~FwHA9{tCY^@*F-Gv! zqR_>~{=_1YqqA4RX0>*^nvt6BhqOio;6@A<1dVFzcY3aa*54NUR$5vf zGqGN}xP}W}jk6B269oqcTU353XKoNBg63;0sfLAJX}4SNB6#Xh`)2nV7t*a);`LXBKBp zNNdQDYmoqa+!$vZJCa2T>ajv~x3nPJ^AJIfIS$`*=%&&P+k^1Tlp#&Dsurt(n=TJ#To9NcW5z z#8B^%i@23F<4+=?bE1$OswC2vgBJHkfM8Gsed-MG$Kj~$M|zvC{MnB95$?LT_g(3$ z2gN8K6t@PacKoOr$GBt3jVGq*o-0+3vK&oB4K71C>zM2NGupp?&i&sZPZpqsUDl;N z7iIk_+G~y|c6O|TVY%K~otiJgp!Sqj+f4su*tK2QCg8(Fm^5<7a+ybJI8%)b)VZmaw%SzpMa6X3&3R?=hp##Yvu1@Xoq=ZAtPWt^VxBBHB?~+h!kP|m zbe>hTs;-1P)ivg?VCSC#sQ>*J+_ zVudWLq^&}2?%>Q>6i@3lE*6&f#U9flz`#>VW3jwL{2aZHd!eBWO$~_FLKrxt=|~(p znCjC>9Nf+Yd`xalFyHfezZxKJgej6R|J0kx(yq_6HDl!@xcrrnp#p>6ITz^FXB7|O zp0;;rwb`c7Bv42QU`Md0Czz7(K$THIbL0Pa^HnBH+XH{ibDi;!1(0Uv-#{|Fc~!_uT^njnm?K(=h@M-7fDmv#D&G zpGHK+$=(1P_v5P5>u$DOy#jnQ5&tQQ)-8j>#y!pvzRi9U21vIt05T{A_;c*D8yf%) zS?Ke0s|+}>M18xImLM^w_rP!g1rm~i!~-zeReVCb#JHm1OClN(S1wp~`(O=l-uHJu zbH1aMhXDef*Pq{24`y8UKY&o3uhAELJZWApRVk9WzMfN5b#`X+>)mB|J$`V;VW6Z8 zPHEoRSVb047RxKqtv5k@0UThpJP|mYM!z>-on~8NK+;U!Z)V$dzi`N>vq}GIb=VH2 z)pU2~5*HWeel{{Px~^2mSJs%{PBYKWd&gn{AJJl?Cm?wDT_SCE&S=g7>GKEMW3S)q z6=|FELA)>Ro2oy6Fw#KD=2MA5xVW_V&w=&P*a7%CrfFaW!Rdo;>pmsn!qioOrr@%W zc{fva78|AnDp+36`_Ys3t^mZ821XPzI}gN&_dY&bHju!So^DSp=ZfXo%*H>y?#y#K z-yEtx-u|^K1Cps)qlI!o?6i@d$1ct`5yJGJ+_b!oHk6OdLJUhYQxk7_I6e=%DQxcN z@4R-I1ET5a@2U(Pv%qcYZ1=$5HTsGG;KH#5VE`|CGi~P+QAPk0kQSlDj2FoTJo-pb z?x*i-9olL35V&ALDT91~VOA0kxP`MpI5411D*{+(wK^klaZfNh5|T*a& zEeG~eF~Z0jHUyHciqsQd8bJYdVh9vy&o1k3rGOMHv=-gNo-X~*Ze8Kx;^N)-EmHT_ zf(*rwmH;#?9cco0v@gmfbie_Ok0i1!v%A%gv#HUs= z7;mk2513rteCzq;Ze5)OkbfLkDU=?D&g)ACui%^5`yEZhc;FhG>U7WjR2J{07~uwxn$!n~Bot5# zATd}5Fw6-^^d3N$oQDZT?^3@8lZKlBMb$geTZBpG18~ywrG&*$LSq3voFVS+|6CmV zTv8R!?RpjAY)}Lk<@9?R{Sl;ZkCzSr1RG6xGDon6Xo(s2hIE_-+(^#Vs4STX7wBam zhM95M+iix+HTZ=9yw4?ZF18{mG|qEZmyq}aij6pxnR!HIYDEc%_Jos*3qx0=C8|pw`2B;DOm)O0PFm=(Sg4x-AuO94qDpTkL*kJU< zHNQ6>ey(1>Sgbwfcc$w66IoS5PY#?U_bE33O(Zc5OF%%75^0f66-WnRYGcM zi9O@*yw~+!?|c3~v;FKmQ}@jGzUMRH+L}tlgmi=u1QDw!E9inx6nK3izy|M$ZSD5p z1J6oLNddzAd*ppCO@ttNZ50JseebND#aGWMj27@${1R$#W$!b?VT!lEndvjDRz0c? zwvUf^V(_FPn5tnOzp;8p?+2Haq8kU5#SH~FSuR~BBLz2(2ovMVC$k#CH3V}@q?08y z+A0L;L|NN?_{su;r$d+NSz_r!T?+SaGZUz2!+0RsqF{7H+|2nW4(I#@S%^NpP!Gt@lQYkyGiHMqScF;UOSiTk=VH+T87 z-zmh*&wubOoC4CeuwbI3{Pz1W=)Y20r7;X* z*if^}vghBAxw*LoGqHT^h{bn3R@o9>yT{u|C@vu(Av1Gfex4ADWs(^g9F*`se3AucX12M34UNEWS>?@_zY zAr#!b>bTVIGnyj>X`7kt{QQ{&N>4~2r=XCZCFCL;c+)4yj=B=t>GQ^n15OuRz=xc!|wcO*Rj z?4O*(L`LES-=gM;x+`&Vu-->PLehEtcN+{8HV%%So*uHw^fwry`1o3n%?Uxf5q~fs z+}zxwxiZuQH-fIuOO;tBCMVUDm1pa0B3oK~E^vLky(^!$=#Imc$dZuG4KKRhjmlvB zk=172=IiV0r#lNGFTOyKvZkhan`hPMf9VQjX!kx?tEu6Wk&%&?mse6!5)x`OYxBhV zQm$8e<{xNfW##0w6GluAF|)FkIH^Io+<}@U#l@k`QGR?LSHV;J+xV?7+YY?jXJ!mF zG&EX9jfpUlDMd`IIN}|gR3Nn%N4ArSFUx(ufug!ck!18iUEBP&fUJ+=_Z!Eg-@o_t zgl>>qAN=g60Cg9@Mf~_AvbfG+5 zj`DI+7?09_F4o&IRg`IC1&>m*vMsZxa0YvHl%#asRS%9e7L1 zn#{|G_d?Z8P3I%o{ynKh4cg}6URQr}kB_Y(Nl8CTf< zc6N4e-W;Av4O-Q9V6HDdefo5Ec9xcwM!MITmBqlCC}um9282Mh@m&NA~C_^9+)zxG^8Q#~UiQWBC5&_#1|#`j&b^>(C@J#-?@&pka)YG3w2%#R;W&CJY z^WyjK-{E-De6BRWzKJEiN*5+hs+oz7j3PF0k@)tCC&|^AcDDd*2 z51*6~L>2uWuC7pUz{N@9G6(1@KR^GO`7I)%B+u{(RI+MuL=bhj0wrNjS66<1{ylMV zaS;&_c6I^?xK>V1PV)|bG3)PS;r)G4w28o@W@f&2c9stKd-QgDCg7ll`qisfl8mF% z(~ZC*7Z*Pi7WM=l;@7WVz(8(pZfiy+#>Tk#`0IyV7qx{21@|937#R`GlMK(&>+9=lFnM&j^;=JZi;Han1EsJ1+}vtI zLlxcK>%zlTJUl#XZEYPLA3;NzA};H_(Km12+}zxBDy1R}O;1m!VAHHDFCU+oDbXzl zMFj>1f*ykZ!69~`kakBTux3-K^HqBmqOb!RfGNgzz!O@(g9FjVSc2u`nSzWDt1MDl|6(Q3*iA3TauiPC4%2q9Ys-Uo< z*VESrGIj=BcwS$ggBhuo$`c(CF)==_V`PM!p0?qm0ajhZ)W^le8Ndx++1sn=#z^}T;Vmx+nVM^Yxd;AAc%5+-T?*&0jlTlw-%rx_6u5mRbZjaX2rW;S^MQRc9- zy}kW~vW?Bd+)>QN2P^E5yn=$YfKl}MWlBm4iN)OP?DzG9`Hs5U+Jo-FR=0J$$R18^ z?qf9iue~KGBVm@cZu8Q=wS&K>y}ez$J|=s-pQWMEb~pq41hXWzqfXF|7#SFCEw*gM zM?)Taw6|Ud%bM^0G>fOj%+zkxh%??p>Q_ zRv*RFZ$!W<9!|jv2i~-WH(C^Wp*gP!o{7~yGeKCqhF1_qMbQxx(HR(ox?9|M-}UU1 zt0nUH`r2BZ{dhrd@6%UoMa?HKQyy_|c&$^d$23d=BZq~BsY)39EBUIVOa67%w9mX3 z-Z!E00W@lW^mXUcJ^y9x{^S(*v>_+SoH*4UsK&VdDYv=gtF>=huxhm&#>?l|eAUkv z^oJ#e!!}H$i%zB&7IYrkh&?C6GPCGm3%F4dSMo4@9#K*fg&Hi?E!Piu!a_#CYcXVe z;ZN}n>?iW_gWtkUMYC8B9?;-X65@8(&IQfp6GOi@ovZ* zyrwAN^8J`+aCBrn-Tle^o(0QF_r!F=RF~$66WWO%DqTSTGYN@b7>iMw!6Rj>eaB^`tk;Dqkze z>2xVJ#hsomm>tra_q;TAKDh6d_4U`SE?$HJrLcZe#D~3h`dgtdu39?oN8YnAH_$Jm z7x8UJP(2_INlEFQt;L}-O=3twJ#MdBkHi#>v4?i{W1>t=NJ&zPdAxNFYHllxU3(*z zQf;^Ls=oVvPc?$lr2MA7h3Agh>xcL86Y1&Xv$F9v*DxiRtvqwqzt%sXYEW!U2L*5WU zC@3m-E%AD4p8bUllEQ#|)G(Mo~xAg@OB!%ZM|)Dg6KDKQKIT{ zoe1IF2G!lEn;8pN7do|4aN@fMQ8Nv}rVZq7cQ!iL-CpURlme@QM*Vxt?7D)Pr=|*)7J}1(@89N>&IA)cPc$+G_9tV5lAr7< z`}^Yt!(gxG=jl8>@3eXGe(7}F+>u&ETD+f_d~w~G2=Bd@MVGc!&iV@W3_ z^{NqW&8dC`0)C|10i#T_C{Op=gHn^Xb{)>PTly~WF=}Z@}^}kD+Oj3`R8R>#RzlB zTuLMSNYP>VkG%Ym)8m^Qc~b7p_|h*{o-Eeeb^kpn9!;mn&NP+t5Mz?dxAdLyI3R`W z)62p!ES!~E6mT>-TzXMb+vh8xlqdqqLm-kf=)~QNHh;8S2ny!jHY4dT+a7b2kCJg? zMe8Fz=VTc{d6NdQcW)gXF*JK0#DDnks9^A3V%OwFw7Ipi2UUXdkKAdM$8T)^R6yA>J==DtWv+xdo74vu@Ld!1->gw8x-EKPlCV&mg=s`$*y3kw-$ znNIiBug{2yrxV%UYp5q}U#7DAlvb2iq$QUYAes{l_ryEa!ie}qg93{)=$uaeeD?9# zyLwT6%KmAnqrULNa)J7Cr%&usni0guHzxgtb!dLxdn9XP8;N0QWw>wfOL%Gax#W*F z%s#KOYrG%tFc)O+P;rG;%Y(zCJ2935fy-(Pa*a2-d&QJho1W@T@w?!uYS+z@}4=_v+u=8mA)WlLxg}K6?&P_ zu7@PQJm6=|bin#66?pS+Dr&M7d&i-(E%;ePL@Q{-^i+~neZ$@Hfo}@vCE8}^MO97B zUcRBeK742fVF99FX@{w@{r&xsp)4dj8KDACn{@v6)uNZ7p&={dj^lKNK?JRqn#t!@ zsj-4#4iudI--%_!wt z1j2*$^_TYc1P}=J0W%pL7;tdjor;c{qJ4Z?D1TgeeOC!$+Ihsx%q%9>0@BWesfo!- z?m@%9NCY)N1-Swze{}S%Z&Dm!56tyxC)m!PJ4c*on`2Nbe4^Y=J#ZtTH^2UH@fz9J zS5_S%(1T2uSDw6#;{yW&s#Y~T)YQ}#7RyIRM-P-@zQ{Z<8@F#bc@XzjcVT>F|3H(H z4~%=#TC|oA(Om}s90o#fk@|T5k??V!Tj{#tbpTUppc8X1`u4(XZf@>$Z@F&)(#n-4 zCM9jIt*vcrG|)>tsKYcBX0LYVb681ozfuwE)#cSOLjK&Ob+VyK&o(PND`uj*$lE70 zof?N3lD~f|BrM!?_q(bU121jE-JME_-pMWTDaMW9rlzM>YjqrYVI#Si!}G(~aL&Rj zm?04!4wEURQt9LZiS_ge#~iptogbK5gCBFpnuU_E*;&fYfzIvnj9Zb%$lpKtfh>GK zkO*EZn_@|kOz6Cg7feJ;K)7KkU>KWCm|c>(y=?V{T31 zk@dNPeR-mU_nz@~{4)cC&NpnYcDu$6M?&hpa{Zy@m#1MN<;rXK>}~gH!ov%|!HG3A zoayV~-kmJ<>-6GX-nPiit@iOKTAS3siSFgR2%r%!6fwteX8s->31a&X|2=v`w;RV@Xb$-vYWw#P%(y@$3$t8m4adclhp+1H_w6>Lw zjJ}%ae?>En@`vRaC>ZR>zEbQnqAjbKAYs@)MAIQIPggc9Epef(5{*n)b%;MZ<~EhG>i0z-c+VtB2<$&PU6 zbC?2v&Cp#`BPVCPxcElY#>CJsi|f{v)qM9JUXw0ub5!?``sw94;^L&Zt%c(+BSSmu zYVjC$hWNA%k}cvn&pnVOtZPhN{kgE!hw}S-UH2$q0-XWV`ooz`NI8QNSKu34I`w0Sh3S44jY$}i z-9k0CdHZR-;M*8X#c=LOiHiGNacR6?OMg)%JGQ~EAe&3=fl!K#0N&Enn3hqDJg=%s z(?hK2BYJ-4`Y*h%4r$|)|;>L!@9&au>%@%~ z#a~eFI5;?Sj&u0l)ZuvrU(1>d`z8c(RZ(7nazgRHqUK%PAM2?an~+SW;U!boaJC zCq_ooi;$bi896PrrvrZYVICm&|3R=e{MAMRF;`w8Pgd5}CZ?u5R=!|??b>9i7EW+- za&l@awe(*tK#Hua?#K4kH#eUi9JF}um@KFO;t@isl2={r?BcTb>(|NA=47E#?Ajr6 zaxyY13gB5=Rn>^5rY1Oi`)7Y50IS*A+0oI_Sj^($zJPk0b$Zph%lRY=vL?1z^+epH zU}a%pnVp-Po|+oU5__{XRSwt;$Pf1H+>t#Ik&&h#9;~hgSl*A}%;BW_-n}BkR+XK+RFDwi~dd4ss0M5J1^tW~vn(an&oE#ifOD8+8PE4T}0_gyL z;RKsDJBx|EU8h?6Am3+nUf4%l=~CFI{=6sg);|HboBJpR8**+Kc|pLoZ!aBw>moUa5&tXI0sxm*94t%X)LHegJLDZCaP_T%?i6Mas1&D7M?pzrh884a$hau6&ks|pe*QamJreA+KLuerqN9nSZ#_L4Ig&mASyfk8 z1L!b0Hn!0fjrGJQxlONB6KuLc`tb3ilA@wUwzv>LP7)HCa{1mqK3Kt3RZhOXzR#Y~ zyzg3ZZ=n})PD=Z>uwW`F^58)sIN*RjxuXW^?M9(s%~B-=g+EK5>6wBjhlU(MT@Vnd zGBC0LB;0OTB79fP6o(yn^`-GOvQ?UkCzXqgpjF_RD>(g#eo7H5$(}r%DFRMF3b*m& zMkXdEw$>P|8T;af`|5r?a277PaK yeJb`tA=4FbteBV>1*3aH|AF)W8+HD~U@c@OHe>8YX~Ah5q@t*)P%Zc3-TwiCPw8I( diff --git a/class_x_b_o_x_r_e_c_v__inherit__graph.map b/class_x_b_o_x_r_e_c_v__inherit__graph.map index 8722620b..e8bee649 100644 --- a/class_x_b_o_x_r_e_c_v__inherit__graph.map +++ b/class_x_b_o_x_r_e_c_v__inherit__graph.map @@ -1,3 +1,3 @@ - + diff --git a/class_x_b_o_x_r_e_c_v__inherit__graph.md5 b/class_x_b_o_x_r_e_c_v__inherit__graph.md5 index 93d03b5e..9c40d748 100644 --- a/class_x_b_o_x_r_e_c_v__inherit__graph.md5 +++ b/class_x_b_o_x_r_e_c_v__inherit__graph.md5 @@ -1 +1 @@ -b9efeb625e938095b6b90c50fc801bab \ No newline at end of file +65afe7bd4794abb7f38cbc4be13ce865 \ No newline at end of file diff --git a/class_x_b_o_x_r_e_c_v__inherit__graph.png b/class_x_b_o_x_r_e_c_v__inherit__graph.png index ac9059a2f53b43d6001e51afc3e77283ffa830aa..7d798f45e8f8827ea6cbeaabe560b908b17b1b0f 100644 GIT binary patch literal 4868 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 y(4iF_P>P>=c;2ud@8AYDM2`vgMRUxYpgcWg- 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 diff --git a/class_x_b_o_x_u_s_b-members.html b/class_x_b_o_x_u_s_b-members.html index cfc973ba..82be55f5 100644 --- a/class_x_b_o_x_u_s_b-members.html +++ b/class_x_b_o_x_u_s_b-members.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Member List @@ -31,7 +31,7 @@ - + @@ -121,7 +121,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/class_x_b_o_x_u_s_b.html b/class_x_b_o_x_u_s_b.html index 9ab6d2c7..4def609d 100644 --- a/class_x_b_o_x_u_s_b.html +++ b/class_x_b_o_x_u_s_b.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: XBOXUSB Class Reference @@ -31,7 +31,7 @@ - + @@ -99,14 +99,14 @@ Inheritance diagram for XBOXUSB:
Inheritance graph
- +
[legend]
Collaboration diagram for XBOXUSB:
Collaboration graph
- +
[legend]

Detailed Description

This class implements support for a Xbox wired controller via USB.

-

Definition at line 60 of file XBOXUSB.h.

+

Definition at line 56 of file XBOXUSB.h.

Constructor & Destructor Documentation

@@ -186,7 +186,7 @@ Protected Attributes
- +

@@ -176,7 +176,7 @@ Protected Attributes

XBOXUSB::XBOXUSB ( USBpUsb)pUsb)
@@ -268,7 +268,7 @@ Protected Attributes uint8_t XBOXUSB::Release ( - ) + ) @@ -297,7 +297,7 @@ Protected Attributes uint8_t XBOXUSB::Poll ( - ) + ) @@ -326,7 +326,7 @@ Protected Attributes virtual uint8_t XBOXUSB::GetAddress ( - ) + ) @@ -341,7 +341,7 @@ Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 92 of file XBOXUSB.h.

+

Definition at line 88 of file XBOXUSB.h.

@@ -355,7 +355,7 @@ Protected Attributes virtual bool XBOXUSB::isReady ( - ) + ) @@ -368,7 +368,7 @@ Protected Attributes

Used to check if the controller has been initialized.

Returns
True if it's ready.
-

Definition at line 100 of file XBOXUSB.h.

+

Definition at line 96 of file XBOXUSB.h.

@@ -415,7 +415,7 @@ Protected Attributes

Reimplemented from USBDeviceConfig.

-

Definition at line 110 of file XBOXUSB.h.

+

Definition at line 106 of file XBOXUSB.h.

@@ -427,7 +427,7 @@ Protected Attributes uint8_t XBOXUSB::getButtonPress ( Button  - b) + b) @@ -455,7 +455,7 @@ Protected Attributes bool XBOXUSB::getButtonClick ( Button  - b) + b) @@ -483,7 +483,7 @@ Protected Attributes int16_t XBOXUSB::getAnalogHat ( AnalogHat  - a) + a) @@ -511,7 +511,7 @@ Protected Attributes void XBOXUSB::setAllOff ( - ) + ) @@ -523,7 +523,7 @@ Protected Attributes

Turn rumble off and all the LEDs on the controller.

-

Definition at line 140 of file XBOXUSB.h.

+

Definition at line 136 of file XBOXUSB.h.

@@ -537,7 +537,7 @@ Protected Attributes void XBOXUSB::setRumbleOff ( - ) + ) @@ -549,7 +549,7 @@ Protected Attributes

Turn rumble off the controller.

-

Definition at line 146 of file XBOXUSB.h.

+

Definition at line 142 of file XBOXUSB.h.

@@ -597,7 +597,7 @@ Protected Attributes void XBOXUSB::setLedRaw ( uint8_t  - value) + value) @@ -624,7 +624,7 @@ Protected Attributes void XBOXUSB::setLedOff ( - ) + ) @@ -636,7 +636,7 @@ Protected Attributes

Turn all LEDs off the controller.

-

Definition at line 164 of file XBOXUSB.h.

+

Definition at line 160 of file XBOXUSB.h.

@@ -648,7 +648,7 @@ Protected Attributes void XBOXUSB::setLedOn ( LED  - l) + l) @@ -673,7 +673,7 @@ Protected Attributes void XBOXUSB::setLedBlink ( LED  - l) + l) @@ -698,7 +698,7 @@ Protected Attributes void XBOXUSB::setLedMode ( LEDMode  - lm) + lm) @@ -726,7 +726,7 @@ Protected Attributes void XBOXUSB::attachOnInit ( void(*)(void)  - funcOnInit) + funcOnInit) @@ -744,7 +744,7 @@ Protected Attributes -

Definition at line 187 of file XBOXUSB.h.

+

Definition at line 183 of file XBOXUSB.h.

@@ -760,7 +760,7 @@ Protected Attributes

True if a Xbox 360 controller is connected.

-

Definition at line 189 of file XBOXUSB.h.

+

Definition at line 185 of file XBOXUSB.h.

@@ -783,7 +783,7 @@ Protected Attributes

Pointer to USB class instance.

-

Definition at line 197 of file XBOXUSB.h.

+

Definition at line 193 of file XBOXUSB.h.

@@ -806,7 +806,7 @@ Protected Attributes

Device address.

-

Definition at line 199 of file XBOXUSB.h.

+

Definition at line 195 of file XBOXUSB.h.

@@ -829,7 +829,7 @@ Protected Attributes

Endpoint info structure.

-

Definition at line 201 of file XBOXUSB.h.

+

Definition at line 197 of file XBOXUSB.h.

@@ -842,7 +842,7 @@ Protected Attributes diff --git a/class_x_b_o_x_u_s_b__coll__graph.map b/class_x_b_o_x_u_s_b__coll__graph.map index e10cffbc..8ccecd84 100644 --- a/class_x_b_o_x_u_s_b__coll__graph.map +++ b/class_x_b_o_x_u_s_b__coll__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/class_x_b_o_x_u_s_b__coll__graph.md5 b/class_x_b_o_x_u_s_b__coll__graph.md5 index 63c7b531..bd1c0e53 100644 --- a/class_x_b_o_x_u_s_b__coll__graph.md5 +++ b/class_x_b_o_x_u_s_b__coll__graph.md5 @@ -1 +1 @@ -fd9ca46f5a179ce5b41974bce608527c \ No newline at end of file +dee322f84a53a66ca571152698f981be \ No newline at end of file diff --git a/class_x_b_o_x_u_s_b__coll__graph.png b/class_x_b_o_x_u_s_b__coll__graph.png index 71e4b097a77bc4985b5359774c56ee6703865c9c..738615bd045622752eee04c5547592e22cd341fa 100644 GIT binary patch literal 12855 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 - + diff --git a/class_x_b_o_x_u_s_b__inherit__graph.md5 b/class_x_b_o_x_u_s_b__inherit__graph.md5 index 645a6bfa..7e11e2c0 100644 --- a/class_x_b_o_x_u_s_b__inherit__graph.md5 +++ b/class_x_b_o_x_u_s_b__inherit__graph.md5 @@ -1 +1 @@ -4153f11acd959ba3c2464f5a8264c83b \ No newline at end of file +0686bddb1558a264c6860f5ed66959a5 \ No newline at end of file diff --git a/class_x_b_o_x_u_s_b__inherit__graph.png b/class_x_b_o_x_u_s_b__inherit__graph.png index 235e486366807d3177fed11d8c365d0697fa8ca1..a38e6f6797f64af8912cbfee48783345b422c54c 100644 GIT binary patch literal 4582 zcmc(j^;;Bww8xiaY3Y=eRJyyHB?J}(BqUU%K{}Rh6jouSq&oy8q>)f$k(CfwKpF{Q zK|okiO748`bN`3?!+hqMdFDCi%sFR1=k=Z>6SyuVIV(8`1ftZ}(>4XpNZ<%0B?i{W z7`iMFh_+5&Tf-bduxCf+!vJHBq~UH~Z0FYF0-F+O7xUMHB{XRu5Dl2do5unV%p1oK z1>v+Bcy$z%l6IlBb*z4 zZ6M>#o7DoRdb?QljiJnHyRM+#x&e2L=;O$99t+*gb%$HzjDqE&b{`$967nw*Oo$8& zM(+Yw6cwK1WJ<0K#^dn;XG_8K&HYt%yw3O-^gYKH(Od>WnCt)!$Svz|P6@I(t|yo@ zHc8$k5+D)|JwwePAQs0Luk_C}KBERm=+aSaVAV_EIRWRly}|qTp*wZ$t|QqJ<~8O5 z29!I;RYj4x#FVVs?TdcMa_{+;Bwph}L#5z9_1k|&DlrOK7#^yf|DvC7 zd>ZFOxJ}6_UECXSiIthLy}Nz1Ia&rhV5L}L@V1iIDAxq{y`UO_U$Y414ULAc{vSY|8;wYodYw3QOZffP5 zySmughTi*5!&#J5*&d$UEpL)sSz>t3@Gmoon+P$WlU5w|uL!@LpXUCt3 zyI$XfUacX;wlXd4X_Y@Dk!x-a^VaOH&;J|AS1`j<)r;`pCNqUBhst6yG8m{~Uh(Be zDaGZ~w;RT8n9sUf# z$-0W7@IvKkleg+bXMcWv`nkVnC^*25=4*Jq(3Y&fW+sYN3fkQ&iCXI8*848>wE`!*$6$z7;uM z8T>QCa!B`jRl&GORb*2BH-4}E=TLudON;b}k{-csuU7Zzdv$>ON_6QACLJ}%-pnc8vyN^;T zaAVD!^ryEe2PU%}Ko$9KA4gi_TdGd?7OLE5>g%%klh^46@Trg5JacBz7$;4BVrySv z9$6o?Zn8mj@^8@W#AH+1RcaibJ!4GQK8NNw zY#kO+tNvC0jh^f%f1>@C|AFT2PUr#1#LzY~KmR?Vk-sofo4Ih~-{t;Wf5gKU=*e_o zp^QgX3v>_0PMtAau^HJ>T9`n;aKmF3t6ygX- z!_kB;2QBz(J_HZC$ITskAb!hV9_%^$1rv{ZiA1I!WoNUj!5JeE5CjN<3Cd9lu18Qp zW>8yOuAL;*)}3WMRBm%k6=-)%T(HJSLI+7qr&s$@<@MF1v0BA)PZ&~HBlPUgQZ=wy zpvzmPR%j8?`kvUDheBkob%ttur2jtnbnN$DlFm}HD`)?nuEps}HQqB;yB$sWUWe1? zMUV!XYT`Vbecb1iDPD(7HQeem?t%VfrBSmNjN}zm4zB9cUu)TrRkZ?q;B5g{1)d9S zM&RYIub~Del$zjRVn9@MnxI|*_VXeqd8J9F3$GF&gSAeM=3(t_`_MU1Q>WGhzo(yING5hgD}fKeP1pnbB&PSreiROKapZ0% zD)Qj5?zG}>v2Ri*@-s4iJ>a8ywDCxc@dMi|uHwHwF1LLVJZkbiV8R-v%4?xO{WNwH@#}cEHMZ);K+b_+i*p>NDHN>Ao zbrJlpTxm!M9f2+K)Mn$3%`HyWZmQj9+aAnMh$Y?eDIo!&LAom~PQy&8o@liY9*uM& zk1%2C!Bh@0^->2ALmxC&GKI0cemqCsx0FPp(a^r#tAIvFj+C9Ck5v^!ZAO+gO!}nt z3B-dBCC#zpok%%Z3J+LPoU!@h_^U2rgPo$&|o0U|L2-=!B#C+RfAA1Pxxv_fh2oOk9KoIsRiiz@~NgM!@TzoH_j3pOLPk5d_u_CyFA zZbRmGTqeYro*-`^l1QxjdU?$EEqHqz|1Z9sg5ea^7z>WMA{!J@Nui2b)(y5+d5Cei{)e z>}^e?b^F^U1>4;v_mgUV4rOtbnCV z0SpzDLpCLpYChdI!VBZqdASNZW+=ZMQ%!nLGA$vRi((y>-~GbW6n^OgHhbW?>mIT* z!Z(>fmMFZqP3pJ`yV7@eXXW8_j;O^x?#;v68fU$FWf*B0Ncl-9ua*4pPdJKS^t&PK z^T3Itb#J&*)Z~7*obG!M6u)Yu$e>hT#Lb)}g0ZNhQ1}Sfu=>#CyLfqp-Aco2MC9{z z!9PdQwS`jm3G#YEy$tnce_=e-$M)7PNRssR!?yn7qbxN&e(Y{EREe$!TazGs?h4lM zMrF3;>*g+qUiFTx@zUhVja|^?do@QAbI{XQq>tbw!SzLnx9IclKEbTr5t{K}ZR#il ze}8GuCI#r2i>yHf3^{7q{TF2_E`axDE$3{Ur!|$ zaz|k04oHg$XVqyxi5fUz@S%$4Li)eAZE(Y^g_6sY00gOEQ9mQ?=&M4MPx$}iZgcn( z*+ScMsEqs6%bS_qibfJ;$tKB6{)uSvRoxf$;LejDHf|@sr_W6%!?_IH-D_wza$E{m zf3gb~h*47XqJsMJNIxX}jJhfK_jf&&=Ivp_c{mqRwEkhOg?Wi4QG{EH26wbZc9Elm zgaL|evvPsbdU0w&qiq_+qX$|F=;A`=g(_j%SeqbZ#d%(Gj=pBzBy$#8S)2p`lY8eM z$JQ8Tm%4%{OJT@&9y9gkwH6{fZ2hyOR!eEL4GJX^yU;U_6u+?knQOfBn z5u3L0F|`}Rg?4Y;(j1+66`bwkPJP!q0FO#H%as?8=3I(sgA6}FpT8YIG9P&}F_r*8 zsDC)u>~hYG!(lf^^D4T5#SFrVl zyu8k)ojiu>j=VYrvuOF+0CJc_aVuIQj(7q9-eZvr6iVG#_52>2QqU{KfGu^ST!GH~%hsFt*dD2fl zgA@@5#alomZ5*P5jmN?X6wLpD{QbePLY2J#1~Xf$+a&J=PzC{R?wvs~Ao}~M%7-r# zHmc34wqi)wQQx;0+QryZLNn~c_GDNk9Z7-04r6!bn)zO{DOq6TJ$?w|$>BrIw|@B? z0y60^HEExA%(TtZdg4`5Qb`OU3HIz~l=rk8FiT9(jKkyxV_<3bsdpLxZpx2lOT>x$ zRly4cXY|J43^!IL&d$6K8|>}O*Vfku-~gd1dlAe%fiCkZDC}6S5(?`+dY_(X%n(6du68!gH0I8EolSrn(0P5^BO8w z3CPT_cQ}h+>J9PE1DJ%NU}bGgF=J_}q8*0>H(n#!y5c@#lG~5^(F->_NUqaR#zYOf zE`qaLGN#NfK;go5%-_%cy_H1h&Gnhv)nB|R2l_!aF>Ny^s?7i%*uIl69AXv51bI#B zKp?AF3{-FGy|omDQou-As;ax)y5r_ZPP{y1xdLFxfL|Ee)bI#^E~)Mt7&KQ3m*Xth zW8Dzq-Ws_n#_A>r$@jSjF`xUnbaEw~lEYD1HcKV+UUY4RM16v>lYkU>0Eo2eu(LnX zPrpDE{WlF$Sk@Rxdsx4?LnO%9H^L~e2AP69W{|`D3=;1+r;hgB`PSjXaDe~rqWOXV zwJZy0p@i;rmM*IAdx2-)DPHU}@(h>jr#rT&9*=9q(r0}nHIz_n{rs9kEz(xi>Kr{V zFacBozPHfM%(xrI=>r>y698Rghen=nFymFNN}|PS_%>j=x@HazrNYRk6uyJU+mqXi zo&Hm8&uu=$1qU5$vO0)}@EI3oL=+}cLVw?@{x4|^{ag2ht4eqbvc`upg`9pTy?Vva zAx`v)MIttlnnM)ot%sJz0!r!Ipa&{DNc`b;wSM}}Yq@05>^HUP)Gfq|yM1`@B}ha15K z5<`v6tWap!z;cF`ZOkk|L9LSPc%-^XxA#xgxdNEUp0NqL>?#f7*`yf5{xR4%eC6Sh z))#DZeCg_ep_K(LfioI*CoR3W8|c=}a=+<~gy$oE(_GuJ^dJ@BrczEKmtF1^&$>~3;wrJPc?NZjTw92S+Lf28Jt1|&xOZROzyuSbl+ zabqv}gxmdHesQ(N7YJ1rQ8Hrh&Z%6obJ$E-A4h zJ@hcPv9URN^heYC5cUqBQLyye&$h48$0hd%$tEWJ4dko1GS(tvU6>VWcH{_;$J+)3 zD zMn*DF(W_rww2>acfZE+S1r5ODZiVM?qCJ zZh6uP^q~%!QczI0cMlx??kZa_HUojogC*g3+9jkq~GL6q-$=#ed<~K70tT^yXb4-6FVl=L?XSs_T;t8Nl7iOuFA{F(OnK`YHHTk*GGT7BeVO3Z><6dMuv8IE6{INZ~B~fRx zu4mv+4X0uk)gQ^Jsc(9AkWl2RHi!Tqj_5>lv@Le2 zBd+)T#g%7!5{aAnW})#h?jtdqqEH|qNpgbbm~f)Fz?%3ezEj>KJCKChYQk>q0J?_O zSDzrBF+K`Yc4yi-7v3Xt5ejK*D>F5W8^U|l5Yv2S+!mfac$wuX+_**IxjP50$c64Y zY$sx}^In(Mi$x>@aDQ9PAmd1TAWqCkM;b)0N#W@>&_TYz+ zpP@-_1IQdJKTQgvs{4JzXst4&`lBC0`?1o;t*LY#=IZaya*5X9K&>*KY$ z?>ALkIqD-R$#8d!JL^QS2Sw|Pp|^x z1DH&08hZQ~O+Bej6#?0#x*Z)7ZlbIV$8J$yQy}?n~rm1!SFz5@33P*z( zWbmM!SG4%)Sl7tNV#;`foyHmzV*O>Vp`l@wDNN41&>>C49OEOnc{ zpu?aJ>gwt`(oN0Gs*8(nJJQF_Kf{`O`S=V8m#6S}JgBI@_;+DrVq!QM`EGg_e0=gL zl?pup?p>KPi!0Y&|DN0c*rgIi>9oH$_)7u(v} z`elGs^7!#sZ<$Ajld7?Dre3b24w=qi1i&ZxjQndJn?*G>HG_kLIXR)B7f^^CP~C(= z;nSxFfCM)^UT0^U{GHTPK?{36-`tJ74+=S~3|12+gAo`RdDO_Lv)0+{^8XjdVoHeszHrhcwMk0~CnZIcI8=J4p==l0Qx4yYD z-JGU)i;Fo~*6VHXz)44g={_eA2o@I`>H}k9EX>UZYGI>=nuiXN+XMtZxt=}Fea205 z+OL&H>u2Kjb!BRa{Ud}2#ti!U`&auXKXYnC8IfUOVfcttE3}JC7g*WKrsggz@?tgr d`E%HkAvNYktxYMHgP$ef^eHs*#R>n!e*>hDbhrQj diff --git a/classes.html b/classes.html index b84646f8..3a0534b9 100644 --- a/classes.html +++ b/classes.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Class Index @@ -31,7 +31,7 @@ - + @@ -90,44 +90,47 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
A | B | C | E | F | H | I | K | L | M | P | R | S | T | U | W | X
- - - - - - + + + + + + + - + + - - - - + + + + - - - - - - - - + + + + + + + + + + +
  A  
-
ConfigDescParser   
  K  
-
PS3USB   USB   
  E  
-
PTPListParser   USB_CONFIGURATION_DESCRIPTOR   
ACM   KBDINFO   
  R  
-
USB_DEVICE_DESCRIPTOR   
ACM_FUNC_DESCR   EpInfo   KBDLEDS   USB_ENDPOINT_DESCRIPTOR   
AddressPool   
  F  
-
KeyboardReportParser   ReportDescParser   USB_HID_DESCRIPTOR   
AddressPoolImpl   
  L  
-
ReportDescParser2   USB_INTERFACE_DESCRIPTOR   
ADK   FTDI   ReportDescParserBase   UsbConfigXtracter   
CDCAsyncOper   HubEvent   PS3BT   USB_ENDPOINT_DESCRIPTOR   
CLASS_NOTIFICATION   
  I  
+
PS3USB   USB_HID_DESCRIPTOR   
ACM   CommandBlockWrapper   PTPListParser   USB_INTERFACE_DESCRIPTOR   
ACM_FUNC_DESCR   CommandBlockWrapperBase   InquiryResponse   
  R  
+
UsbConfigXtracter   
AddressPool   CommandStatusWrapper   
  K  
+
UsbDevice   
AddressPoolImpl   ConfigDescParser   ReportDescParser   UsbDeviceAddress   
ADK   
  E  
+
KBDINFO   ReportDescParser2   USBDeviceConfig   
  B  
-
FTDIAsyncOper   LINE_CODING   RequestSenseResponce   UsbDevice   
  H  
-
  M  
+
KBDLEDS   ReportDescParserBase   USBHub   
EpInfo   KeyboardReportParser   RequestSenseResponce   USBReadParser   
BASICCDB   
  F  
+
  L  
  S  
-
UsbDeviceAddress   
BluetoothService   USBDeviceConfig   
BTD   HexDumper   MainItemIOFeature   SETUP_PKT   USBHub   
BulkOnly   HID   MAX3421e   SPi   USBReadParser   
ByteSkipper   HID_CLASS_DESCRIPTOR_LEN_AND_TYPE   Max_LCD   SPP   
  W  
+
  W  
BluetoothService   
BTD   FTDI   LINE_CODING   SETUP_PKT   WII   
BulkOnly   FTDIAsyncOper   
  M  
+
SPi   
  X  
+
ByteSkipper   
  H  
+
SPP   
  C  
-
HIDBoot   MODIFIERKEYS   
  T  
-
HidItemPrefix   MOUSEINFO   WII   
CALL_MGMNT_FUNC_DESCR   HIDReportParser   MouseReportParser   TCom   
  X  
-
Capacity   HIDUniversal   MultiByteValueParser   TEL_RINGER_FUNC_DESCR   
CDCAsyncOper   HubDescriptor   MultiValueBuffer   Tp_Tc   XBOXOLD   
CLASS_NOTIFICATION   HubEvent   
  P  
-
TPin   XBOXRECV   
CommandBlockWrapper   
  I  
-
  U  
-
XBOXUSB   
CommandBlockWrapperBase   PL2303   
CommandStatusWrapper   InquiryResponse   PS3BT   UniversalReportParser   
MainItemIOFeature   
  T  
+
XBOXOLD   
HexDumper   MAX3421e   XBOXRECV   
CALL_MGMNT_FUNC_DESCR   HID   Max_LCD   TEL_RINGER_FUNC_DESCR   XBOXUSB   
Capacity   HID_CLASS_DESCRIPTOR_LEN_AND_TYPE   MODIFIERKEYS   
  U  
+
CDB10   HIDBoot   MOUSEINFO   
CDB12   HidItemPrefix   MouseReportParser   UniversalReportParser   
CDB6   HIDReportParser   MultiByteValueParser   USB   
CDB_LBA32_16   HIDUniversal   MultiValueBuffer   USB_CONFIGURATION_DESCRIPTOR   
CDB_LBA64_16   HubDescriptor   
  P  
+
USB_DEVICE_DESCRIPTOR   
PL2303   
A | B | C | E | F | H | I | K | L | M | P | R | S | T | U | W | X
@@ -136,7 +139,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/confdescparser_8h.html b/confdescparser_8h.html index 759fb94c..2338d3a7 100644 --- a/confdescparser_8h.html +++ b/confdescparser_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: confdescparser.h File Reference @@ -31,7 +31,7 @@ - + @@ -92,25 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
confdescparser.h File Reference
-
#include <inttypes.h>
-#include <avr/pgmspace.h>
-#include "message.h"
-#include "parsetools.h"
-
-Include dependency graph for confdescparser.h:
-
-
- - -
-
-This graph shows which files directly or indirectly include this file:
-
-
- - -
-
+

Go to the source code of this file.

@@ -142,7 +124,7 @@ Macros

-

Definition at line 35 of file confdescparser.h.

+

Definition at line 31 of file confdescparser.h.

@@ -156,7 +138,7 @@ Macros
-

Definition at line 36 of file confdescparser.h.

+

Definition at line 32 of file confdescparser.h.

@@ -170,7 +152,7 @@ Macros
-

Definition at line 37 of file confdescparser.h.

+

Definition at line 33 of file confdescparser.h.

@@ -184,7 +166,7 @@ Macros
-

Definition at line 38 of file confdescparser.h.

+

Definition at line 34 of file confdescparser.h.

@@ -193,7 +175,7 @@ Macros diff --git a/confdescparser_8h_source.html b/confdescparser_8h_source.html index b546665a..7c72f5bd 100644 --- a/confdescparser_8h_source.html +++ b/confdescparser_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: confdescparser.h Source File @@ -31,7 +31,7 @@ - + @@ -105,207 +105,236 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
14 Web : http://www.circuitsathome.com
15 e-mail : support@circuitsathome.com
16  */
-
17 #if !defined(__CONFDESCPARSER_H__)
-
18 #define __CONFDESCPARSER_H__
-
19 
-
20 #include <inttypes.h>
-
21 
-
22 #include <avr/pgmspace.h>
-
23 #include "message.h"
-
24 #include "parsetools.h"
-
25 
-
26 //#include "hid.h"
-
27 
- -
29 public:
-
30  //virtual void ConfigXtract(const USB_CONFIGURATION_DESCRIPTOR *conf) = 0;
-
31  //virtual void InterfaceXtract(uint8_t conf, const USB_INTERFACE_DESCRIPTOR *iface) = 0;
-
32  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep) = 0;
-
33 };
-
34 
-
35 #define CP_MASK_COMPARE_CLASS 1
-
36 #define CP_MASK_COMPARE_SUBCLASS 2
-
37 #define CP_MASK_COMPARE_PROTOCOL 4
-
38 #define CP_MASK_COMPARE_ALL 7
-
39 
-
40 // Configuration Descriptor Parser Class Template
-
41 
-
42 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
- -
44  UsbConfigXtracter *theXtractor;
-
45  MultiValueBuffer theBuffer;
-
46  MultiByteValueParser valParser;
-
47  ByteSkipper theSkipper;
-
48  uint8_t varBuffer[16 /*sizeof(USB_CONFIGURATION_DESCRIPTOR)*/];
-
49 
-
50  uint8_t stateParseDescr; // ParseDescriptor state
-
51 
-
52  uint8_t dscrLen; // Descriptor length
-
53  uint8_t dscrType; // Descriptor type
-
54 
-
55  bool isGoodInterface; // Apropriate interface flag
-
56  uint8_t confValue; // Configuration value
-
57  uint8_t protoValue; // Protocol value
-
58  uint8_t ifaceNumber; // Interface number
-
59  uint8_t ifaceAltSet; // Interface alternate settings
+
17 #if !defined(_usb_h_) || defined(__CONFDESCPARSER_H__)
+
18 #error "Never include confdescparser.h directly; include Usb.h instead"
+
19 #else
+
20 
+
21 #define __CONFDESCPARSER_H__
+
22 
+
23 
+ +
25 public:
+
26  //virtual void ConfigXtract(const USB_CONFIGURATION_DESCRIPTOR *conf) = 0;
+
27  //virtual void InterfaceXtract(uint8_t conf, const USB_INTERFACE_DESCRIPTOR *iface) = 0;
+
28  virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep) = 0;
+
29 };
+
30 
+
31 #define CP_MASK_COMPARE_CLASS 1
+
32 #define CP_MASK_COMPARE_SUBCLASS 2
+
33 #define CP_MASK_COMPARE_PROTOCOL 4
+
34 #define CP_MASK_COMPARE_ALL 7
+
35 
+
36 // Configuration Descriptor Parser Class Template
+
37 
+
38 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
+ +
40  UsbConfigXtracter *theXtractor;
+
41  MultiValueBuffer theBuffer;
+
42  MultiByteValueParser valParser;
+
43  ByteSkipper theSkipper;
+
44  uint8_t varBuffer[16 /*sizeof(USB_CONFIGURATION_DESCRIPTOR)*/];
+
45 
+
46  uint8_t stateParseDescr; // ParseDescriptor state
+
47 
+
48  uint8_t dscrLen; // Descriptor length
+
49  uint8_t dscrType; // Descriptor type
+
50 
+
51  bool isGoodInterface; // Apropriate interface flag
+
52  uint8_t confValue; // Configuration value
+
53  uint8_t protoValue; // Protocol value
+
54  uint8_t ifaceNumber; // Interface number
+
55  uint8_t ifaceAltSet; // Interface alternate settings
+
56 
+
57  bool ParseDescriptor(uint8_t **pp, uint16_t *pcntdn);
+
58 
+
59  void PrintHidDescriptor(const USB_HID_DESCRIPTOR *pDesc);
60 
-
61  bool ParseDescriptor(uint8_t **pp, uint16_t *pcntdn);
-
62 
-
63  void PrintHidDescriptor(const USB_HID_DESCRIPTOR *pDesc);
-
64 
-
65 public:
- -
67  virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset);
-
68 };
-
69 
-
70 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
- -
72 theXtractor(xtractor),
-
73 stateParseDescr(0),
-
74 dscrLen(0),
-
75 dscrType(0) {
-
76  theBuffer.pValue = varBuffer;
-
77  valParser.Initialize(&theBuffer);
-
78  theSkipper.Initialize(&theBuffer);
-
79 };
-
80 
-
81 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
-
82 void ConfigDescParser<CLASS_ID, SUBCLASS_ID, PROTOCOL_ID, MASK>::Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset) {
-
83  uint16_t cntdn = (uint16_t) len;
-
84  uint8_t *p = (uint8_t*) pbuf;
-
85 
-
86  while(cntdn)
-
87  if(!ParseDescriptor(&p, &cntdn))
-
88  return;
-
89 }
-
90 
-
91 /* Parser for the configuration descriptor. Takes values for class, subclass, protocol fields in interface descriptor and
-
92  compare masks for them. When the match is found, calls EndpointXtract passing buffer containing endpoint descriptor */
-
93 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
- -
95  switch(stateParseDescr) {
-
96  case 0:
-
97  theBuffer.valueSize = 2;
-
98  valParser.Initialize(&theBuffer);
-
99  stateParseDescr = 1;
-
100  case 1:
-
101  if(!valParser.Parse(pp, pcntdn))
-
102  return false;
-
103  dscrLen = *((uint8_t*) theBuffer.pValue);
-
104  dscrType = *((uint8_t*) theBuffer.pValue + 1);
-
105  stateParseDescr = 2;
-
106  case 2:
-
107  // This is a sort of hack. Assuming that two bytes are all ready in the buffer
-
108  // the pointer is positioned two bytes ahead in order for the rest of descriptor
-
109  // to be read right after the size and the type fields.
-
110  // This should be used carefully. varBuffer should be used directly to handle data
-
111  // in the buffer.
-
112  theBuffer.pValue = varBuffer + 2;
-
113  stateParseDescr = 3;
-
114  case 3:
-
115  switch(dscrType) {
- -
117  isGoodInterface = false;
- -
119  theBuffer.valueSize = sizeof(USB_CONFIGURATION_DESCRIPTOR) - 2;
-
120  break;
- -
122  theBuffer.valueSize = sizeof(USB_ENDPOINT_DESCRIPTOR) - 2;
-
123  break;
-
124  case HID_DESCRIPTOR_HID:
-
125  theBuffer.valueSize = dscrLen - 2;
-
126  break;
-
127  }
-
128  valParser.Initialize(&theBuffer);
-
129  stateParseDescr = 4;
-
130  case 4:
-
131  switch(dscrType) {
- -
133  if(!valParser.Parse(pp, pcntdn))
-
134  return false;
-
135  confValue = ((USB_CONFIGURATION_DESCRIPTOR*) varBuffer)->bConfigurationValue;
-
136  break;
- -
138  if(!valParser.Parse(pp, pcntdn))
-
139  return false;
-
140  if((MASK & CP_MASK_COMPARE_CLASS) && ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceClass != CLASS_ID)
+
61 public:
+ +
63  virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset);
+
64 };
+
65 
+
66 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
+ +
68 theXtractor(xtractor),
+
69 stateParseDescr(0),
+
70 dscrLen(0),
+
71 dscrType(0) {
+
72  theBuffer.pValue = varBuffer;
+
73  valParser.Initialize(&theBuffer);
+
74  theSkipper.Initialize(&theBuffer);
+
75 };
+
76 
+
77 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
+
78 void ConfigDescParser<CLASS_ID, SUBCLASS_ID, PROTOCOL_ID, MASK>::Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset) {
+
79  uint16_t cntdn = (uint16_t) len;
+
80  uint8_t *p = (uint8_t*) pbuf;
+
81 
+
82  while(cntdn)
+
83  if(!ParseDescriptor(&p, &cntdn))
+
84  return;
+
85 }
+
86 
+
87 /* Parser for the configuration descriptor. Takes values for class, subclass, protocol fields in interface descriptor and
+
88  compare masks for them. When the match is found, calls EndpointXtract passing buffer containing endpoint descriptor */
+
89 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
+ +
91  switch(stateParseDescr) {
+
92  case 0:
+
93  theBuffer.valueSize = 2;
+
94  valParser.Initialize(&theBuffer);
+
95  stateParseDescr = 1;
+
96  case 1:
+
97  if(!valParser.Parse(pp, pcntdn))
+
98  return false;
+
99  dscrLen = *((uint8_t*) theBuffer.pValue);
+
100  dscrType = *((uint8_t*) theBuffer.pValue + 1);
+
101  stateParseDescr = 2;
+
102  case 2:
+
103  // This is a sort of hack. Assuming that two bytes are all ready in the buffer
+
104  // the pointer is positioned two bytes ahead in order for the rest of descriptor
+
105  // to be read right after the size and the type fields.
+
106  // This should be used carefully. varBuffer should be used directly to handle data
+
107  // in the buffer.
+
108  theBuffer.pValue = varBuffer + 2;
+
109  stateParseDescr = 3;
+
110  case 3:
+
111  switch(dscrType) {
+ +
113  isGoodInterface = false;
+ +
115  theBuffer.valueSize = sizeof(USB_CONFIGURATION_DESCRIPTOR) - 2;
+
116  break;
+ +
118  theBuffer.valueSize = sizeof(USB_ENDPOINT_DESCRIPTOR) - 2;
+
119  break;
+
120  case HID_DESCRIPTOR_HID:
+
121  theBuffer.valueSize = dscrLen - 2;
+
122  break;
+
123  }
+
124  valParser.Initialize(&theBuffer);
+
125  stateParseDescr = 4;
+
126  case 4:
+
127  switch(dscrType) {
+ +
129  if(!valParser.Parse(pp, pcntdn))
+
130  return false;
+
131  confValue = ((USB_CONFIGURATION_DESCRIPTOR*) varBuffer)->bConfigurationValue;
+
132  break;
+ +
134  if(!valParser.Parse(pp, pcntdn))
+
135  return false;
+
136  if((MASK & CP_MASK_COMPARE_CLASS) && ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceClass != CLASS_ID)
+
137  break;
+
138  if((MASK & CP_MASK_COMPARE_SUBCLASS) && ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceSubClass != SUBCLASS_ID)
+
139  break;
+
140  if((MASK & CP_MASK_COMPARE_PROTOCOL) && ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceProtocol != PROTOCOL_ID)
141  break;
-
142  if((MASK & CP_MASK_COMPARE_SUBCLASS) && ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceSubClass != SUBCLASS_ID)
-
143  break;
-
144  if((MASK & CP_MASK_COMPARE_PROTOCOL) && ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceProtocol != PROTOCOL_ID)
-
145  break;
-
146 
-
147  isGoodInterface = true;
-
148  ifaceNumber = ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceNumber;
-
149  ifaceAltSet = ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bAlternateSetting;
-
150  protoValue = ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceProtocol;
-
151  break;
- -
153  if(!valParser.Parse(pp, pcntdn))
-
154  return false;
-
155  if(isGoodInterface)
-
156  if(theXtractor)
-
157  theXtractor->EndpointXtract(confValue, ifaceNumber, ifaceAltSet, protoValue, (USB_ENDPOINT_DESCRIPTOR*) varBuffer);
-
158  break;
-
159  //case HID_DESCRIPTOR_HID:
-
160  // if (!valParser.Parse(pp, pcntdn))
-
161  // return false;
-
162  // PrintHidDescriptor((const USB_HID_DESCRIPTOR*)varBuffer);
-
163  // break;
-
164  default:
-
165  if(!theSkipper.Skip(pp, pcntdn, dscrLen - 2))
-
166  return false;
-
167  }
-
168  theBuffer.pValue = varBuffer;
-
169  stateParseDescr = 0;
-
170  }
-
171  return true;
-
172 }
-
173 
-
174 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
- -
176  Notify(PSTR("\r\n\r\nHID Descriptor:\r\n"), 0x80);
-
177  Notify(PSTR("bDescLength:\t\t"), 0x80);
-
178  D_PrintHex<uint8_t > (pDesc->bLength, 0x80);
-
179 
-
180  Notify(PSTR("\r\nbDescriptorType:\t"), 0x80);
-
181  D_PrintHex<uint8_t > (pDesc->bDescriptorType, 0x80);
-
182 
-
183  Notify(PSTR("\r\nbcdHID:\t\t\t"), 0x80);
-
184  D_PrintHex<uint16_t > (pDesc->bcdHID, 0x80);
-
185 
-
186  Notify(PSTR("\r\nbCountryCode:\t\t"), 0x80);
-
187  D_PrintHex<uint8_t > (pDesc->bCountryCode, 0x80);
-
188 
-
189  Notify(PSTR("\r\nbNumDescriptors:\t"), 0x80);
-
190  D_PrintHex<uint8_t > (pDesc->bNumDescriptors, 0x80);
-
191 
-
192  //Notify(PSTR("\r\nbDescrType:\t\t"));
-
193  //PrintHex<uint8_t>(pDesc->bDescrType);
-
194  //
-
195  //Notify(PSTR("\r\nwDescriptorLength:\t"));
-
196  //PrintHex<uint16_t>(pDesc->wDescriptorLength);
-
197 
-
198  for(uint8_t i = 0; i < pDesc->bNumDescriptors; i++) {
- -
200 
-
201  Notify(PSTR("\r\nbDescrType:\t\t"), 0x80);
-
202  D_PrintHex<uint8_t > (pLT[i].bDescrType, 0x80);
-
203 
-
204  Notify(PSTR("\r\nwDescriptorLength:\t"), 0x80);
-
205  D_PrintHex<uint16_t > (pLT[i].wDescriptorLength, 0x80);
-
206  }
-
207  Notify(PSTR("\r\n"), 0x80);
-
208 }
-
209 
-
210 
-
211 #endif // __CONFDESCPARSER_H__
+
142 
+
143  isGoodInterface = true;
+
144  ifaceNumber = ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceNumber;
+
145  ifaceAltSet = ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bAlternateSetting;
+
146  protoValue = ((USB_INTERFACE_DESCRIPTOR*) varBuffer)->bInterfaceProtocol;
+
147  break;
+ +
149  if(!valParser.Parse(pp, pcntdn))
+
150  return false;
+
151  if(isGoodInterface)
+
152  if(theXtractor)
+
153  theXtractor->EndpointXtract(confValue, ifaceNumber, ifaceAltSet, protoValue, (USB_ENDPOINT_DESCRIPTOR*) varBuffer);
+
154  break;
+
155  //case HID_DESCRIPTOR_HID:
+
156  // if (!valParser.Parse(pp, pcntdn))
+
157  // return false;
+
158  // PrintHidDescriptor((const USB_HID_DESCRIPTOR*)varBuffer);
+
159  // break;
+
160  default:
+
161  if(!theSkipper.Skip(pp, pcntdn, dscrLen - 2))
+
162  return false;
+
163  }
+
164  theBuffer.pValue = varBuffer;
+
165  stateParseDescr = 0;
+
166  }
+
167  return true;
+
168 }
+
169 
+
170 template <const uint8_t CLASS_ID, const uint8_t SUBCLASS_ID, const uint8_t PROTOCOL_ID, const uint8_t MASK>
+ +
172  Notify(PSTR("\r\n\r\nHID Descriptor:\r\n"), 0x80);
+
173  Notify(PSTR("bDescLength:\t\t"), 0x80);
+
174  PrintHex<uint8_t > (pDesc->bLength, 0x80);
+
175 
+
176  Notify(PSTR("\r\nbDescriptorType:\t"), 0x80);
+
177  PrintHex<uint8_t > (pDesc->bDescriptorType, 0x80);
+
178 
+
179  Notify(PSTR("\r\nbcdHID:\t\t\t"), 0x80);
+
180  PrintHex<uint16_t > (pDesc->bcdHID, 0x80);
+
181 
+
182  Notify(PSTR("\r\nbCountryCode:\t\t"), 0x80);
+
183  PrintHex<uint8_t > (pDesc->bCountryCode, 0x80);
+
184 
+
185  Notify(PSTR("\r\nbNumDescriptors:\t"), 0x80);
+
186  PrintHex<uint8_t > (pDesc->bNumDescriptors, 0x80);
+
187 
+
188  //Notify(PSTR("\r\nbDescrType:\t\t"));
+
189  //PrintHex<uint8_t>(pDesc->bDescrType);
+
190  //
+
191  //Notify(PSTR("\r\nwDescriptorLength:\t"));
+
192  //PrintHex<uint16_t>(pDesc->wDescriptorLength);
+
193 
+
194  for(uint8_t i = 0; i < pDesc->bNumDescriptors; i++) {
+ +
196 
+
197  Notify(PSTR("\r\nbDescrType:\t\t"), 0x80);
+
198  PrintHex<uint8_t > (pLT[i].bDescrType, 0x80);
+
199 
+
200  Notify(PSTR("\r\nwDescriptorLength:\t"), 0x80);
+
201  PrintHex<uint16_t > (pLT[i].wDescriptorLength, 0x80);
+
202  }
+
203  Notify(PSTR("\r\n"), 0x80);
+
204 }
+
205 
+
206 
+
207 #endif // __CONFDESCPARSER_H__
+
#define CP_MASK_COMPARE_PROTOCOL
+ + + + +
#define USB_DESCRIPTOR_ENDPOINT
Definition: usb_ch9.h:67
+
uint8_t bLength
Definition: usb_ch9.h:152
+
virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset)
+
#define CP_MASK_COMPARE_CLASS
+ + +
#define USB_DESCRIPTOR_CONFIGURATION
Definition: usb_ch9.h:64
+
#define Notify(...)
Definition: message.h:44
+ + + + +
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)=0
+
void Initialize(MultiValueBuffer *pbuf)
Definition: parsetools.h:60
+
uint8_t bCountryCode
Definition: usb_ch9.h:155
+ +
#define CP_MASK_COMPARE_SUBCLASS
+
uint8_t bNumDescriptors
Definition: usb_ch9.h:156
+ +
uint8_t bDescriptorType
Definition: usb_ch9.h:153
+ +
#define HID_DESCRIPTOR_HID
Definition: hid.h:74
+
ConfigDescParser(UsbConfigXtracter *xtractor)
+
void Initialize(MultiValueBuffer *const pbuf)
Definition: parsetools.h:42
+ +
uint16_t bcdHID
Definition: usb_ch9.h:154
+
uint8_t bDescrType
Definition: usb_ch9.h:157
+
#define USB_DESCRIPTOR_INTERFACE
Definition: usb_ch9.h:66
diff --git a/controller_enums_8h.html b/controller_enums_8h.html index 5405f16b..5907b475 100644 --- a/controller_enums_8h.html +++ b/controller_enums_8h.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: controllerEnums.h File Reference @@ -31,7 +31,7 @@ - + @@ -96,7 +96,7 @@ This graph shows which files directly or indirectly include this file:
- +

Go to the source code of this file.

@@ -388,7 +388,7 @@ Enumerations diff --git a/controller_enums_8h__dep__incl.map b/controller_enums_8h__dep__incl.map index f42efd20..a35a601e 100644 --- a/controller_enums_8h__dep__incl.map +++ b/controller_enums_8h__dep__incl.map @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/controller_enums_8h__dep__incl.md5 b/controller_enums_8h__dep__incl.md5 index d1c7a56a..59ebaedd 100644 --- a/controller_enums_8h__dep__incl.md5 +++ b/controller_enums_8h__dep__incl.md5 @@ -1 +1 @@ -bbfde6320f7270a2d0f5c1dcf21121a9 \ No newline at end of file +37f0ff29cd8cd04c4513c3639d6c42e5 \ No newline at end of file diff --git a/controller_enums_8h__dep__incl.png b/controller_enums_8h__dep__incl.png index 5c6f09f01df55f3326f5666306df100fa2e58967..f2a465b15f437e0c71e23357e6868dd4ccf7a609 100644 GIT binary patch literal 34041 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 diff --git a/controller_enums_8h_source.html b/controller_enums_8h_source.html index e61b87c1..3fa2916d 100644 --- a/controller_enums_8h_source.html +++ b/controller_enums_8h_source.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: controllerEnums.h Source File @@ -31,7 +31,7 @@ - + @@ -114,80 +114,137 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
23  This is necessary so all the different libraries can be used at once
24  */
25 
-
27 enum LED {
-
28  LED1 = 0,
-
29  LED2 = 1,
-
30  LED3 = 2,
-
31  LED4 = 3,
+
27 enum LED {
+
28  LED1 = 0,
+
29  LED2 = 1,
+
30  LED3 = 2,
+
31  LED4 = 3,
32 
-
33  LED5 = 4,
-
34  LED6 = 5,
-
35  LED7 = 6,
-
36  LED8 = 7,
-
37  LED9 = 8,
-
38  LED10 = 9,
-
40  ALL = 4,
+
33  LED5 = 4,
+
34  LED6 = 5,
+
35  LED7 = 6,
+
36  LED8 = 7,
+
37  LED9 = 8,
+
38  LED10 = 9,
+
40  ALL = 4,
41 };
42 
-
44 enum Button {
-
47  UP = 0,
-
48  RIGHT = 1,
-
49  DOWN = 2,
-
50  LEFT = 3,
-
55  PLUS = 5,
-
56  TWO = 6,
-
57  ONE = 7,
-
58  MINUS = 8,
-
59  HOME = 9,
-
60  Z = 10,
-
61  C = 11,
-
62  B = 12,
-
63  A = 13,
-
68  L = 16,
-
69  R = 17,
-
70  ZL = 18,
-
71  ZR = 19,
-
76  SELECT = 4,
-
77  START = 5,
-
78  L3 = 6,
-
79  R3 = 7,
+
44 enum Button {
+
47  UP = 0,
+
48  RIGHT = 1,
+
49  DOWN = 2,
+
50  LEFT = 3,
+
55  PLUS = 5,
+
56  TWO = 6,
+
57  ONE = 7,
+
58  MINUS = 8,
+
59  HOME = 9,
+
60  Z = 10,
+
61  C = 11,
+
62  B = 12,
+
63  A = 13,
+
68  L = 16,
+
69  R = 17,
+
70  ZL = 18,
+
71  ZR = 19,
+
76  SELECT = 4,
+
77  START = 5,
+
78  L3 = 6,
+
79  R3 = 7,
80 
-
81  L2 = 8,
-
82  R2 = 9,
-
83  L1 = 10,
-
84  R1 = 11,
-
85  TRIANGLE = 12,
-
86  CIRCLE = 13,
-
87  CROSS = 14,
-
88  SQUARE = 15,
+
81  L2 = 8,
+
82  R2 = 9,
+
83  L1 = 10,
+
84  R1 = 11,
+
85  TRIANGLE = 12,
+
86  CIRCLE = 13,
+
87  CROSS = 14,
+
88  SQUARE = 15,
89 
-
90  PS = 16,
+
90  PS = 16,
91 
-
92  MOVE = 17, // Covers 12 bits - we only need to read the top 8
-
93  T = 18, // Covers 12 bits - we only need to read the top 8
-
98  BACK = 4,
-
99  X = 14,
-
100  Y = 15,
-
101  XBOX = 16,
-
102  SYNC = 17,
-
103  BLACK = 8, // Available on the original Xbox controller
-
104  WHITE = 9, // Available on the original Xbox controller
+
92  MOVE = 17, // Covers 12 bits - we only need to read the top 8
+
93  T = 18, // Covers 12 bits - we only need to read the top 8
+
98  BACK = 4,
+
99  X = 14,
+
100  Y = 15,
+
101  XBOX = 16,
+
102  SYNC = 17,
+
103  BLACK = 8, // Available on the original Xbox controller
+
104  WHITE = 9, // Available on the original Xbox controller
106 };
107 
-
109 enum AnalogHat {
-
111  LeftHatX = 0,
-
113  LeftHatY = 1,
- - +
109 enum AnalogHat {
+
111  LeftHatX = 0,
+
113  LeftHatY = 1,
+ +
118 };
119 
120 #endif
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Button
+ + + + + +
AnalogHat
+ + + + + diff --git a/dir_397a095372f04465e811d0ee219bbf8f.html b/dir_397a095372f04465e811d0ee219bbf8f.html index e157417a..87bbafb2 100644 --- a/dir_397a095372f04465e811d0ee219bbf8f.html +++ b/dir_397a095372f04465e811d0ee219bbf8f.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: USB_Host_Shield_2.0 Directory Reference @@ -31,7 +31,7 @@ - + @@ -88,7 +88,7 @@ Directory dependency graph for USB_Host_Shield_2.0:
USB_Host_Shield_2.0
- +
+ + @@ -173,6 +175,8 @@ Files + + @@ -183,6 +187,8 @@ Files + + @@ -213,7 +219,7 @@ Files diff --git a/dir_397a095372f04465e811d0ee219bbf8f_dep.map b/dir_397a095372f04465e811d0ee219bbf8f_dep.map index de9ec080..07593b00 100644 --- a/dir_397a095372f04465e811d0ee219bbf8f_dep.map +++ b/dir_397a095372f04465e811d0ee219bbf8f_dep.map @@ -1,4 +1,4 @@ - - + + diff --git a/dir_397a095372f04465e811d0ee219bbf8f_dep.md5 b/dir_397a095372f04465e811d0ee219bbf8f_dep.md5 index 97f59bd0..baf9fa43 100644 --- a/dir_397a095372f04465e811d0ee219bbf8f_dep.md5 +++ b/dir_397a095372f04465e811d0ee219bbf8f_dep.md5 @@ -1 +1 @@ -cc1997480a9aededbe955bdbdb706429 \ No newline at end of file +2531783d83efe59016f12123301dc3c9 \ No newline at end of file diff --git a/dir_397a095372f04465e811d0ee219bbf8f_dep.png b/dir_397a095372f04465e811d0ee219bbf8f_dep.png index 7870b02714b6d71e9e92d6a90262e70537257efc..f4ea61735f4de7028459c289d8e5733428036b63 100644 GIT binary patch literal 4545 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 literal 2282 zcmaJ@dpOgL9{(Y=T*KZtVJNpZxs_MThFtfea>*qc%l#gbYuWUMj**2JF?&ZTDbC2; zn-V)>Q%Q_>R`zNxGfbFRj`y$gobx#6`QD!A^E}_nAK&Nu`R2M^K*&lRkpcif*6CM! zkKI_YYiS_yT~ETj`3u+|q5bthl1hs7OE( zOhDw73G4!=-4r^+4j_EprIa0PTnwu0F0?04iE-0=2YO(h@dW}q{}BeG0c_xCc_oS_ z%ZNXalFTTslc~+RuL;uL2Bm3+VBiLWIu7TQe-rUmzb_2*u8OQsf|rNTS$b;COqqQO zd|Ts8sLD@$IoKdO2QsO8+|51aiN3ifSoJto_CH}^vO4R-haw`;+SNsi@&}7GOn~W? zI1@1-S_2hV`|zRJX|^8~eOnZLjP2l0XzJ*&(9xOMyfeO`BAL0iaQc2pM#z%Bfc0_I zkemXt#QnSBJ#cJfq_fN9gHp;GkI5Fx^za>dpFnN(sd@jTqCz!p>RGt_Mg8NW^N3Oj zYtgr3&)1{5#;HHXMcsVqh@hb9aq{-`bdy(o$WnJ}W8Ivwf`Yr^Ky`n=^(h&ND-aEh za2$_!Qw8$l;vhL{Ex0BjNXy$2Wde?k>L@R3Gc+*)0a&avt>1BBp+rlIghDe-PFCY^ zYzru~$I1+WKmcb+Ph_O?Kr%86y5%gN@9yED4aSO#e+ml;G34n@A5y_mT3YN8G_jss zCCQA8ZV1HXk%w|l;O=Zp+AIOq%0xYcr+<_LYHHGR%J*fGNRRn^$j?8=b+7w*Ca+iJ z=2{*tj0m*G@2KZgpY+Xi9tA@n<;BH2n_Nsxte4XxqtXMr+9QV9T1X?@plG=DJBP#ZmY`Biz@fQ)L6d}LOP+8We&OX14@j4zozKF$otQWb{aLU>`eIcQbqRr-W za_R>L$h#^jd1q^jcu6)crYiu2$!0Y?gZIhpcptgz_Z%J5$rd0-M~U#%cUG&U2M?q- zme|ekHVUPqTf`rt2h-4@urJxtSS3Ala9YBvdLLr~+!tzQ2A!PvTGE^+Cj+0Gn+t2z zuxu zw`O^Ip@JoFJxR2BTmHhy{DhHOQ27w5?%9`k=p^OQFJ{Qmg`{g~$BDzlMdVn+sJCZj zk+c7{XpG0+Y4AuhH8UF;j81dttD6d-cO+SdA(E1l@8j`h=W6+UjIUwXwQEf;UPNsQ zG`zh;$w99*6?3V=X;%aeA}=RbIEW%PcJj(A{qGOX&|@m-VMh4Qgka(L_$;$Ibb~J< zWOyNiId@-L#fEe3P^j`nnbx@0CgshA`FQ}yt`@u_p&F2Lg!1;wjbkgD#yWbBPx#OO zq(LnSR2i%UuH0y7Ys*rHO%)BI*wh_=!qu|CeD3hh)Z|u4S()(l>y6-G%zhx8QORI1 zR#sN-=F5=%@{v^&Y&O0)QBzCHS6fjc)3GL?CF&R8@AlP&3f-e?yviP?gHI#6g}h?X z$r>41lnv=X<+JZgnul4_S{f^R~PCs{g5)gCm^IaWB$mI z^p1%4@<3)_+3YN|c)-&qg&AYMwJAAK#hOQ&ny%FQP^ADh2Br}Ng+iAFgH~`z9G7u@ zz1^*Gti7#GJku>AL;auY>z$#YdU6^@Wt-Q!!_LR2Y}EAhXm$s1w<|wySEJFldVB36 zBXj*0#|jI{M+;L|zY^8pWnVZP7#x1T>gDhim7V2Ytm^6cRQS{_i925_mkB8+R|QR$ zaQNw1Y+E9C-3QfjFuS@X8uKEk?`=`h(fY;?Z|;YPj})bsqV-`{qET{El9H4I1X2au zD=bW!b*p{MZK|tts=sY;+&QTua2;0r=1r_?Rm6o)DmkVq z{r>)}Fwr)Z9Paw|&p*{RxLs6so?TnJA!ULy*M6OHn|pKM42~A8^!l`+FV6uUd&ioC zJYj^7E>8@5%Jr22K>NgRoi*VGu4bWoGyjV(_qscKv1`Jz0Zm)c$+5p6KVN0~8~w%NYCF&GS{2GhH$pio#qc=yUdv@K3u>*KwNoK4$Y2; F{{sG{dO!dG diff --git a/dir_e5fbe6d2783ccd4c93c7856d92d7be6e.html b/dir_e5fbe6d2783ccd4c93c7856d92d7be6e.html index 5c11256a..2b72b17e 100644 --- a/dir_e5fbe6d2783ccd4c93c7856d92d7be6e.html +++ b/dir_e5fbe6d2783ccd4c93c7856d92d7be6e.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: GitHub Directory Reference @@ -31,7 +31,7 @@

@@ -143,6 +143,8 @@ Files

 
file  hidusagetitlearrays.cpp [code]
 
file  macros.h [code]
 
file  masstorage.cpp [code]
 
file  masstorage.h [code]
 
file  PS3USB.h [code]
 
file  settings.h [code]
 
file  SPP.cpp [code]
 
file  SPP.h [code]
 
file  usb_ch9.h [code]
 
file  UsbCore.h [code]
 
file  usbhost.h [code]
 
file  usbhub.cpp [code]
- + @@ -88,7 +88,7 @@ Directory dependency graph for GitHub:
GitHub
- +
diff --git a/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.map b/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.map index 64385f77..ea20a49f 100644 --- a/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.map +++ b/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.map @@ -1,4 +1,4 @@ - - + + diff --git a/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.md5 b/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.md5 index 2e927f3c..cb7bb8ef 100644 --- a/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.md5 +++ b/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.md5 @@ -1 +1 @@ -beac1457f1d32561bd70daab9b2688c2 \ No newline at end of file +6ddcf683c3ea3e242c1a1d931bd0cf18 \ No newline at end of file diff --git a/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.png b/dir_e5fbe6d2783ccd4c93c7856d92d7be6e_dep.png index 165ad50b09c979b431f45bc97ad3134da194845b..0e1d5fa54169931f33ef2c1e049defb4ecebf406 100644 GIT binary patch literal 4288 zcmc(jXH*kWw}z7tLXoZziXuTY2m}Z; zd;>VQqlW><-u@OE5Qr^8TSL{@2fUTe;BJiO?Yfir;6f}LH2(P3uN3=bjzLZ^JJe{N z18f*A+U*3|(L@!$FdQ@xPy^+$8E6?SU0D1o)@~#Ku7hygj91sUOH!Xcl|2qWoY9k% zVv-_wom%audjH)x+%G+*9&dy;J`O4nU=mV+2w4jR6PYRr*AhSsarkR0U|X~RnBzt= zi1x>LcFsHyapA@om_q<;%V5wNgOcafhX?^dm;P^qQb4C4es+c@CSEwX&hPr9RlZf; z-O$te@9H32^bVzY;iHyYU|@5lGeNi`{0+lZo*7+;5L+nplO93H*Vh-ZtSAKTNDwtC z5u9!~Wa*)w(F2BYP)R9x_y@Jgi8__ga{cJLxru;=#2iWU=Df$h*s+ohdvr|)Xp8}W$C(;Q(~{Dh#Ms%#ID-K(GuD45Jl2|33<6tAZrQ$0OXD z_LEIM$+}Dm#VQ@7E}k^{?&Ui4XAFI{z3V$427j{n{Y}P3(8*3j48PLk*Lxr249m;Q z6`!AM2~c^Y?0wKvjlLBrC`^32dv@6gzp}q6zwc5!aCkAd>piN|fv^+Zxt%TSaZ zF}ZttJ~Y>3#jAjyIfYd@75Sy~QFpI7YHe+}NWDv9q4~JPJN;XPM}}YTQJ|b_?ggGvy))NbW}B@7DQn0~(k3$KXc^wO^>=Of zU^s(1QQ>gz+Yq*u3aF6mLc(**D(r_^g3cgrd^aDz8Y#tM`2+qM)}2x|?2dMqX}?P! zsX47{@yJ(}e(N%cQx1R??8+k-yFPcvA$lkl;O?o9>U2;3%83mPxlX9|0&5%dX1H03wbMoCVr;Y@C}x7gwe2mTU$=SCbxysZ7k6-aSJT> zCMEPFAcUeO?4)t(WH;j?9(zHH7@#Siq zC2p(AC|iS}KQHHQY%f8|L9r`r3;G_L8_a5{GEmY$mcRe5Sy4NZX(1V9F?PP6#Ihg| z{gWMotMs7Ov+JBfgKUD9D)7DupmDP~* zCKp{)@Dg%1Q}Efwi)7Yj^~yMZhsL{)_*n-pfhC6BTBz5yUv1iqd@)pR@IR0PZu_M7 z(h`+V51zprV&QC<4phxAK@)61)d3Ug{?oqq(nF2D9@HT<;ek=~)5*&GEFx6GZmh_R zVySutO_)u=_-RiWHT(NI&Nerlob2_>Pk3!j_Tc_BeLh6E22lPER=1NI$o0Bal!!+D zSVjDGURZ8Kcw29Z$rBR8OOrp%$F8xFf-TZcBW&C55uMTSjgO#6xLPc~(o5MF!19p4 zXkPxDM}2^^O7<}$I8IfEu4|UW)z?}z-9C;cvUb-28HY1f8opG%KMUq=EH@oD8fgMuc`y7M(>!cE)n z-5&i)NYO_{aSG&Gbxuvby1kzY56_KFww>qmX{sfY}!I-hpL{L^z`?Wsz(YQ>b9KNcD)_N&?z$dAj(*+Fq+$lcvCjZLkF^B7nv@D*``*<>e8q5nGlgdI?%`e) z3G;wvEPcO56(vCo^l)`8IoRD?Ve2QWj+YYZgZ^zJR0GP@{3yoSdU^vEd%vraA`}Md zjaS`z-sL6UwQT#EB10HR*P-&yLYr+DE5#J=D7F3$Y|7Eyg9)$lAq@on1c?K!nRl-d=4 zrF!!!r+4Y;D6*sf4}k^V_Q|Seo`*!<*|ytErgx5(5-7_j^AVTbdmZqkV0_6~9z8do z8fk=o&c(*-f-ioGr7cv>8pdi-Cgt3=L=xBWN-GKwJ=?xGnAZX0N_7eAI{>wzWrrEr z?$o5%TX~#?Fw_%MErTO0<9z0ufyYR$mj)x)SpNM@KkLheVVV6}vx-Mfgvg4tw~bk< zW;NtO-DFfD-1d(od8(#MiWo(=yrM80kFt=-hc)$Htw8)@Ko{dZ*M`tI5nu-}OtUX+ z8PjL|+kLKePh6&6lZ_=t;^Vnj_;wv#-QhzS=kb9K)(5BDpW6?5keRC`_P}doUoHu0 zM6XZ=4|#^F!6PG8sY^>wrd>K!6-J{N$q1CbCG;3#8!Eml$B#NSF$uV44ezMx7P)R?g#>~!IT0YePUxsKE z?er+pq?PK~7Al4j)2s8l&R^3rW}djoBP-rHOdPL$-h?@yoKP|BP_2_FoIjyHLc=^- zFlwL<@4R}&Hn^E~#tbtP*tPX+tjNGNZ^C@!cVAj@itEd@p$>NBd)Dkntv3QgCy-)K zJ2&AnjasX`kBea73@|MDYdGWa>ZA&H^S_02C?nH7yRh6`p*mn6u@3`lz!{>=sJ7iz!ONUM(|2RE+lE_>AU}R0{;rSeM(_Tr^Eelv zcjE|k>*E<#!xm4zRGYOy|8|Tij~eJx$%eZ{zx`7{BlQElko5q6#;491N|+qNT91{P z5t3YOEeN*4ed~bYrNh5mIYFPc$qk3W*5N(EIpC6S28fvi44MYn@EpNw;Ms`0~T zOCo;ui2<6G>E8z0BH7OjrmXX=6fnPkrss3vyvsY;97!cP<^_Xhc^2AlB9z74ns2MW z>C4EZ_0otL3VrNkecT^i#hi^_)?Hg$;he$B%g$P2n+B*OI`f}T(4LlEwe(!r#}|8* zWo*$Qq%a=UZ*8}ltZIwo;wfl2`{FaxY<4(&#Yb#R>f>>k_#mf=<$P`UaoNC_$>~M* z(YCxF5*Xf>dpEjSo_pf3V-<$?$|AYFO!7Hq#9@slkwU!<0ywdT%@$K(1&5!O(jA+d zy;F-C!^)}T+04SmKj(E+c%jAzcVqbnH>yH<=!WjHUKKBC?4Po}tN&9R6&LUC4P(|Z zQsNlI)ZFiY$eAhP<@bbvvflg~+Vf@Ox5nq(>^Zzf@)xbD+mt^GFYqC(=V772n@{PZqN4n6Yu*~? z_`>`z=o8a_u_xP$spt!SyAHsC-@vAx@ZeD;z!$A(Jmfc|T^&F{4}buETo*M5U}R2E z1?&NyM*!@28^DF%iJT|^0NmNL@OAj@I3VjHz>gliuaf~jG$D38aY&0075vBLaZV59Qf;fU!7`24~|3vQpLY5PN;IK_kEz9vpdgJKbff`sie# znkdfyPGtaUP{aK=T1A7l$SALuLL~m9NYXI83RRh^u8Fu}_K7F&zd%JGWNKcAy+;Gi zg5bBo1XHI<0#r-od=~zzAb?BUx`2iA;GjET!N|SwUl9HZRP~+f5;GFa0R*x9Z$WC9 z?s}V!7Q2BgAzSbOkRP0l0Bt>;rnn)LfR;9ZEw~ozN*~bBS6$EoXF>Rd;|F2m=M?J%}(Cg6Jj!$(m$e(!ptD1<17#5?2=UO8{IB~1=<))vM~Vv|F7oii=8BujG6 z$je$HLbElNRA~Pms67i008n% z7eSt46pH7Ky^`W}Pm<)HVvq@RaRdQGKgL56p%4Jr`@jig>xFu-$V9ka_Sd4Urkqej zsDSnYtG|7H$T|2MrrH*(L@|IJhU}A5ExK~%t#ULLu31g&x2?=kY_>Q&N~XGMT&Ej9 zD&U-aav)4b`BHX1=8al&T&i=g=j%Xl*akUXZ#-*^IrfyjaXY?)v@zAk4~s<|pZOGS zCJD>PYtsdM`R%wCJ?(4iss9YVE{u)J%gd9=ZCe{{_X!Ay&Cb?9bpv~^5=Q%9Wps(XMOUH9J#i_T%CAz$6V>yF{fsR z*^;!-9d~nb63P_GDlXY1u2%@3``9GxZg;Q=i^>~4!&GmF>K7!^m0HgmK|!u%#`bky z>uYPAIE#9!nvxPLsmqP<4aZ1KNWgGdeVMWf8b)QVSS(gtV(;Szt+WhvbqS9jzkwND zto0P9-b?hpa^+OX;GMLzz`($)tgNR`pDHUW1A)NrF}K6Q7KX}9I$nC|d5475QA5#d zocz9^ld6NG)sB=Lb>zyI-re0~ya#G_s0=M!CsQbdnwtHzQ|e|VhN9-U5V!Df4W)q~ z%GOo_ma{E*nw8a8g*H23a@iSFS!uCUM`~*$bV0f!n9#@Wd4?w;=*<-;Amb%FQZg0B zXg(q>txnpi+y8Ey%o8LDTi?TZtE**}$OtGDDwap3C6deKVxAC*ZuQjjs1+FZ`@rzg zsrKkQi6yc{&h{X2!6#c06-L+od{?9|FLS4=3hLuCL4R?5e0*FS>-7}&tso#IB&6P_ z!P&{_gr45~(vn%3D##KbVl&q#x6sIAs$#*LN$gc&%Pkee8{#_<4h`TUvH z&*PC* z@&%T9LA>7qBrPp15C~W-mg+q+3s&Yj!DPNi+rNsN^K9_ZFLEw1gq}w*nvb~@Z$pvq z)Qb&8-)PW7M8DO{`}aTm4zRuOx?aSpN;2N1XpcnIm!}pK{NkAV7GYMlqZ2vZ9XVKI|pB}zz03=?{00v?D@HXqlyvJxfKDjW!E39tu_ zTI&7^g1`K9(^N)QR&h%pny=g#*WVK6m{nZ*MeTHyF4Ck@vDNQn()no$n{U!Nx;ey} zVwv=Rmf;Tj6005aZqZHPL#4e6v#L{(y=-1b{~T@N+*Hqf-dtpdDuqG`hApk*GmMV_ zxf?$$g?(-L6yD=|S8O9Y+{VTx(^_kACxwSIXa!{K%aUzy;a=BEyO~5<$87B#zf^_+5=&Say+}iOYh0FC*;AqK?BYVQhW<{Il#;3_FNcKETQ>GeY<{@*-@bpvBFPl$4M$AS S(OL1&1>j`w1|r(Q(*6cW;f`Ve diff --git a/doxygen.css b/doxygen.css index 3ac28511..4699e697 100644 --- a/doxygen.css +++ b/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.8.4 */ +/* The standard CSS for doxygen 1.8.5 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; @@ -141,11 +141,11 @@ a.el { a.elRef { } -a.code, a.code:visited { +a.code, a.code:visited, a.line, a.line:visited { color: #4665A2; } -a.codeRef, a.codeRef:visited { +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { color: #4665A2; } @@ -1165,6 +1165,177 @@ tr.heading h2 { margin-bottom: 4px; } +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + @media print { #top { display: none; } diff --git a/dynsections.js b/dynsections.js index ed092c7f..2f15470d 100644 --- a/dynsections.js +++ b/dynsections.js @@ -95,3 +95,10 @@ function toggleInherit(id) } } + +$(document).ready(function() { + $('.code,.codeRef').each(function() { + $(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); + $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); + }); +}); diff --git a/files.html b/files.html index 9a157a34..f27bf7ef 100644 --- a/files.html +++ b/files.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: File List @@ -31,7 +31,7 @@

@@ -101,7 +101,7 @@ Directories

- + @@ -112,38 +112,41 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); o*hiduniversal.h o*hidusagestr.h o*hidusagetitlearrays.cpp -o*masstorage.cpp -o*masstorage.h -o*max3421e.h -o*max_LCD.cpp -o*max_LCD.h -o*message.cpp -o*message.h -o*parsetools.cpp -o*parsetools.h -o*printhex.h -o*PS3BT.cpp -o*PS3BT.h -o*PS3Enums.h -o*PS3USB.cpp -o*PS3USB.h -o*SPP.cpp -o*SPP.h -o*Usb.cpp -o*Usb.h -o*usb_ch9.h -o*usbhost.h -o*usbhub.cpp -o*usbhub.h -o*Wii.cpp -o*Wii.h -o*xboxEnums.h -o*XBOXOLD.cpp -o*XBOXOLD.h -o*XBOXRECV.cpp -o*XBOXRECV.h -o*XBOXUSB.cpp -\*XBOXUSB.h +o*macros.h +o*masstorage.cpp +o*masstorage.h +o*max3421e.h +o*max_LCD.cpp +o*max_LCD.h +o*message.cpp +o*message.h +o*parsetools.cpp +o*parsetools.h +o*printhex.h +o*PS3BT.cpp +o*PS3BT.h +o*PS3Enums.h +o*PS3USB.cpp +o*PS3USB.h +o*settings.h +o*SPP.cpp +o*SPP.h +o*Usb.cpp +o*Usb.h +o*usb_ch9.h +o*UsbCore.h +o*usbhost.h +o*usbhub.cpp +o*usbhub.h +o*Wii.cpp +o*Wii.h +o*xboxEnums.h +o*XBOXOLD.cpp +o*XBOXOLD.h +o*XBOXRECV.cpp +o*XBOXRECV.h +o*XBOXUSB.cpp +\*XBOXUSB.h @@ -151,7 +154,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search'); diff --git a/functions.html b/functions.html index fa24cb13..c3830cae 100644 --- a/functions.html +++ b/functions.html @@ -3,7 +3,7 @@ - + USB Host Shield 2.0: Class Members @@ -31,7 +31,7 @@ - + @@ -124,14 +124,38 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here is a list of all class members with links to the classes they belong to:

- a -

17 #if !defined(__CDCPROLIFIC_H__)
16  */
20 #ifndef _xboxrecv_h_
22 //#define EXTRADEBUG // Uncomment to get even more debugging data
18 #ifndef _ps3usb_h_
20 //#define EXTRADEBUG // Uncomment to get even more debugging data
19 #define _btd_h_