diff --git a/_b_t_d_8cpp_source.html b/_b_t_d_8cpp_source.html
index 85833835..ae878380 100644
--- a/_b_t_d_8cpp_source.html
+++ b/_b_t_d_8cpp_source.html
@@ -127,7 +127,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
+
@@ -384,7 +384,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
+
298 btService[i]->
Reset ();
@@ -596,9 +596,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- 508 for (uint8_t i = 0; i < min(
sizeof (
remote_name ),
sizeof (hcibuf) - 9); i++) {
-
-
+ 508 for (uint8_t i = 0; i < min(
sizeof (
remote_name ),
sizeof (hcibuf) - 9); i++) {
+
+
@@ -887,592 +887,589 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
797 #ifdef DEBUG_USB_HOST
798 Notify (PSTR(
"\r\nRemote Name: " ), 0x80);
- 799 for (uint8_t i = 0; i < 30; i++) {
-
-
-
-
-
- 805 if (strncmp((
const char *)
remote_name ,
"Nintendo" , 8) == 0) {
-
- 807 #ifdef DEBUG_USB_HOST
- 808 Notify (PSTR(
"\r\nWiimote is connecting" ), 0x80);
-
- 810 if (strncmp((
const char *)
remote_name ,
"Nintendo RVL-CNT-01-TR" , 22) == 0) {
- 811 #ifdef DEBUG_USB_HOST
- 812 Notify (PSTR(
" with Motion Plus Inside" ), 0x80);
-
-
- 815 }
else if (strncmp((
const char *)
remote_name ,
"Nintendo RVL-CNT-01-UC" , 22) == 0) {
- 816 #ifdef DEBUG_USB_HOST
- 817 Notify (PSTR(
" - Wii U Pro Controller" ), 0x80);
-
-
-
-
-
-
-
-
- 826 if (classOfDevice[2] == 0 && classOfDevice[1] == 0x25 && classOfDevice[0] == 0x08 && strncmp((
const char *)
remote_name ,
"Wireless Controller" , 19) == 0) {
- 827 #ifdef DEBUG_USB_HOST
- 828 Notify (PSTR(
"\r\nPS4 controller is connecting" ), 0x80);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 843 #ifdef DEBUG_USB_HOST
- 844 Notify (PSTR(
"\r\nConnected to Device: " ), 0x80);
- 845 for (int8_t i = 5; i > 0; i--) {
-
-
-
- 849 D_PrintHex<uint8_t > (disc_bdaddr[0], 0x80);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 866 if (hci_counter > 1000) {
-
-
-
-
-
-
-
- 874 #ifdef DEBUG_USB_HOST
- 875 Notify (PSTR(
"\r\nHCI Disconnected from Device" ), 0x80);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 895 void BTD::ACL_event_task() {
-
-
-
-
-
-
-
- 903 btService[i]->
ACLData (l2capinbuf);
-
-
-
-
- 908 else if (rcode !=
hrNAK ) {
- 909 Notify (PSTR(
"\r\nACL data in error: " ), 0x80);
- 910 D_PrintHex<uint8_t > (rcode, 0x80);
-
-
-
-
-
-
+
+
+
+ 802 if (strncmp((
const char *)
remote_name ,
"Nintendo" , 8) == 0) {
+
+ 804 #ifdef DEBUG_USB_HOST
+ 805 Notify (PSTR(
"\r\nWiimote is connecting" ), 0x80);
+
+ 807 if (strncmp((
const char *)
remote_name ,
"Nintendo RVL-CNT-01-TR" , 22) == 0) {
+ 808 #ifdef DEBUG_USB_HOST
+ 809 Notify (PSTR(
" with Motion Plus Inside" ), 0x80);
+
+
+ 812 }
else if (strncmp((
const char *)
remote_name ,
"Nintendo RVL-CNT-01-UC" , 22) == 0) {
+ 813 #ifdef DEBUG_USB_HOST
+ 814 Notify (PSTR(
" - Wii U Pro Controller" ), 0x80);
+
+
+
+
+
+
+
+
+ 823 if (classOfDevice[2] == 0 && classOfDevice[1] == 0x25 && classOfDevice[0] == 0x08 && strncmp((
const char *)
remote_name ,
"Wireless Controller" , 19) == 0) {
+ 824 #ifdef DEBUG_USB_HOST
+ 825 Notify (PSTR(
"\r\nPS4 controller is connecting" ), 0x80);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 840 #ifdef DEBUG_USB_HOST
+ 841 Notify (PSTR(
"\r\nConnected to Device: " ), 0x80);
+ 842 for (int8_t i = 5; i > 0; i--) {
+
+
+
+ 846 D_PrintHex<uint8_t > (disc_bdaddr[0], 0x80);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 863 if (hci_counter > 1000) {
+
+
+
+
+
+
+
+ 871 #ifdef DEBUG_USB_HOST
+ 872 Notify (PSTR(
"\r\nHCI Disconnected from Device" ), 0x80);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 892 void BTD::ACL_event_task() {
+
+
+
+
+
+
+
+ 900 btService[i]->
ACLData (l2capinbuf);
+
+
+
+
+ 905 else if (rcode !=
hrNAK ) {
+ 906 Notify (PSTR(
"\r\nACL data in error: " ), 0x80);
+ 907 D_PrintHex<uint8_t > (rcode, 0x80);
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- 924 pUsb ->
ctrlReq (
bAddress ,
epInfo [
BTD_CONTROL_PIPE ].epAddr,
bmREQ_HCI_OUT , 0x00, 0x00, 0x00, 0x00, nbytes, nbytes, data, NULL);
-
-
-
-
-
- 930 hcibuf[1] = 0x03 << 2;
-
+
+
+ 921 pUsb ->
ctrlReq (
bAddress ,
epInfo [
BTD_CONTROL_PIPE ].epAddr,
bmREQ_HCI_OUT , 0x00, 0x00, 0x00, 0x00, nbytes, nbytes, data, NULL);
+
+
+
+
+
+ 927 hcibuf[1] = 0x03 << 2;
+
+
+
+
-
-
-
-
-
-
- 939 hcibuf[1] = 0x03 << 2;
-
-
-
-
-
+
+
+
+ 936 hcibuf[1] = 0x03 << 2;
+
+
+
+
+
+
+
+
-
-
-
-
-
- 951 hcibuf[1] = 0x03 << 2;
-
-
+
+
+ 948 hcibuf[1] = 0x03 << 2;
+
+
+
+
+
-
-
-
-
-
-
- 961 hcibuf[1] = 0x04 << 2;
-
+
+
+
+ 958 hcibuf[1] = 0x04 << 2;
+
+
+
+
-
-
-
-
-
-
- 970 hcibuf[1] = 0x04 << 2;
-
+
+
+
+ 967 hcibuf[1] = 0x04 << 2;
+
+
+
+
-
-
-
-
-
-
- 979 hcibuf[1] = 0x01 << 2;
-
- 981 hcibuf[3] = disc_bdaddr[0];
- 982 hcibuf[4] = disc_bdaddr[1];
- 983 hcibuf[5] = disc_bdaddr[2];
- 984 hcibuf[6] = disc_bdaddr[3];
- 985 hcibuf[7] = disc_bdaddr[4];
- 986 hcibuf[8] = disc_bdaddr[5];
-
+
+
+
+ 976 hcibuf[1] = 0x01 << 2;
+
+ 978 hcibuf[3] = disc_bdaddr[0];
+ 979 hcibuf[4] = disc_bdaddr[1];
+ 980 hcibuf[5] = disc_bdaddr[2];
+ 981 hcibuf[6] = disc_bdaddr[3];
+ 982 hcibuf[7] = disc_bdaddr[4];
+ 983 hcibuf[8] = disc_bdaddr[5];
+
+
+
+
-
-
-
-
-
-
- 995 hcibuf[1] = 0x01 << 2;
-
- 997 hcibuf[3] = disc_bdaddr[0];
- 998 hcibuf[4] = disc_bdaddr[1];
- 999 hcibuf[5] = disc_bdaddr[2];
- 1000 hcibuf[6] = disc_bdaddr[3];
- 1001 hcibuf[7] = disc_bdaddr[4];
- 1002 hcibuf[8] = disc_bdaddr[5];
-
-
-
-
+
+
+
+ 992 hcibuf[1] = 0x01 << 2;
+
+ 994 hcibuf[3] = disc_bdaddr[0];
+ 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];
+
+
+
+
+
+
+
-
-
-
-
-
- 1013 hcibuf[1] = 0x03 << 2;
- 1014 hcibuf[2] = strlen(name) + 1;
-
- 1016 for (i = 0; i < strlen(name); i++)
- 1017 hcibuf[i + 3] = name[i];
- 1018 hcibuf[i + 3] = 0x00;
+
+
+ 1010 hcibuf[1] = 0x03 << 2;
+ 1011 hcibuf[2] = strlen(name) + 1;
+
+ 1013 for (i = 0; i < strlen(name); i++)
+ 1014 hcibuf[i + 3] = name[i];
+ 1015 hcibuf[i + 3] = 0x00;
+
+
+
-
-
-
-
-
-
- 1026 hcibuf[1] = 0x01 << 2;
-
-
-
-
-
-
+
+
+
+ 1023 hcibuf[1] = 0x01 << 2;
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- 1039 hcibuf[1] = 0x01 << 2;
-
+
+
+ 1036 hcibuf[1] = 0x01 << 2;
+
+
+
+
-
-
-
-
-
-
-
-
-
-
- 1052 hcibuf[1] = 0x01 << 2;
-
- 1054 hcibuf[3] = bdaddr[0];
- 1055 hcibuf[4] = bdaddr[1];
- 1056 hcibuf[5] = bdaddr[2];
- 1057 hcibuf[6] = bdaddr[3];
- 1058 hcibuf[7] = bdaddr[4];
- 1059 hcibuf[8] = bdaddr[5];
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ 1049 hcibuf[1] = 0x01 << 2;
+
+ 1051 hcibuf[3] = bdaddr[0];
+ 1052 hcibuf[4] = bdaddr[1];
+ 1053 hcibuf[5] = bdaddr[2];
+ 1054 hcibuf[6] = bdaddr[3];
+ 1055 hcibuf[7] = bdaddr[4];
+ 1056 hcibuf[8] = bdaddr[5];
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- 1073 hcibuf[1] = 0x01 << 2;
-
- 1075 hcibuf[3] = disc_bdaddr[0];
- 1076 hcibuf[4] = disc_bdaddr[1];
- 1077 hcibuf[5] = disc_bdaddr[2];
- 1078 hcibuf[6] = disc_bdaddr[3];
- 1079 hcibuf[7] = disc_bdaddr[4];
- 1080 hcibuf[8] = disc_bdaddr[5];
-
-
-
- 1084 #ifdef DEBUG_USB_HOST
- 1085 Notify (PSTR(
"\r\nParing with Wii U Pro Controller" ), 0x80);
-
- 1087 for (uint8_t i = 0; i < 6; i++)
-
-
- 1090 for (uint8_t i = 0; i < 6; i++)
- 1091 hcibuf[10 + i] = disc_bdaddr[i];
-
- 1093 for (uint8_t i = 16; i < 26; i++)
-
-
- 1096 hcibuf[9] = strlen(
btdPin );
-
- 1098 for (i = 0; i < strlen(
btdPin ); i++)
- 1099 hcibuf[i + 10] =
btdPin [i];
-
- 1101 hcibuf[i + 10] = 0x00;
-
+
+
+ 1070 hcibuf[1] = 0x01 << 2;
+
+ 1072 hcibuf[3] = disc_bdaddr[0];
+ 1073 hcibuf[4] = disc_bdaddr[1];
+ 1074 hcibuf[5] = disc_bdaddr[2];
+ 1075 hcibuf[6] = disc_bdaddr[3];
+ 1076 hcibuf[7] = disc_bdaddr[4];
+ 1077 hcibuf[8] = disc_bdaddr[5];
+
+
+
+ 1081 #ifdef DEBUG_USB_HOST
+ 1082 Notify (PSTR(
"\r\nParing with Wii U Pro Controller" ), 0x80);
+
+ 1084 for (uint8_t i = 0; i < 6; i++)
+
+
+ 1087 for (uint8_t i = 0; i < 6; i++)
+ 1088 hcibuf[10 + i] = disc_bdaddr[i];
+
+ 1090 for (uint8_t i = 16; i < 26; i++)
+
+
+ 1093 hcibuf[9] = strlen(
btdPin );
+
+ 1095 for (i = 0; i < strlen(
btdPin ); i++)
+ 1096 hcibuf[i + 10] =
btdPin [i];
+
+ 1098 hcibuf[i + 10] = 0x00;
+
+
+
+
-
-
-
-
-
- 1109 hcibuf[1] = 0x01 << 2;
-
- 1111 hcibuf[3] = disc_bdaddr[0];
- 1112 hcibuf[4] = disc_bdaddr[1];
- 1113 hcibuf[5] = disc_bdaddr[2];
- 1114 hcibuf[6] = disc_bdaddr[3];
- 1115 hcibuf[7] = disc_bdaddr[4];
- 1116 hcibuf[8] = disc_bdaddr[5];
+
+
+ 1106 hcibuf[1] = 0x01 << 2;
+
+ 1108 hcibuf[3] = disc_bdaddr[0];
+ 1109 hcibuf[4] = disc_bdaddr[1];
+ 1110 hcibuf[5] = disc_bdaddr[2];
+ 1111 hcibuf[6] = disc_bdaddr[3];
+ 1112 hcibuf[7] = disc_bdaddr[4];
+ 1113 hcibuf[8] = disc_bdaddr[5];
+
+
+
-
-
-
-
-
- 1123 hcibuf[1] = 0x01 << 2;
-
- 1125 hcibuf[3] = disc_bdaddr[0];
- 1126 hcibuf[4] = disc_bdaddr[1];
- 1127 hcibuf[5] = disc_bdaddr[2];
- 1128 hcibuf[6] = disc_bdaddr[3];
- 1129 hcibuf[7] = disc_bdaddr[4];
- 1130 hcibuf[8] = disc_bdaddr[5];
+
+
+ 1120 hcibuf[1] = 0x01 << 2;
+
+ 1122 hcibuf[3] = disc_bdaddr[0];
+ 1123 hcibuf[4] = disc_bdaddr[1];
+ 1124 hcibuf[5] = disc_bdaddr[2];
+ 1125 hcibuf[6] = disc_bdaddr[3];
+ 1126 hcibuf[7] = disc_bdaddr[4];
+ 1127 hcibuf[8] = disc_bdaddr[5];
+
+
+
-
-
-
-
-
- 1137 hcibuf[1] = 0x01 << 2;
-
-
- 1140 hcibuf[4] = (uint8_t)((
hci_handle >> 8) & 0x0F);
+
+
+ 1134 hcibuf[1] = 0x01 << 2;
+
+
+ 1137 hcibuf[4] = (uint8_t)((
hci_handle >> 8) & 0x0F);
+
+
+
-
-
-
-
-
-
- 1148 hcibuf[1] = 0x01 << 2;
-
- 1150 hcibuf[3] = (uint8_t)(handle & 0xFF);
- 1151 hcibuf[4] = (uint8_t)((handle >> 8) & 0x0F);
-
+
+
+
+ 1145 hcibuf[1] = 0x01 << 2;
+
+ 1147 hcibuf[3] = (uint8_t)(handle & 0xFF);
+ 1148 hcibuf[4] = (uint8_t)((handle >> 8) & 0x0F);
+
+
+
+
-
-
-
-
-
- 1159 hcibuf[1] = 0x03 << 2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ 1156 hcibuf[1] = 0x03 << 2;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- 1193 void BTD::L2CAP_Command (uint16_t handle, uint8_t* data, uint8_t nbytes, uint8_t channelLow, uint8_t channelHigh) {
- 1194 uint8_t buf[8 + nbytes];
- 1195 buf[0] = (uint8_t)(handle & 0xff);
- 1196 buf[1] = (uint8_t)(((handle >> 8) & 0x0f) | 0x20);
- 1197 buf[2] = (uint8_t)((4 + nbytes) & 0xff);
- 1198 buf[3] = (uint8_t)((4 + nbytes) >> 8);
- 1199 buf[4] = (uint8_t)(nbytes & 0xff);
- 1200 buf[5] = (uint8_t)(nbytes >> 8);
- 1201 buf[6] = channelLow;
- 1202 buf[7] = channelHigh;
+ 1190 void BTD::L2CAP_Command (uint16_t handle, uint8_t* data, uint8_t nbytes, uint8_t channelLow, uint8_t channelHigh) {
+ 1191 uint8_t buf[8 + nbytes];
+ 1192 buf[0] = (uint8_t)(handle & 0xff);
+ 1193 buf[1] = (uint8_t)(((handle >> 8) & 0x0f) | 0x20);
+ 1194 buf[2] = (uint8_t)((4 + nbytes) & 0xff);
+ 1195 buf[3] = (uint8_t)((4 + nbytes) >> 8);
+ 1196 buf[4] = (uint8_t)(nbytes & 0xff);
+ 1197 buf[5] = (uint8_t)(nbytes >> 8);
+ 1198 buf[6] = channelLow;
+ 1199 buf[7] = channelHigh;
+
+ 1201 for (uint16_t i = 0; i < nbytes; i++)
+ 1202 buf[8 + i] = data[i];
- 1204 for (uint16_t i = 0; i < nbytes; i++)
- 1205 buf[8 + i] = data[i];
-
-
-
-
- 1210 #ifdef DEBUG_USB_HOST
- 1211 Notify (PSTR(
"\r\nError sending L2CAP message: 0x" ), 0x80);
- 1212 D_PrintHex<uint8_t > (rcode, 0x80);
- 1213 Notify (PSTR(
" - Channel ID: " ), 0x80);
- 1214 D_PrintHex<uint8_t > (channelHigh, 0x80);
-
- 1216 D_PrintHex<uint8_t > (channelLow, 0x80);
-
-
-
-
-
-
- 1223 l2capoutbuf[1] = rxid;
- 1224 l2capoutbuf[2] = 0x04;
- 1225 l2capoutbuf[3] = 0x00;
- 1226 l2capoutbuf[4] = (uint8_t)(psm & 0xff);
- 1227 l2capoutbuf[5] = (uint8_t)(psm >> 8);
- 1228 l2capoutbuf[6] = scid[0];
- 1229 l2capoutbuf[7] = scid[1];
+
+
+
+ 1207 #ifdef DEBUG_USB_HOST
+ 1208 Notify (PSTR(
"\r\nError sending L2CAP message: 0x" ), 0x80);
+ 1209 D_PrintHex<uint8_t > (rcode, 0x80);
+ 1210 Notify (PSTR(
" - Channel ID: " ), 0x80);
+ 1211 D_PrintHex<uint8_t > (channelHigh, 0x80);
+
+ 1213 D_PrintHex<uint8_t > (channelLow, 0x80);
+
+
+
+
+
+
+ 1220 l2capoutbuf[1] = rxid;
+ 1221 l2capoutbuf[2] = 0x04;
+ 1222 l2capoutbuf[3] = 0x00;
+ 1223 l2capoutbuf[4] = (uint8_t)(psm & 0xff);
+ 1224 l2capoutbuf[5] = (uint8_t)(psm >> 8);
+ 1225 l2capoutbuf[6] = scid[0];
+ 1226 l2capoutbuf[7] = scid[1];
+
+
+
-
-
-
-
-
- 1236 l2capoutbuf[1] = rxid;
- 1237 l2capoutbuf[2] = 0x08;
- 1238 l2capoutbuf[3] = 0x00;
- 1239 l2capoutbuf[4] = dcid[0];
- 1240 l2capoutbuf[5] = dcid[1];
- 1241 l2capoutbuf[6] = scid[0];
- 1242 l2capoutbuf[7] = scid[1];
- 1243 l2capoutbuf[8] = result;
- 1244 l2capoutbuf[9] = 0x00;
- 1245 l2capoutbuf[10] = 0x00;
- 1246 l2capoutbuf[11] = 0x00;
+
+
+ 1233 l2capoutbuf[1] = rxid;
+ 1234 l2capoutbuf[2] = 0x08;
+ 1235 l2capoutbuf[3] = 0x00;
+ 1236 l2capoutbuf[4] = dcid[0];
+ 1237 l2capoutbuf[5] = dcid[1];
+ 1238 l2capoutbuf[6] = scid[0];
+ 1239 l2capoutbuf[7] = scid[1];
+ 1240 l2capoutbuf[8] = result;
+ 1241 l2capoutbuf[9] = 0x00;
+ 1242 l2capoutbuf[10] = 0x00;
+ 1243 l2capoutbuf[11] = 0x00;
+
+
+
-
-
-
-
-
- 1253 l2capoutbuf[1] = rxid;
- 1254 l2capoutbuf[2] = 0x08;
- 1255 l2capoutbuf[3] = 0x00;
- 1256 l2capoutbuf[4] = dcid[0];
- 1257 l2capoutbuf[5] = dcid[1];
- 1258 l2capoutbuf[6] = 0x00;
- 1259 l2capoutbuf[7] = 0x00;
- 1260 l2capoutbuf[8] = 0x01;
- 1261 l2capoutbuf[9] = 0x02;
- 1262 l2capoutbuf[10] = 0xFF;
- 1263 l2capoutbuf[11] = 0xFF;
+
+
+ 1250 l2capoutbuf[1] = rxid;
+ 1251 l2capoutbuf[2] = 0x08;
+ 1252 l2capoutbuf[3] = 0x00;
+ 1253 l2capoutbuf[4] = dcid[0];
+ 1254 l2capoutbuf[5] = dcid[1];
+ 1255 l2capoutbuf[6] = 0x00;
+ 1256 l2capoutbuf[7] = 0x00;
+ 1257 l2capoutbuf[8] = 0x01;
+ 1258 l2capoutbuf[9] = 0x02;
+ 1259 l2capoutbuf[10] = 0xFF;
+ 1260 l2capoutbuf[11] = 0xFF;
+
+
+
-
-
-
-
-
- 1270 l2capoutbuf[1] = rxid;
- 1271 l2capoutbuf[2] = 0x0A;
- 1272 l2capoutbuf[3] = 0x00;
- 1273 l2capoutbuf[4] = scid[0];
- 1274 l2capoutbuf[5] = scid[1];
- 1275 l2capoutbuf[6] = 0x00;
- 1276 l2capoutbuf[7] = 0x00;
- 1277 l2capoutbuf[8] = 0x00;
- 1278 l2capoutbuf[9] = 0x00;
- 1279 l2capoutbuf[10] = 0x01;
- 1280 l2capoutbuf[11] = 0x02;
- 1281 l2capoutbuf[12] = 0xA0;
- 1282 l2capoutbuf[13] = 0x02;
+
+
+ 1267 l2capoutbuf[1] = rxid;
+ 1268 l2capoutbuf[2] = 0x0A;
+ 1269 l2capoutbuf[3] = 0x00;
+ 1270 l2capoutbuf[4] = scid[0];
+ 1271 l2capoutbuf[5] = scid[1];
+ 1272 l2capoutbuf[6] = 0x00;
+ 1273 l2capoutbuf[7] = 0x00;
+ 1274 l2capoutbuf[8] = 0x00;
+ 1275 l2capoutbuf[9] = 0x00;
+ 1276 l2capoutbuf[10] = 0x01;
+ 1277 l2capoutbuf[11] = 0x02;
+ 1278 l2capoutbuf[12] = 0xA0;
+ 1279 l2capoutbuf[13] = 0x02;
+
+
+
-
-
-
-
-
- 1289 l2capoutbuf[1] = rxid;
- 1290 l2capoutbuf[2] = 0x04;
- 1291 l2capoutbuf[3] = 0x00;
- 1292 l2capoutbuf[4] = dcid[0];
- 1293 l2capoutbuf[5] = dcid[1];
- 1294 l2capoutbuf[6] = scid[0];
- 1295 l2capoutbuf[7] = scid[1];
+
+
+ 1286 l2capoutbuf[1] = rxid;
+ 1287 l2capoutbuf[2] = 0x04;
+ 1288 l2capoutbuf[3] = 0x00;
+ 1289 l2capoutbuf[4] = dcid[0];
+ 1290 l2capoutbuf[5] = dcid[1];
+ 1291 l2capoutbuf[6] = scid[0];
+ 1292 l2capoutbuf[7] = scid[1];
+
+
+
-
-
-
-
-
- 1302 l2capoutbuf[1] = rxid;
- 1303 l2capoutbuf[2] = 0x04;
- 1304 l2capoutbuf[3] = 0x00;
- 1305 l2capoutbuf[4] = dcid[0];
- 1306 l2capoutbuf[5] = dcid[1];
- 1307 l2capoutbuf[6] = scid[0];
- 1308 l2capoutbuf[7] = scid[1];
+
+
+ 1299 l2capoutbuf[1] = rxid;
+ 1300 l2capoutbuf[2] = 0x04;
+ 1301 l2capoutbuf[3] = 0x00;
+ 1302 l2capoutbuf[4] = dcid[0];
+ 1303 l2capoutbuf[5] = dcid[1];
+ 1304 l2capoutbuf[6] = scid[0];
+ 1305 l2capoutbuf[7] = scid[1];
+
+
+
-
-
-
-
-
- 1315 l2capoutbuf[1] = rxid;
- 1316 l2capoutbuf[2] = 0x08;
- 1317 l2capoutbuf[3] = 0x00;
- 1318 l2capoutbuf[4] = infoTypeLow;
- 1319 l2capoutbuf[5] = infoTypeHigh;
- 1320 l2capoutbuf[6] = 0x00;
- 1321 l2capoutbuf[7] = 0x00;
- 1322 l2capoutbuf[8] = 0x00;
- 1323 l2capoutbuf[9] = 0x00;
- 1324 l2capoutbuf[10] = 0x00;
- 1325 l2capoutbuf[11] = 0x00;
+
+
+ 1312 l2capoutbuf[1] = rxid;
+ 1313 l2capoutbuf[2] = 0x08;
+ 1314 l2capoutbuf[3] = 0x00;
+ 1315 l2capoutbuf[4] = infoTypeLow;
+ 1316 l2capoutbuf[5] = infoTypeHigh;
+ 1317 l2capoutbuf[6] = 0x00;
+ 1318 l2capoutbuf[7] = 0x00;
+ 1319 l2capoutbuf[8] = 0x00;
+ 1320 l2capoutbuf[9] = 0x00;
+ 1321 l2capoutbuf[10] = 0x00;
+ 1322 l2capoutbuf[11] = 0x00;
+
+
+
-
-
-
-
- 1331 void BTD::setBdaddr(uint8_t* bdaddr) {
-
-
-
-
+
+ 1328 void BTD::setBdaddr(uint8_t* bdaddr) {
+
+
+
+
+
+ 1334 for (uint8_t i = 0; i < 6; i++)
+ 1335 buf[i + 2] = bdaddr[5 - i];
- 1337 for (uint8_t i = 0; i < 6; i++)
- 1338 buf[i + 2] = bdaddr[5 - i];
-
-
- 1341 pUsb ->
ctrlReq (
bAddress ,
epInfo [
BTD_CONTROL_PIPE ].epAddr,
bmREQ_HID_OUT ,
HID_REQUEST_SET_REPORT , 0xF5, 0x03, 0x00, 8, 8, buf, NULL);
-
-
- 1344 void BTD::setMoveBdaddr(uint8_t* bdaddr) {
-
-
-
-
-
-
-
+
+ 1338 pUsb ->
ctrlReq (
bAddress ,
epInfo [
BTD_CONTROL_PIPE ].epAddr,
bmREQ_HID_OUT ,
HID_REQUEST_SET_REPORT , 0xF5, 0x03, 0x00, 8, 8, buf, NULL);
+
+
+ 1341 void BTD::setMoveBdaddr(uint8_t* bdaddr) {
+
+
+
+
+
+
+
+
+ 1350 for (uint8_t i = 0; i < 6; i++)
+ 1351 buf[i + 1] = bdaddr[i];
- 1353 for (uint8_t i = 0; i < 6; i++)
- 1354 buf[i + 1] = bdaddr[i];
-
-
- 1357 pUsb ->
ctrlReq (
bAddress ,
epInfo [
BTD_CONTROL_PIPE ].epAddr,
bmREQ_HID_OUT ,
HID_REQUEST_SET_REPORT , 0x05, 0x03, 0x00, 11, 11, buf, NULL);
-
+
+ 1354 pUsb ->
ctrlReq (
bAddress ,
epInfo [
BTD_CONTROL_PIPE ].epAddr,
bmREQ_HID_OUT ,
HID_REQUEST_SET_REPORT , 0x05, 0x03, 0x00, 11, 11, buf, NULL);
+
static const uint8_t BTD_DATAOUT_PIPE
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
-
+
-
-void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
+
+void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
#define HCI_SCANNING_STATE
#define USB_ERROR_EPINFO_IS_NULL
-void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t *scid, uint16_t psm)
+void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t *scid, uint16_t psm)
#define EV_COMMAND_STATUS
#define EV_REMOTE_NAME_COMPLETE
bool sdpConnectionClaimed
-void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
+void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
bool rfcommConnectionClaimed
#define EV_INQUIRY_COMPLETE
-
+
static const uint8_t BTD_EVENT_PIPE
@@ -1480,12 +1477,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-void hci_write_scan_disable()
+void hci_write_scan_disable()
#define HCI_SET_NAME_STATE
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
#define EV_LINK_KEY_REQUEST
+
#define EV_DATA_BUFFER_OVERFLOW
#define HCI_DISCONNECT_STATE
#define HCI_FLAG_CONNECT_COMPLETE
@@ -1494,8 +1492,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define EV_AUTHENTICATION_COMPLETE
-
-
+
#define HCI_FLAG_CONNECT_EVENT
#define HCI_FLAG_DISCONNECT_COMPLETE
#define HCI_REMOTE_NAME_STATE
@@ -1504,18 +1501,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define NotifyFailGetDevDescr(...)
+
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
#define EV_MAX_SLOTS_CHANGE
static const uint8_t BTD_DATAIN_PIPE
-void hci_set_local_name(const char *name)
+void hci_set_local_name(const char *name)
#define EV_QOS_SETUP_COMPLETE
-void hci_write_scan_enable()
+void hci_write_scan_enable()
virtual uint8_t Release()
virtual void FreeAddress(uint8_t addr)=0
-void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
+void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
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)
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
@@ -1547,12 +1545,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
-void hci_disconnect(uint16_t handle)
+void hci_disconnect(uint16_t handle)
uint8_t outTransfer(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *data)
-
-void hci_inquiry_cancel()
+
+void hci_inquiry_cancel()
#define L2CAP_CMD_INFORMATION_RESPONSE
@@ -1589,16 +1587,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define L2CAP_CMD_DISCONNECT_RESPONSE
#define EV_READ_REMOTE_VERSION_INFORMATION_COMPLETE
#define EV_COMMAND_COMPLETE
-void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)
+void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)
#define L2CAP_CMD_CONNECTION_RESPONSE
#define L2CAP_CMD_CONFIG_RESPONSE
#define hci_set_flag(flag)
-void hci_write_class_of_device()
+void hci_write_class_of_device()
#define HCI_CONNECTED_DEVICE_STATE
-void hci_pin_code_negative_request_reply()
+void hci_pin_code_negative_request_reply()
#define EV_CHANGE_CONNECTION_LINK
uint8_t bNumConfigurations
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
@@ -1610,14 +1608,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-void hci_link_key_request_negative_reply()
+void hci_link_key_request_negative_reply()
#define EV_LOOPBACK_COMMAND
-void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
-
+void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
#define EV_LINK_KEY_NOTIFICATION
-void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
-void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
-void hci_pin_code_request_reply()
+void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
+void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
+void hci_pin_code_request_reply()
#define L2CAP_CMD_CONNECTION_REQUEST
uint8_t RegisterDeviceClass(USBDeviceConfig *pdev)
@@ -1626,17 +1623,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define hci_clear_flag(flag)
-void hci_authentication_request()
-void hci_read_local_version_information()
+void hci_authentication_request()
+void hci_read_local_version_information()
#define HCI_FLAG_REMOTE_NAME_COMPLETE
-void hci_accept_connection()
+void hci_accept_connection()
#define EV_PAGE_SCAN_REP_MODE
#define HCI_FLAG_DEVICE_FOUND
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
#define NotifyFailSetDevTblEntry(...)
#define USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET
-void HCI_Command(uint8_t *data, uint16_t nbytes)
+void HCI_Command(uint8_t *data, uint16_t nbytes)
diff --git a/_b_t_d_8h.html b/_b_t_d_8h.html
index 7e8ccfbd..6c40d86d 100644
--- a/_b_t_d_8h.html
+++ b/_b_t_d_8h.html
@@ -105,7 +105,7 @@ This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
@@ -353,8 +353,8 @@ Macros
#define BTD_MAX_ENDPOINTS 4
-#define BTD_NUMSERVICES 4
-
+#define BTD_NUM_SERVICES 4
+
#define PAIR 1
#define UHS_ACL_HANDLE_OK (x, y) ((x[0] == (y & 0xff)) && (x[1] == ((y >> 8) | 0x20)))
@@ -2023,12 +2023,12 @@ Macros
-
+
- #define BTD_NUMSERVICES 4
+ #define BTD_NUM_SERVICES 4
diff --git a/_b_t_d_8h__dep__incl.map b/_b_t_d_8h__dep__incl.map
index 792f0e4d..23dd3813 100644
--- a/_b_t_d_8h__dep__incl.map
+++ b/_b_t_d_8h__dep__incl.map
@@ -1,13 +1,12 @@
-
-
-
+
+
+
-
-
-
-
+
+
+
diff --git a/_b_t_d_8h__dep__incl.md5 b/_b_t_d_8h__dep__incl.md5
index 01d32675..c136623d 100644
--- a/_b_t_d_8h__dep__incl.md5
+++ b/_b_t_d_8h__dep__incl.md5
@@ -1 +1 @@
-359d0fb9802ea91c25ab343278928ac0
\ No newline at end of file
+a586d33041837831328e4bd5a24cb1bb
\ 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 7b28b330..8d7511ce 100644
Binary files a/_b_t_d_8h__dep__incl.png and b/_b_t_d_8h__dep__incl.png differ
diff --git a/_b_t_d_8h_source.html b/_b_t_d_8h_source.html
index c6e00629..d3242b15 100644
--- a/_b_t_d_8h_source.html
+++ b/_b_t_d_8h_source.html
@@ -278,7 +278,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
187 #define WI_PROTOCOL_BT 0x01 // Bluetooth Programming Interface
189 #define BTD_MAX_ENDPOINTS 4
-
190 #define BTD_NUMSERVICES 4 // Max number of Bluetooth services - if you need more than 4 simply increase this number
+
190 #define BTD_NUM_SERVICES 4 // Max number of Bluetooth services - if you need more than 4 simply increase this number
@@ -338,13 +338,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
+
-
+
336 btService[i] = pService;
@@ -391,7 +391,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
+
@@ -434,7 +434,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
+
@@ -445,15 +445,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
575 uint8_t classOfDevice[3];
-
-
579 uint16_t hci_counter;
-
580 uint16_t hci_num_reset_loops;
-
581 uint16_t hci_event_flag;
+
+
579 uint16_t hci_counter;
+
580 uint16_t hci_num_reset_loops;
+
581 uint16_t hci_event_flag;
582 uint8_t inquiry_counter;
-
-
-
586 uint8_t l2capoutbuf[14];
+
+
+
586 uint8_t l2capoutbuf[14];
589 void HCI_event_task();
@@ -467,41 +467,42 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
static const uint8_t BTD_DATAOUT_PIPE
-
+
-
-
void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
-
void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t *scid, uint16_t psm)
+
+
void l2cap_connection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid, uint8_t result)
+
void l2cap_connection_request(uint16_t handle, uint8_t rxid, uint8_t *scid, uint16_t psm)
bool sdpConnectionClaimed
virtual boolean DEVCLASSOK(uint8_t klass)
-
void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
+
void l2cap_disconnection_request(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
bool rfcommConnectionClaimed
-
+
static const uint8_t BTD_EVENT_PIPE
-
void hci_write_scan_disable()
+
void hci_write_scan_disable()
virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
virtual uint8_t GetAddress()
+
-
-
+
+
uint8_t readPollInterval()
static const uint8_t BTD_DATAIN_PIPE
-
void hci_set_local_name(const char *name)
-
void hci_write_scan_enable()
+
void hci_set_local_name(const char *name)
+
void hci_write_scan_enable()
virtual uint8_t Release()
-
void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
+
void l2cap_disconnection_response(uint16_t handle, uint8_t rxid, uint8_t *dcid, uint8_t *scid)
#define USB_CLASS_WIRELESS_CTRL
@@ -518,10 +519,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
-
void hci_disconnect(uint16_t handle)
+
void hci_disconnect(uint16_t handle)
-
-
void hci_inquiry_cancel()
+
+
void hci_inquiry_cancel()
virtual boolean VIDPIDOK(uint16_t vid, uint16_t pid)
@@ -538,27 +539,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define BTD_MAX_ENDPOINTS
#define PS3NAVIGATION_PID
-
void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)
-
void hci_write_class_of_device()
-
void hci_pin_code_negative_request_reply()
+
void l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh)
+
void hci_write_class_of_device()
+
void hci_pin_code_negative_request_reply()
#define HCI_CHECK_DEVICE_SERVICE
-
void hci_link_key_request_negative_reply()
+
void hci_link_key_request_negative_reply()
-
void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
-
-
void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
-
void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
-
void hci_pin_code_request_reply()
+
void L2CAP_Command(uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00)
+
void l2cap_config_response(uint16_t handle, uint8_t rxid, uint8_t *scid)
+
void l2cap_config_request(uint16_t handle, uint8_t rxid, uint8_t *dcid)
+
void hci_pin_code_request_reply()
virtual void disconnect()
-
void hci_authentication_request()
-
void hci_read_local_version_information()
-
void hci_accept_connection()
-
void HCI_Command(uint8_t *data, uint16_t nbytes)
+
void hci_authentication_request()
+
void hci_read_local_version_information()
+
void hci_accept_connection()
+
void HCI_Command(uint8_t *data, uint16_t nbytes)
Returns Returns true if the HIDReportParser is set. False otherwise.
-Definition at line 71 of file BTHID.h .
+Definition at line 70 of file BTHID.h .
@@ -415,7 +425,7 @@ Public Attributes
-Definition at line 82 of file BTHID.h .
+Definition at line 81 of file BTHID.h .
@@ -467,7 +477,7 @@ Public Attributes
Call this to start the paring sequence with a device
-
Definition at line 96 of file BTHID.h .
+
Definition at line 95 of file BTHID.h .
@@ -500,7 +510,116 @@ Public Attributes
-Definition at line 105 of file BTHID.h .
+Definition at line 104 of file BTHID.h .
+
+
+
+
+
+
+
+
+
+
+
+ virtual void BTHID::ParseBTHID
+ (
+ BTHID *
+ bthid ,
+
+
+
+
+ uint8_t
+ len ,
+
+
+
+
+ uint8_t *
+ buf
+
+
+
+ )
+
+
+
+
+
+inline protected virtual
+
+
+
+
Used to parse Bluetooth HID data to any class that inherits this class.
+
Parameters
+
+ bthid Pointer to this class.
+ len The length of the incoming data.
+ buf Pointer to the data buffer.
+
+
+
+
+
Reimplemented in PS4BT .
+
+
Definition at line 116 of file BTHID.h .
+
+
+
+
+
+
+
+
+
+
+
+ virtual void BTHID::OnInitBTHID
+ (
+ )
+
+
+
+
+
+inline protected virtual
+
+
+
+
Called when a device is connected
+
+
Reimplemented in PS4BT .
+
+
Definition at line 120 of file BTHID.h .
+
+
+
+
+
+
+
+
+
+
+
+ virtual void BTHID::ResetBTHID
+ (
+ )
+
+
+
+
+
+inline protected virtual
+
+
+
+
Used to reset any buffers in the class that inherits this
+
+
Reimplemented in PS4BT .
+
+
Definition at line 124 of file BTHID.h .
@@ -516,7 +635,7 @@ Public Attributes
True if a device is connected
-
Definition at line 93 of file BTHID.h .
+
Definition at line 92 of file BTHID.h .
diff --git a/class_b_t_h_i_d__inherit__graph.map b/class_b_t_h_i_d__inherit__graph.map
index 6c02815e..29d64bbc 100644
--- a/class_b_t_h_i_d__inherit__graph.map
+++ b/class_b_t_h_i_d__inherit__graph.map
@@ -1,3 +1,4 @@
+
diff --git a/class_b_t_h_i_d__inherit__graph.md5 b/class_b_t_h_i_d__inherit__graph.md5
index d6a5234e..a07e90bb 100644
--- a/class_b_t_h_i_d__inherit__graph.md5
+++ b/class_b_t_h_i_d__inherit__graph.md5
@@ -1 +1 @@
-602320ea47f1326cceede888211e600b
\ No newline at end of file
+84cb6c869d9ec98ca739f6ef702e34ea
\ No newline at end of file
diff --git a/class_b_t_h_i_d__inherit__graph.png b/class_b_t_h_i_d__inherit__graph.png
index 9d8b7c52..a931456e 100644
Binary files a/class_b_t_h_i_d__inherit__graph.png and b/class_b_t_h_i_d__inherit__graph.png differ
diff --git a/class_bluetooth_service.html b/class_bluetooth_service.html
index 53f97555..8663af65 100644
--- a/class_bluetooth_service.html
+++ b/class_bluetooth_service.html
@@ -97,7 +97,7 @@ Inheritance diagram for BluetoothService:
diff --git a/class_h_i_d_report_parser__inherit__graph.map b/class_h_i_d_report_parser__inherit__graph.map
index b852667b..663f5228 100644
--- a/class_h_i_d_report_parser__inherit__graph.map
+++ b/class_h_i_d_report_parser__inherit__graph.map
@@ -1,6 +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 c1f93e19..44e50d86 100644
--- a/class_h_i_d_report_parser__inherit__graph.md5
+++ b/class_h_i_d_report_parser__inherit__graph.md5
@@ -1 +1 @@
-dcf21fd85d8fe0426e091fadd5132a12
\ 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 5be1f8fd..980a75bf 100644
Binary files a/class_h_i_d_report_parser__inherit__graph.png and b/class_h_i_d_report_parser__inherit__graph.png differ
diff --git a/class_h_i_d_universal-members.html b/class_h_i_d_universal-members.html
index 0d2be32b..16e410f6 100644
--- a/class_h_i_d_universal-members.html
+++ b/class_h_i_d_universal-members.html
@@ -108,20 +108,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
HID (USB *pusb)HID inline
HIDUniversal (USB *p)HIDUniversal
Init (uint8_t parent, uint8_t port, bool lowspeed)HIDUniversal virtual
- maxEpPerInterface HID protected static
- maxHidInterfaces HID protected static
- OnInitSuccessful ()HIDUniversal inline protected virtual
- Poll ()HIDUniversal virtual
- PrintEndpointDescriptor (const USB_ENDPOINT_DESCRIPTOR *ep_ptr)HID protected
- PrintHidDescriptor (const USB_HID_DESCRIPTOR *pDesc)HID protected
- pUsb HID protected
- Release ()HIDUniversal virtual
- ResetHubPort (uint8_t port)USBDeviceConfig inline virtual
- SetIdle (uint8_t iface, uint8_t reportID, uint8_t duration)HID
- SetProtocol (uint8_t iface, uint8_t protocol)HID
- SetReport (uint8_t ep, uint8_t iface, uint8_t report_type, uint8_t report_id, uint16_t nbytes, uint8_t *dataptr)HID
- SetReportParser (uint8_t id, HIDReportParser *prs)HIDUniversal virtual
- totalEndpoints HID protected static
+ isReady ()HIDUniversal inline virtual
+ maxEpPerInterface HID protected static
+ maxHidInterfaces HID protected static
+ OnInitSuccessful ()HIDUniversal inline protected virtual
+ ParseHIDData (HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)HIDUniversal inline protected virtual
+ PID HIDUniversal protected
+ Poll ()HIDUniversal virtual
+ PrintEndpointDescriptor (const USB_ENDPOINT_DESCRIPTOR *ep_ptr)HID protected
+ PrintHidDescriptor (const USB_HID_DESCRIPTOR *pDesc)HID protected
+ pUsb HID protected
+ Release ()HIDUniversal virtual
+ ResetHubPort (uint8_t port)USBDeviceConfig inline virtual
+ SetIdle (uint8_t iface, uint8_t reportID, uint8_t duration)HID
+ SetProtocol (uint8_t iface, uint8_t protocol)HID
+ SetReport (uint8_t ep, uint8_t iface, uint8_t report_type, uint8_t report_id, uint16_t nbytes, uint8_t *dataptr)HID
+ SetReportParser (uint8_t id, HIDReportParser *prs)HIDUniversal virtual
+ totalEndpoints HID protected static
+ VID HIDUniversal protected
VIDPIDOK (uint16_t vid, uint16_t pid)USBDeviceConfig inline virtual
diff --git a/class_h_i_d_universal.html b/class_h_i_d_universal.html
index 66003f9e..b4609273 100644
--- a/class_h_i_d_universal.html
+++ b/class_h_i_d_universal.html
@@ -100,7 +100,7 @@ Inheritance diagram for HIDUniversal:
@@ -124,6 +124,8 @@ Public Member Functions
virtual uint8_t GetAddress ()
+virtual bool isReady ()
+
virtual void EndpointXtract (uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
@@ -163,6 +165,8 @@ Protected Member Functions
virtual uint8_t OnInitSuccessful ()
+virtual void ParseHIDData (HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
+
void PrintEndpointDescriptor (const USB_ENDPOINT_DESCRIPTOR *ep_ptr)
@@ -173,6 +177,10 @@ Protected Member Functions
Protected Attributes
bool bHasReportId
+uint16_t PID
+
+uint16_t VID
+
USB * pUsb
@@ -240,7 +248,7 @@ Additional Inherited Members
Reimplemented from HID .
-Definition at line 65 of file hiduniversal.cpp .
+Definition at line 67 of file hiduniversal.cpp .
@@ -265,7 +273,59 @@ Additional Inherited Members
+
+
+
+
+
+
+
+
+
+ virtual void HIDUniversal::ParseHIDData
+ (
+ HID *
+ hid ,
+
+
+
+
+ bool
+ is_rpt_id ,
+
+
+
+
+ uint8_t
+ len ,
+
+
+
+
+ uint8_t *
+ buf
+
+
+
+ )
+
+
+
+
+
+inline protected virtual
+
+
+
@@ -303,7 +363,7 @@ Additional Inherited Members
Reimplemented from HID .
-Definition at line 54 of file hiduniversal.cpp .
+Definition at line 56 of file hiduniversal.cpp .
@@ -347,7 +407,7 @@ Additional Inherited Members
Reimplemented from USBDeviceConfig .
-Definition at line 76 of file hiduniversal.cpp .
+Definition at line 78 of file hiduniversal.cpp .
@@ -374,7 +434,7 @@ Additional Inherited Members
Reimplemented from USBDeviceConfig .
-Definition at line 315 of file hiduniversal.cpp .
+Definition at line 323 of file hiduniversal.cpp .
@@ -401,7 +461,7 @@ Additional Inherited Members
Reimplemented from USBDeviceConfig .
-Definition at line 342 of file hiduniversal.cpp .
+Definition at line 350 of file hiduniversal.cpp .
@@ -428,7 +488,32 @@ Additional Inherited Members
Reimplemented from USBDeviceConfig .
-Definition at line 71 of file hiduniversal.h .
+Definition at line 78 of file hiduniversal.h .
+
+
+
+
+
+
+
+
+
+
+
+ virtual bool HIDUniversal::isReady
+ (
+ )
+
+
+
+
+
+inline virtual
+
+
+
@@ -484,7 +569,7 @@ Additional Inherited Members
Implements UsbConfigXtracter .
-Definition at line 272 of file hiduniversal.cpp .
+Definition at line 277 of file hiduniversal.cpp .
@@ -507,7 +592,51 @@ Additional Inherited Members
+
+
+
+
+
+
+
+
+
+ uint16_t HIDUniversal::PID
+
+
+
+
+protected
+
+
+
+
+
+
+
+
+
+
+
+
+ uint16_t HIDUniversal::VID
+
+
+
+
+protected
+
+
+
diff --git a/class_h_i_d_universal__inherit__graph.map b/class_h_i_d_universal__inherit__graph.map
index 46b1cad5..a45892ad 100644
--- a/class_h_i_d_universal__inherit__graph.map
+++ b/class_h_i_d_universal__inherit__graph.map
@@ -1,4 +1,5 @@
+
diff --git a/class_h_i_d_universal__inherit__graph.md5 b/class_h_i_d_universal__inherit__graph.md5
index d1f83f64..3ce932f9 100644
--- a/class_h_i_d_universal__inherit__graph.md5
+++ b/class_h_i_d_universal__inherit__graph.md5
@@ -1 +1 @@
-104f2874dba516962bd5d60f53e1a99e
\ No newline at end of file
+7e1f33aeafc56f44989a59297a6d0fee
\ 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 23d82637..81a95275 100644
Binary files a/class_h_i_d_universal__inherit__graph.png and b/class_h_i_d_universal__inherit__graph.png differ
diff --git a/class_p_s3_b_t.html b/class_p_s3_b_t.html
index cd0b5a02..faff4f87 100644
--- a/class_p_s3_b_t.html
+++ b/class_p_s3_b_t.html
@@ -130,11 +130,11 @@ Public Member Functions
uint8_t getAnalogHat (AnalogHatEnum a)
-int16_t getSensor (SensorEnum a)
+int16_t getSensor (SensorEnum a)
-double getAngle (AngleEnum a)
+double getAngle (AngleEnum a)
-double get9DOFValues (SensorEnum a)
+double get9DOFValues (SensorEnum a)
bool getStatus (StatusEnum c)
@@ -485,7 +485,7 @@ Public Attributes
int16_t PS3BT::getSensor
(
- SensorEnum
+ SensorEnum
a )
@@ -511,16 +511,16 @@ Public Attributes
double PS3BT::getAngle
(
- AngleEnum
+ AngleEnum
a )
-
Use this to get Pitch and Roll calculated using the accelerometer.
+
Use this to get Pitch and Roll calculated using the accelerometer.
Parameters
@@ -537,7 +537,7 @@ Public Attributes
double PS3BT::get9DOFValues
(
- SensorEnum
+ SensorEnum
a )
@@ -546,7 +546,7 @@ Public Attributes
Read the sensors inside the Move controller.
Parameters
- a aXmove , aYmove , aZmove , gXmove , gYmove , gZmove , mXmove , mYmove , and mXmove .
+ a aXmove , aYmove , aZmove , gXmove , gYmove , gZmove , mXmove , mYmove , and mXmove .
diff --git a/class_p_s3_u_s_b.html b/class_p_s3_u_s_b.html
index 9407e42e..d451e56d 100644
--- a/class_p_s3_u_s_b.html
+++ b/class_p_s3_u_s_b.html
@@ -145,9 +145,9 @@ Public Member Functions
uint8_t getAnalogHat (AnalogHatEnum a)
-
uint16_t getSensor (SensorEnum a)
+
uint16_t getSensor (SensorEnum a)
-
double getAngle (AngleEnum a)
+
double getAngle (AngleEnum a)
bool getStatus (StatusEnum c)
@@ -734,7 +734,7 @@ Protected Attributes
uint16_t PS3USB::getSensor
(
- SensorEnum
+ SensorEnum
a )
@@ -760,16 +760,16 @@ Protected Attributes
double PS3USB::getAngle
(
- AngleEnum
+ AngleEnum
a )
-
Use this to get Pitch and Roll calculated using the accelerometer.
+
Use this to get Pitch and Roll calculated using the accelerometer.
Parameters
diff --git a/class_p_s4_b_t-members.html b/class_p_s4_b_t-members.html
index d5ed85df..b031c434 100644
--- a/class_p_s4_b_t-members.html
+++ b/class_p_s4_b_t-members.html
@@ -90,17 +90,36 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
This is the complete list of members for PS4BT , including all inherited members.
- attachOnInit (void(*funcOnInit)(void))PS4BT inline
+ ACLData (uint8_t *ACLData)BTHID virtual
+ attachOnInit (void(*funcOnInit)(void))PS4BT inline
+ BTHID (BTD *p, bool pair=false, const char *pin="0000")BTHID
connected ()PS4BT inline
- disconnect ()PS4BT inline
- getAnalogButton (ButtonEnum a)PS4BT
- getAnalogHat (AnalogHatEnum a)PS4BT
- getButtonClick (ButtonEnum b)PS4BT
- getButtonPress (ButtonEnum b)PS4BT
- pair (void)PS4BT inline
- Parse (HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)PS4BT virtual
- PS4BT (BTHID *p)PS4BT inline
- Reset ()PS4BT inline
+ BTHID::connected BTHID
+ disconnect ()BTHID virtual
+ getAnalogButton (ButtonEnum b)PS4Parser
+ getAnalogHat (AnalogHatEnum a)PS4Parser
+ getAngle (AngleEnum a)PS4Parser inline
+ getButtonClick (ButtonEnum b)PS4Parser
+ getButtonPress (ButtonEnum b)PS4Parser
+ GetReportParser (uint8_t id)BTHID inline
+ getSensor (SensorEnum s)PS4Parser inline
+ getTouchCounter (uint8_t finger=0, uint8_t xyId=0)PS4Parser inline
+ getX (uint8_t finger=0, uint8_t xyId=0)PS4Parser inline
+ getY (uint8_t finger=0, uint8_t xyId=0)PS4Parser inline
+ isTouching (uint8_t finger=0, uint8_t xyId=0)PS4Parser inline
+ OnInitBTHID ()PS4BT inline protected virtual
+ pair (void)BTHID inline
+ Parse (uint8_t len, uint8_t *buf)PS4Parser protected
+ ParseBTHID (BTHID *bthid, uint8_t len, uint8_t *buf)PS4BT inline protected virtual
+ PS4BT (BTD *p, bool pair=false, const char *pin="0000")PS4BT inline
+ PS4Parser ()PS4Parser inline
+ BTHID::Reset ()BTHID virtual
+ PS4Parser::Reset ()PS4Parser inline protected
+ ResetBTHID ()PS4BT inline protected virtual
+ Run ()BTHID virtual
+ setLeds (uint8_t data)BTHID
+ setProtocolMode (uint8_t mode)BTHID inline
+ SetReportParser (uint8_t id, HIDReportParser *prs)BTHID inline
ACC
: InquiryResponse
+accX
+: PS4Data
+
accXnunchuck
: WII
accXwiimote
: WII
+accY
+: PS4Data
+
accYnunchuck
: WII
accYwiimote
: WII
+accZ
+: PS4Data
+
accZnunchuck
: WII
@@ -231,6 +240,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, PS3BT
, PS3USB
, PS4BT
+, PS4USB
, WII
, XBOXOLD
, XBOXRECV
diff --git a/functions_c.html b/functions_c.html
index 4c74d8b9..54ecb48b 100644
--- a/functions_c.html
+++ b/functions_c.html
@@ -182,6 +182,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
connected
: BTHID
, PS4BT
+, PS4USB
, SPP
connectToHIDDevice
@@ -242,6 +243,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, CDB_LBA32_16
, CDB_LBA64_16
+counter
+: touchpadXY
+
createChar()
: Max_LCD
diff --git a/functions_d.html b/functions_d.html
index e61c7bc2..ecf53c14 100644
--- a/functions_d.html
+++ b/functions_d.html
@@ -184,7 +184,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, BTD
, BTHID
, PS3BT
-, PS4BT
, SPP
, WII
, XBOXRECV
@@ -199,7 +198,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: PS4Buttons
dummy
-: PS4Buttons
+: PS4Data
+, touchpadXY
+
+dummy2
+: PS4Data
dwDTERate
: LINE_CODING
diff --git a/functions_f.html b/functions_f.html
index 049d79a4..0c6dd439 100644
--- a/functions_f.html
+++ b/functions_f.html
@@ -124,6 +124,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here is a list of all class members with links to the classes they belong to:
- f -
+finger
+: touchpadXY
+
flush()
: SPP
diff --git a/functions_func.html b/functions_func.html
index d342ebe7..64b3d30d 100644
--- a/functions_func.html
+++ b/functions_func.html
@@ -147,6 +147,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, PS3BT
, PS3USB
, PS4BT
+, PS4USB
, WII
, XBOXOLD
, XBOXRECV
diff --git a/functions_func_c.html b/functions_func_c.html
index 9394b338..623efc12 100644
--- a/functions_func_c.html
+++ b/functions_func_c.html
@@ -164,6 +164,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
connected()
: PS4BT
+, PS4USB
createChar()
: Max_LCD
diff --git a/functions_func_d.html b/functions_func_d.html
index 5b125b55..533d6260 100644
--- a/functions_func_d.html
+++ b/functions_func_d.html
@@ -139,7 +139,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, BTD
, BTHID
, PS3BT
-, PS4BT
, SPP
, WII
, XBOXRECV
diff --git a/functions_func_g.html b/functions_func_g.html
index 17c2ceb0..050ba116 100644
--- a/functions_func_g.html
+++ b/functions_func_g.html
@@ -146,12 +146,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getAnalogButton()
: PS3BT
, PS3USB
-, PS4BT
+, PS4Parser
getAnalogHat()
: PS3BT
, PS3USB
-, PS4BT
+, PS4Parser
, WII
, XBOXOLD
, XBOXRECV
@@ -160,6 +160,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getAngle()
: PS3BT
, PS3USB
+, PS4Parser
getBatteryLevel()
: WII
@@ -180,7 +181,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getButtonClick()
: PS3BT
, PS3USB
-, PS4BT
+, PS4Parser
, WII
, XBOXOLD
, XBOXRECV
@@ -189,7 +190,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getButtonPress()
: PS3BT
, PS3USB
-, PS4BT
+, PS4Parser
, WII
, XBOXOLD
, XBOXRECV
@@ -314,6 +315,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getSensor()
: PS3BT
, PS3USB
+, PS4Parser
getStatus()
: PS3BT
@@ -331,6 +333,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getTemperature()
: PS3BT
+getTouchCounter()
+: PS4Parser
+
GetUsb()
: HID
@@ -353,6 +358,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getWiiState()
: WII
+getX()
+: PS4Parser
+
+getY()
+: PS4Parser
+
getYaw()
: WII
diff --git a/functions_func_i.html b/functions_func_i.html
index f7c5c208..39417d46 100644
--- a/functions_func_i.html
+++ b/functions_func_i.html
@@ -172,11 +172,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: ACM
, ADK
, BTD
+, HIDUniversal
, PS3USB
, XBOXOLD
, XBOXRECV
, XBOXUSB
+isTouching()
+: PS4Parser
+
diff --git a/functions_func_o.html b/functions_func_o.html
index 6e928e3a..b041c59f 100644
--- a/functions_func_o.html
+++ b/functions_func_o.html
@@ -133,8 +133,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, CDCAsyncOper
, FTDIAsyncOper
+OnInitBTHID()
+: BTHID
+, PS4BT
+
OnInitSuccessful()
: HIDUniversal
+, PS4USB
OnKeyDown()
: KeyboardReportParser
diff --git a/functions_func_p.html b/functions_func_p.html
index 961d4f5d..40657c8b 100644
--- a/functions_func_p.html
+++ b/functions_func_p.html
@@ -124,7 +124,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- p -
pair()
: BTHID
-, PS4BT
, WII
pairWithHID()
@@ -140,13 +139,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, KeyboardReportParser
, MouseReportParser
, MultiByteValueParser
-, PS4BT
+, PS4Parser
, PTPListParser
, ReportDescParserBase
, SinkParser< BASE_CLASS, LEN_TYPE, OFFSET_TYPE >
, UniversalReportParser
, USBReadParser
+ParseBTHID()
+: BTHID
+, PS4BT
+
+ParseHIDData()
+: HIDUniversal
+, PS4USB
+
ParseItem()
: ReportDescParser2
, ReportDescParserBase
@@ -250,7 +257,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: PS3USB
PS4BT()
-: PS4BT
+: PS4BT
+
+PS4Parser()
+: PS4Parser
+
+PS4USB()
+: PS4USB
PTPListParser()
: PTPListParser
diff --git a/functions_func_r.html b/functions_func_r.html
index 5ac1c591..61b9a87c 100644
--- a/functions_func_r.html
+++ b/functions_func_r.html
@@ -181,10 +181,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Reset()
: PS3BT
-, PS4BT
+, PS4Parser
, SPP
, WII
+ResetBTHID()
+: BTHID
+, PS4BT
+
ResetHubPort()
: USBDeviceConfig
, USBHub
diff --git a/functions_g.html b/functions_g.html
index bb8d584c..52dac445 100644
--- a/functions_g.html
+++ b/functions_g.html
@@ -172,12 +172,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getAnalogButton()
: PS3BT
, PS3USB
-, PS4BT
+, PS4Parser
getAnalogHat()
: PS3BT
, PS3USB
-, PS4BT
+, PS4Parser
, WII
, XBOXOLD
, XBOXRECV
@@ -186,6 +186,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getAngle()
: PS3BT
, PS3USB
+, PS4Parser
getBatteryLevel()
: WII
@@ -206,7 +207,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getButtonClick()
: PS3BT
, PS3USB
-, PS4BT
+, PS4Parser
, WII
, XBOXOLD
, XBOXRECV
@@ -215,7 +216,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getButtonPress()
: PS3BT
, PS3USB
-, PS4BT
+, PS4Parser
, WII
, XBOXOLD
, XBOXRECV
@@ -340,6 +341,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getSensor()
: PS3BT
, PS3USB
+, PS4Parser
getStatus()
: PS3BT
@@ -357,6 +359,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getTemperature()
: PS3BT
+getTouchCounter()
+: PS4Parser
+
GetUsb()
: HID
@@ -379,6 +384,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getWiiState()
: WII
+getX()
+: PS4Parser
+
+getY()
+: PS4Parser
+
getYaw()
: WII
@@ -409,6 +420,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
gyroRollZero
: WII
+gyroX
+: PS4Data
+
+gyroY
+: PS4Data
+
gyroYaw
: WII
@@ -418,6 +435,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
gyroYawZero
: WII
+gyroZ
+: PS4Data
+
diff --git a/functions_i.html b/functions_i.html
index 6aa790b7..c1c10591 100644
--- a/functions_i.html
+++ b/functions_i.html
@@ -207,11 +207,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: ACM
, ADK
, BTD
+, HIDUniversal
, PS3USB
, XBOXOLD
, XBOXRECV
, XBOXUSB
+isTouching()
+: PS4Parser
+
itemParseState
: ReportDescParserBase
diff --git a/functions_k.html b/functions_k.html
index dc76c03e..61b1a110 100644
--- a/functions_k.html
+++ b/functions_k.html
@@ -136,9 +136,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
KeyboardReportParser()
: KeyboardReportParser
-keypad
-: PS4Buttons
-
Keys
: KBDINFO
diff --git a/functions_o.html b/functions_o.html
index 81fc0cbd..3e0159a8 100644
--- a/functions_o.html
+++ b/functions_o.html
@@ -135,8 +135,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, CDCAsyncOper
, FTDIAsyncOper
+OnInitBTHID()
+: BTHID
+, PS4BT
+
OnInitSuccessful()
: HIDUniversal
+, PS4USB
OnKeyDown()
: KeyboardReportParser
diff --git a/functions_p.html b/functions_p.html
index df0a24eb..bbd0d4a4 100644
--- a/functions_p.html
+++ b/functions_p.html
@@ -126,7 +126,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- p -
pair()
: BTHID
-, PS4BT
, WII
pairWithHID()
@@ -148,13 +147,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, KeyboardReportParser
, MouseReportParser
, MultiByteValueParser
-, PS4BT
+, PS4Parser
, PTPListParser
, ReportDescParserBase
, SinkParser< BASE_CLASS, LEN_TYPE, OFFSET_TYPE >
, UniversalReportParser
, USBReadParser
+ParseBTHID()
+: BTHID
+, PS4BT
+
+ParseHIDData()
+: HIDUniversal
+, PS4USB
+
ParseItem()
: ReportDescParser2
, ReportDescParserBase
@@ -174,6 +181,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
pfUsage
: ReportDescParserBase
+PID
+: HIDUniversal
+
pitchGyroScale
: WII
@@ -303,7 +313,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: PS3USB
PS4BT()
-: PS4BT
+: PS4BT
+
+PS4Parser()
+: PS4Parser
+
+PS4USB()
+: PS4USB
PTPListParser()
: PTPListParser
diff --git a/functions_r.html b/functions_r.html
index c84bb08d..01e3090c 100644
--- a/functions_r.html
+++ b/functions_r.html
@@ -194,7 +194,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: USB
remote_name
-: BTD
+: BTD
Removable
: InquiryResponse
@@ -205,8 +205,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
ReportDescParserBase()
: ReportDescParserBase
+reportId
+: PS4Data
+
ReqType_u
-: SETUP_PKT
+: SETUP_PKT
Res
: InquiryResponse
@@ -227,10 +230,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Reset()
: PS3BT
-, PS4BT
+, PS4Parser
, SPP
, WII
+ResetBTHID()
+: BTHID
+, PS4BT
+
ResetHubPort()
: USBDeviceConfig
, USBHub
diff --git a/functions_t.html b/functions_t.html
index 3fcaebf8..ca196495 100644
--- a/functions_t.html
+++ b/functions_t.html
@@ -155,12 +155,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
ThreePC
: InquiryResponse
+timestamp
+: PS4Buttons
+
totalEndpoints
: HID
totalSize
: ReportDescParserBase
+touching
+: touchpadXY
+
+touchpad
+: PS4Buttons
+
TPGS
: InquiryResponse
diff --git a/functions_v.html b/functions_v.html
index 73d1a7c7..f0be0d68 100644
--- a/functions_v.html
+++ b/functions_v.html
@@ -145,6 +145,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Version
: InquiryResponse
+VID
+: HIDUniversal
+
VIDPIDOK()
: ADK
, BTD
diff --git a/functions_vars.html b/functions_vars.html
index 8a00850b..32e3e705 100644
--- a/functions_vars.html
+++ b/functions_vars.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -138,18 +139,27 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
ACC
: InquiryResponse
+accX
+: PS4Data
+
accXnunchuck
: WII
accXwiimote
: WII
+accY
+: PS4Data
+
accYnunchuck
: WII
accYwiimote
: WII
+accZ
+: PS4Data
+
accZnunchuck
: WII
diff --git a/functions_vars_b.html b/functions_vars_b.html
index 3ad0cd7b..c8e6d23b 100644
--- a/functions_vars_b.html
+++ b/functions_vars_b.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_c.html b/functions_vars_c.html
index 7931acb8..c55b594f 100644
--- a/functions_vars_c.html
+++ b/functions_vars_c.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -200,6 +201,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, CDB_LBA32_16
, CDB_LBA64_16
+counter
+: touchpadXY
+
cross
: PS4Buttons
diff --git a/functions_vars_d.html b/functions_vars_d.html
index 258c24b1..8eb71a7b 100644
--- a/functions_vars_d.html
+++ b/functions_vars_d.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -170,7 +171,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: PS4Buttons
dummy
-: PS4Buttons
+: PS4Data
+, touchpadXY
+
+dummy2
+: PS4Data
dwDTERate
: LINE_CODING
diff --git a/functions_vars_e.html b/functions_vars_e.html
index 3f6a2fdd..49313371 100644
--- a/functions_vars_e.html
+++ b/functions_vars_e.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_f.html b/functions_vars_f.html
new file mode 100644
index 00000000..f71a91ea
--- /dev/null
+++ b/functions_vars_f.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+USB Host Shield 2.0: Class Members - Variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ USB Host Shield 2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/functions_vars_g.html b/functions_vars_g.html
index 323325d2..6a57c0a8 100644
--- a/functions_vars_g.html
+++ b/functions_vars_g.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -165,6 +166,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
gyroRollZero
: WII
+gyroX
+: PS4Data
+
+gyroY
+: PS4Data
+
gyroYaw
: WII
@@ -174,6 +181,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
gyroYawZero
: WII
+gyroZ
+: PS4Data
+
diff --git a/functions_vars_h.html b/functions_vars_h.html
index ba7a0ec2..81114d8d 100644
--- a/functions_vars_h.html
+++ b/functions_vars_h.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_i.html b/functions_vars_i.html
index 18e29c77..a3fa162d 100644
--- a/functions_vars_i.html
+++ b/functions_vars_i.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_k.html b/functions_vars_k.html
index 4d53fd6f..7ea4d087 100644
--- a/functions_vars_k.html
+++ b/functions_vars_k.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -132,9 +133,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
kbdLockingKeys
: KeyboardReportParser
-keypad
-: PS4Buttons
-
Keys
: KBDINFO
diff --git a/functions_vars_l.html b/functions_vars_l.html
index cdbd3a43..eacec9d5 100644
--- a/functions_vars_l.html
+++ b/functions_vars_l.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_m.html b/functions_vars_m.html
index 4d725762..5ba7da11 100644
--- a/functions_vars_m.html
+++ b/functions_vars_m.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_n.html b/functions_vars_n.html
index 28decf65..66ae32b4 100644
--- a/functions_vars_n.html
+++ b/functions_vars_n.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_o.html b/functions_vars_o.html
index d6438b27..bcd90a4a 100644
--- a/functions_vars_o.html
+++ b/functions_vars_o.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_p.html b/functions_vars_p.html
index b2e00a6b..22072c3a 100644
--- a/functions_vars_p.html
+++ b/functions_vars_p.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -138,6 +139,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
pfUsage
: ReportDescParserBase
+PID
+: HIDUniversal
+
pitchGyroScale
: WII
diff --git a/functions_vars_q.html b/functions_vars_q.html
index db3bfa6f..8abbe688 100644
--- a/functions_vars_q.html
+++ b/functions_vars_q.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_r.html b/functions_vars_r.html
index 11374ae4..2cd13542 100644
--- a/functions_vars_r.html
+++ b/functions_vars_r.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -149,13 +150,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: InquiryResponse
remote_name
-: BTD
+: BTD
Removable
: InquiryResponse
+reportId
+: PS4Data
+
ReqType_u
-: SETUP_PKT
+: SETUP_PKT
Res
: InquiryResponse
diff --git a/functions_vars_s.html b/functions_vars_s.html
index 978dc388..728c03cf 100644
--- a/functions_vars_s.html
+++ b/functions_vars_s.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_t.html b/functions_vars_t.html
index 97db8cac..5dec6dde 100644
--- a/functions_vars_t.html
+++ b/functions_vars_t.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -150,12 +151,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
ThreePC
: InquiryResponse
+timestamp
+: PS4Buttons
+
totalEndpoints
: HID
totalSize
: ReportDescParserBase
+touching
+: touchpadXY
+
+touchpad
+: PS4Buttons
+
TPGS
: InquiryResponse
diff --git a/functions_vars_u.html b/functions_vars_u.html
index 444ee586..6057943b 100644
--- a/functions_vars_u.html
+++ b/functions_vars_u.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
diff --git a/functions_vars_v.html b/functions_vars_v.html
index 2cf09e68..d86b126e 100644
--- a/functions_vars_v.html
+++ b/functions_vars_v.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -141,6 +142,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Version
: InquiryResponse
+VID
+: HIDUniversal
+
vrTitles0
: ReportDescParserBase
diff --git a/functions_vars_w.html b/functions_vars_w.html
index 69f46687..b2c27f8e 100644
--- a/functions_vars_w.html
+++ b/functions_vars_w.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -163,7 +164,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: USB_CONFIGURATION_DESCRIPTOR
wVal_u
-: SETUP_PKT
+: SETUP_PKT
wValue
: CLASS_NOTIFICATION
diff --git a/functions_vars_x.html b/functions_vars_x.html
index 6c25b2ea..af0c6800 100644
--- a/functions_vars_x.html
+++ b/functions_vars_x.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -123,6 +124,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- x -
diff --git a/functions_vars_y.html b/functions_vars_y.html
index 02cba86f..42ef06e4 100644
--- a/functions_vars_y.html
+++ b/functions_vars_y.html
@@ -84,6 +84,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
c
d
e
+ f
g
h
i
@@ -123,6 +124,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- y -
diff --git a/globals_b.html b/globals_b.html
index 9f328b0c..a318497b 100644
--- a/globals_b.html
+++ b/globals_b.html
@@ -710,8 +710,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
BTD_MAX_ENDPOINTS
: BTD.h
-BTD_NUMSERVICES
-: BTD.h
+ BTD_NUM_SERVICES
+: BTD.h
BULK_MAXPKTSIZE
: BTD.h
diff --git a/globals_d.html b/globals_d.html
index caf8cee7..886f52b1 100644
--- a/globals_d.html
+++ b/globals_d.html
@@ -186,34 +186,34 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: controllerEnums.h
DPAD_DOWN
-: PS4BT.h
+: PS4Parser.h
DPAD_DOWN_LEFT
-: PS4BT.h
+: PS4Parser.h
DPAD_LEFT
-: PS4BT.h
+: PS4Parser.h
DPAD_LEFT_UP
-: PS4BT.h
+: PS4Parser.h
DPAD_OFF
-: PS4BT.h
+: PS4Parser.h
DPAD_RIGHT
-: PS4BT.h
+: PS4Parser.h
DPAD_RIGHT_DOWN
-: PS4BT.h
+: PS4Parser.h
DPAD_UP
-: PS4BT.h
+: PS4Parser.h
DPAD_UP_RIGHT
-: PS4BT.h
+: PS4Parser.h
DPADEnum
-: PS4BT.h
+: PS4Parser.h
Dying
: PS3Enums.h
diff --git a/globals_defs_b.html b/globals_defs_b.html
index a3c84cf4..c24c36b9 100644
--- a/globals_defs_b.html
+++ b/globals_defs_b.html
@@ -687,8 +687,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
BTD_MAX_ENDPOINTS
: BTD.h
-BTD_NUMSERVICES
-: BTD.h
+ BTD_NUM_SERVICES
+: BTD.h
BULK_MAXPKTSIZE
: BTD.h
diff --git a/globals_defs_p.html b/globals_defs_p.html
index 23abf943..f00db517 100644
--- a/globals_defs_p.html
+++ b/globals_defs_p.html
@@ -176,8 +176,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: PS3Enums.h
PS3_VID
-: PS3USB.h
-, BTD.h
+: BTD.h
+, PS3USB.h
PS3MOVE_PID
: PS3USB.h
@@ -187,6 +187,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: BTD.h
, PS3USB.h
+PS4_PID
+: PS4USB.h
+
+PS4_VID
+: PS4USB.h
+
diff --git a/globals_enum.html b/globals_enum.html
index 7c000861..d8303f96 100644
--- a/globals_enum.html
+++ b/globals_enum.html
@@ -97,7 +97,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: controllerEnums.h
AngleEnum
-: PS3Enums.h
+: controllerEnums.h
ButtonEnum
: controllerEnums.h
@@ -106,7 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: PS3Enums.h
DPADEnum
-: PS4BT.h
+: PS4Parser.h
HatEnum
: Wii.h
@@ -124,7 +124,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: PS3Enums.h
SensorEnum
-: PS3Enums.h
+: controllerEnums.h
StatusEnum
: PS3Enums.h
diff --git a/globals_eval.html b/globals_eval.html
index ecc1866c..50400c2c 100644
--- a/globals_eval.html
+++ b/globals_eval.html
@@ -131,22 +131,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: xboxEnums.h
aX
-: PS3Enums.h
+: controllerEnums.h
aXmove
-: PS3Enums.h
+: controllerEnums.h
aY
-: PS3Enums.h
+: controllerEnums.h
aYmove
-: PS3Enums.h
+: controllerEnums.h
aZ
-: PS3Enums.h
+: controllerEnums.h
aZmove
-: PS3Enums.h
+: controllerEnums.h
@@ -200,31 +200,31 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: controllerEnums.h
DPAD_DOWN
-: PS4BT.h
+: PS4Parser.h
DPAD_DOWN_LEFT
-: PS4BT.h
+: PS4Parser.h
DPAD_LEFT
-: PS4BT.h
+: PS4Parser.h
DPAD_LEFT_UP
-: PS4BT.h
+: PS4Parser.h
DPAD_OFF
-: PS4BT.h
+: PS4Parser.h
DPAD_RIGHT
-: PS4BT.h
+: PS4Parser.h
DPAD_RIGHT_DOWN
-: PS4BT.h
+: PS4Parser.h
DPAD_UP
-: PS4BT.h
+: PS4Parser.h
DPAD_UP_RIGHT
-: PS4BT.h
+: PS4Parser.h
Dying
: PS3Enums.h
@@ -246,17 +246,23 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Green
: PS3Enums.h
+gX
+: controllerEnums.h
+
gXmove
-: PS3Enums.h
+: controllerEnums.h
+
+gY
+: controllerEnums.h
gYmove
-: PS3Enums.h
+: controllerEnums.h
gZ
-: PS3Enums.h
+: controllerEnums.h
gZmove
-: PS3Enums.h
+: controllerEnums.h
@@ -278,9 +284,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- k -
@@ -425,7 +428,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- p -
Pitch
-: PS3Enums.h
+: controllerEnums.h
Plugged
: PS3Enums.h
@@ -477,7 +480,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: controllerEnums.h
Roll
-: PS3Enums.h
+: controllerEnums.h
ROTATING
: xboxEnums.h
@@ -521,7 +524,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: controllerEnums.h
tempMove
-: PS3Enums.h
+: controllerEnums.h
+
+TOUCHPAD
+: controllerEnums.h
TRIANGLE
: controllerEnums.h
@@ -559,12 +565,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
- w -
diff --git a/globals_g.html b/globals_g.html
index 4b5c8157..b47fe0c0 100644
--- a/globals_g.html
+++ b/globals_g.html
@@ -155,17 +155,23 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Green
: PS3Enums.h
+gX
+: controllerEnums.h
+
gXmove
-: PS3Enums.h
+: controllerEnums.h
+
+gY
+: controllerEnums.h
gYmove
-: PS3Enums.h
+: controllerEnums.h
gZ
-: PS3Enums.h
+: controllerEnums.h
gZmove
-: PS3Enums.h
+: controllerEnums.h
diff --git a/globals_k.html b/globals_k.html
index 9086b318..f2b75a33 100644
--- a/globals_k.html
+++ b/globals_k.html
@@ -149,9 +149,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
KEYBOARD_PARSER_ID
: BTHID.h
-KEYPAD
-: controllerEnums.h
-
kFrameError
: cdcprolific.h
diff --git a/globals_m.html b/globals_m.html
index b102092d..fae0f202 100644
--- a/globals_m.html
+++ b/globals_m.html
@@ -329,13 +329,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: masstorage.h
mXmove
-: PS3Enums.h
+: controllerEnums.h
mYmove
-: PS3Enums.h
+: controllerEnums.h
mZmove
-: PS3Enums.h
+: controllerEnums.h
diff --git a/globals_p.html b/globals_p.html
index 7ba9a7bc..1fa69ba9 100644
--- a/globals_p.html
+++ b/globals_p.html
@@ -135,7 +135,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: BTD.h
Pitch
-: PS3Enums.h
+: controllerEnums.h
pl2303_type
: cdcprolific.h
@@ -229,11 +229,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: BTD.h
, PS3USB.h
-PS4_ANALOG_BUTTONS
-: PS4BT.cpp
-
PS4_BUTTONS
-: PS4BT.cpp
+: PS4Parser.h
+
+PS4_PID
+: PS4USB.h
+
+PS4_VID
+: PS4USB.h
PSETUP_PKT
: UsbCore.h
diff --git a/globals_r.html b/globals_r.html
index 017cecfb..8825f01b 100644
--- a/globals_r.html
+++ b/globals_r.html
@@ -225,7 +225,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: max3421e.h
Roll
-: PS3Enums.h
+: controllerEnums.h
ROTATING
: xboxEnums.h
diff --git a/globals_s.html b/globals_s.html
index 9acb3f8b..493bda66 100644
--- a/globals_s.html
+++ b/globals_s.html
@@ -369,7 +369,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: max_LCD.cpp
SensorEnum
-: PS3Enums.h
+: controllerEnums.h
SERIAL_STATE
: cdcacm.h
diff --git a/globals_t.html b/globals_t.html
index 4b98c473..d84f129d 100644
--- a/globals_t.html
+++ b/globals_t.html
@@ -198,7 +198,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: cdcacm.h
tempMove
-: PS3Enums.h
+: controllerEnums.h
tokIN
: max3421e.h
@@ -224,6 +224,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
totalEndpoints
: hidboot.h
+TOUCHPAD
+: controllerEnums.h
+
TRIANGLE
: controllerEnums.h
diff --git a/globals_vars.html b/globals_vars.html
index 29e642c2..eed35483 100644
--- a/globals_vars.html
+++ b/globals_vars.html
@@ -116,11 +116,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
PS3_REPORT_BUFFER
: PS3Enums.h
-PS4_ANALOG_BUTTONS
-: PS4BT.cpp
-
PS4_BUTTONS
-: PS4BT.cpp
+: PS4Parser.h
pstrCRLF
: hidusagestr.h
diff --git a/globals_w.html b/globals_w.html
index c23f04e5..13ce1d0a 100644
--- a/globals_w.html
+++ b/globals_w.html
@@ -125,12 +125,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Here is a list of all file members with links to the files they belong to:
- w -
-WHITE
-: controllerEnums.h
-
White
: PS3Enums.h
+WHITE
+: controllerEnums.h
+
WI_PROTOCOL_BT
: BTD.h
diff --git a/hid_8h.html b/hid_8h.html
index ed8d7a28..8b96ddf9 100644
--- a/hid_8h.html
+++ b/hid_8h.html
@@ -106,7 +106,7 @@ This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
diff --git a/hid_8h__dep__incl.map b/hid_8h__dep__incl.map
index f5deb3b5..33bccf0a 100644
--- a/hid_8h__dep__incl.map
+++ b/hid_8h__dep__incl.map
@@ -1,13 +1,13 @@
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
diff --git a/hid_8h__dep__incl.md5 b/hid_8h__dep__incl.md5
index 507637fc..f6df5de4 100644
--- a/hid_8h__dep__incl.md5
+++ b/hid_8h__dep__incl.md5
@@ -1 +1 @@
-a06d9659b50a7f7ed4fa30c213f151bb
\ No newline at end of file
+6e99b703f2b0e363b7fb365f74bfe987
\ No newline at end of file
diff --git a/hid_8h__dep__incl.png b/hid_8h__dep__incl.png
index b8d637c4..5bfd2581 100644
Binary files a/hid_8h__dep__incl.png and b/hid_8h__dep__incl.png differ
diff --git a/hidboot_8h.html b/hidboot_8h.html
index 3d7fe1b5..6676735e 100644
--- a/hidboot_8h.html
+++ b/hidboot_8h.html
@@ -105,7 +105,7 @@ This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
diff --git a/hidboot_8h__dep__incl.map b/hidboot_8h__dep__incl.map
index facf326c..472804bb 100644
--- a/hidboot_8h__dep__incl.map
+++ b/hidboot_8h__dep__incl.map
@@ -1,7 +1,6 @@
-
+
-
diff --git a/hidboot_8h__dep__incl.md5 b/hidboot_8h__dep__incl.md5
index 31195751..fde1084f 100644
--- a/hidboot_8h__dep__incl.md5
+++ b/hidboot_8h__dep__incl.md5
@@ -1 +1 @@
-85c05ba8786db869236b3549b27041bc
\ No newline at end of file
+6ab61eb2435ebc69d824293cce425db4
\ No newline at end of file
diff --git a/hidboot_8h__dep__incl.png b/hidboot_8h__dep__incl.png
index 36e55570..c39fd992 100644
Binary files a/hidboot_8h__dep__incl.png and b/hidboot_8h__dep__incl.png differ
diff --git a/hiduniversal_8cpp_source.html b/hiduniversal_8cpp_source.html
index 386c8993..3a461fe9 100644
--- a/hiduniversal_8cpp_source.html
+++ b/hiduniversal_8cpp_source.html
@@ -94,403 +94,416 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
-
-
-
-
-
-
-
- 14 uint16_t HIDUniversal::GetHidClassDescrLen(uint8_t type, uint8_t num) {
-
- 16 if (descrInfo[i].bDescrType == type) {
-
-
-
-
-
-
-
-
- 25 void HIDUniversal::Initialize() {
-
- 27 rptParsers[i].rptId = 0;
- 28 rptParsers[i].rptParser = NULL;
-
-
-
-
-
-
- 35 hidInterfaces[i].bmInterface = 0;
- 36 hidInterfaces[i].bmProtocol = 0;
-
-
- 39 hidInterfaces[i].epIndex[j] = 0;
-
-
-
-
-
-
-
-
-
-
-
- 51 ZeroMemory(constBuffLen, prevBuf);
-
-
-
-
- 56 if (rptParsers[i].rptId == 0 && rptParsers[i].rptParser == NULL) {
- 57 rptParsers[i].rptId = id;
- 58 rptParsers[i].rptParser = prs;
-
-
-
-
-
-
-
-
- 67 return ((rptParsers[0].rptParser) ? rptParsers[0].rptParser : NULL);
-
-
- 70 if (rptParsers[i].rptId ==
id )
- 71 return rptParsers[i].rptParser;
-
-
-
-
-
-
-
- 79 uint8_t buf[constBufSize];
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ 15 uint16_t HIDUniversal::GetHidClassDescrLen(uint8_t type, uint8_t num) {
+
+ 17 if (descrInfo[i].bDescrType == type) {
+
+
+
+
+
+
+
+
+ 26 void HIDUniversal::Initialize() {
+
+ 28 rptParsers[i].rptId = 0;
+ 29 rptParsers[i].rptParser = NULL;
+
+
+
+
+
+
+ 36 hidInterfaces[i].bmInterface = 0;
+ 37 hidInterfaces[i].bmProtocol = 0;
+
+
+ 40 hidInterfaces[i].epIndex[j] = 0;
+
+
+
+
+
+
+
+
+
+
+
+
+ 53 ZeroMemory(constBuffLen, prevBuf);
+
+
+
+
+ 58 if (rptParsers[i].rptId == 0 && rptParsers[i].rptParser == NULL) {
+ 59 rptParsers[i].rptId = id;
+ 60 rptParsers[i].rptParser = prs;
+
+
+
+
+
+
+
+
+ 69 return ((rptParsers[0].rptParser) ? rptParsers[0].rptParser : NULL);
+
+
+ 72 if (rptParsers[i].rptId ==
id )
+ 73 return rptParsers[i].rptParser;
+
+
+
+
+
+
+
+ 81 uint8_t buf[constBufSize];
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
- 119 len = (buf[0] > constBufSize) ? constBufSize : buf[0];
-
-
-
-
-
- 125 goto FailGetDevDescr;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ 121 len = (buf[0] > constBufSize) ? constBufSize : buf[0];
+
+
+
+
+
+ 127 goto FailGetDevDescr;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
-
-
-
-
- 168 goto FailGetDevDescr;
-
-
+
+
+
+
+
+
+ 170 goto FailGetDevDescr;
-
-
+
+
-
- 176 goto FailSetDevTblEntry;
-
-
+
+
+
+
- 180 for (uint8_t i = 0; i < num_of_conf; i++) {
-
-
-
+
+ 181 goto FailSetDevTblEntry;
+
+
-
-
-
-
- 189 goto FailGetConfDescr;
-
-
-
-
-
-
-
-
-
-
-
-
+ 185 for (uint8_t i = 0; i < num_of_conf; i++) {
+
+
+
+
+
+
+
+
+ 194 goto FailGetConfDescr;
+
+
+
+
+
+
+
-
-
+
+
-
- 207 goto FailSetConfDescr;
-
- 209 for (uint8_t i = 0; i < bNumIface; i++) {
-
-
-
- 213 rcode =
SetIdle (hidInterfaces[i].bmInterface, 0, 0);
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ 212 goto FailSetConfDescr;
+
+ 214 for (uint8_t i = 0; i < bNumIface; i++) {
+
+
+
+ 218 rcode =
SetIdle (hidInterfaces[i].bmInterface, 0, 0);
+
+
+
+
+
+
-
- 227 #ifdef DEBUG_USB_HOST
-
-
-
-
-
- 233 #ifdef DEBUG_USB_HOST
-
-
-
-
-
- 239 #ifdef DEBUG_USB_HOST
-
-
-
-
-
- 245 #ifdef DEBUG_USB_HOST
-
-
-
-
-
-
- 252 #ifdef DEBUG_USB_HOST
-
-
-
- 256 #ifdef DEBUG_USB_HOST
-
-
+
+
+
+
+
+
+ 232 #ifdef DEBUG_USB_HOST
+
+
+
+
+
+ 238 #ifdef DEBUG_USB_HOST
+
+
+
+
+
+ 244 #ifdef DEBUG_USB_HOST
+
+
+
+
+
+ 250 #ifdef DEBUG_USB_HOST
+
+
+
+
+
+
+ 257 #ifdef DEBUG_USB_HOST
+
-
-
-
-
- 264 HIDUniversal::HIDInterface* HIDUniversal::FindInterface(uint8_t iface, uint8_t alt, uint8_t proto) {
-
- 266 if (hidInterfaces[i].bmInterface == iface && hidInterfaces[i].bmAltSet == alt
- 267 && hidInterfaces[i].bmProtocol == proto)
- 268 return hidInterfaces + i;
-
-
-
-
-
- 274 if (bNumEP > 1 && conf != bConfNum)
-
+
+ 261 #ifdef DEBUG_USB_HOST
+
+
+
+
+
+
+
+ 269 HIDUniversal::HIDInterface* HIDUniversal::FindInterface(uint8_t iface, uint8_t alt, uint8_t proto) {
+
+ 271 if (hidInterfaces[i].bmInterface == iface && hidInterfaces[i].bmAltSet == alt
+ 272 && hidInterfaces[i].bmProtocol == proto)
+ 273 return hidInterfaces + i;
+
+
-
-
-
-
-
-
-
- 284 HIDInterface *piface = FindInterface(iface, alt, proto);
+
+
+ 279 if (bNumEP > 1 && conf != bConfNum)
+
+
+
+
+
-
-
- 288 piface = hidInterfaces + bNumIface;
- 289 piface->bmInterface = iface;
- 290 piface->bmAltSet = alt;
- 291 piface->bmProtocol = proto;
-
-
-
-
-
-
-
+
+
+
+ 289 HIDInterface *piface = FindInterface(iface, alt, proto);
+
+
+
+ 293 piface = hidInterfaces + bNumIface;
+ 294 piface->bmInterface = iface;
+ 295 piface->bmAltSet = alt;
+ 296 piface->bmProtocol = proto;
+
+
-
-
-
-
-
-
-
-
- 308 piface->epIndex[index] = bNumEP;
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 313 piface->epIndex[index] = bNumEP;
-
-
+ 315 if (pollInterval < pep->bInterval)
+
-
-
-
-
-
-
-
- 325 bool HIDUniversal::BuffersIdentical(uint8_t len, uint8_t *buf1, uint8_t *buf2) {
- 326 for (uint8_t i = 0; i < len; i++)
- 327 if (buf1[i] != buf2[i])
-
-
-
-
- 332 void HIDUniversal::ZeroMemory(uint8_t len, uint8_t *buf) {
- 333 for (uint8_t i = 0; i < len; i++)
-
-
-
- 337 void HIDUniversal::SaveBuffer(uint8_t len, uint8_t *src, uint8_t *dest) {
- 338 for (uint8_t i = 0; i < len; i++)
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 333 bool HIDUniversal::BuffersIdentical(uint8_t len, uint8_t *buf1, uint8_t *buf2) {
+ 334 for (uint8_t i = 0; i < len; i++)
+ 335 if (buf1[i] != buf2[i])
+
+
+
+
+ 340 void HIDUniversal::ZeroMemory(uint8_t len, uint8_t *buf) {
+ 341 for (uint8_t i = 0; i < len; i++)
+
+
-
-
-
- 348 if (qNextPollTime <= millis()) {
- 349 qNextPollTime = millis() + 50;
-
- 351 uint8_t buf[constBuffLen];
+ 345 void HIDUniversal::SaveBuffer(uint8_t len, uint8_t *src, uint8_t *dest) {
+ 346 for (uint8_t i = 0; i < len; i++)
+
+
+
+
+
- 353 for (uint8_t i = 0; i < bNumIface; i++) {
-
- 355 uint16_t read = (uint16_t)epInfo[index].maxPktSize;
-
- 357 ZeroMemory(constBuffLen, buf);
+
+
+
+ 356 if (qNextPollTime <= millis()) {
+ 357 qNextPollTime = millis() + pollInterval;
-
+ 359 uint8_t buf[constBuffLen];
-
-
- 363 USBTRACE3 (
"(hiduniversal.h) Poll:" , rcode, 0x81);
-
-
+ 361 for (uint8_t i = 0; i < bNumIface; i++) {
+
+ 363 uint16_t read = (uint16_t)epInfo[index].maxPktSize;
+
+ 365 ZeroMemory(constBuffLen, buf);
- 367 if (read > constBuffLen)
-
-
- 370 bool identical = BuffersIdentical(read, buf, prevBuf);
-
- 372 SaveBuffer(read, buf, prevBuf);
-
-
-
-
- 377 Notify (PSTR(
"\r\nBuf: " ), 0x80);
-
- 379 for (uint8_t i = 0; i < read; i++)
- 380 D_PrintHex<uint8_t > (buf[i], 0x80);
+
+
+
+
+ 371 USBTRACE3 (
"(hiduniversal.h) Poll:" , rcode, 0x81);
+
+
+
+ 375 if (read > constBuffLen)
+
+
+ 378 bool identical = BuffersIdentical(read, buf, prevBuf);
+
+ 380 SaveBuffer(read, buf, prevBuf);
- 382 Notify (PSTR(
"\r\n" ), 0x80);
-
-
-
-
-
-
-
-
-
+
+
+
+ 385 Notify (PSTR(
"\r\nBuf: " ), 0x80);
+
+ 387 for (uint8_t i = 0; i < read; i++)
+ 388 D_PrintHex<uint8_t > (buf[i], 0x80);
+
+ 390 Notify (PSTR(
"\r\n" ), 0x80);
+
+
+
+
+
+
+
+
+
+
+
+
uint8_t getConfDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t conf, uint8_t *dataptr)
-virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
+virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
-
+
#define USB_ERROR_EPINFO_IS_NULL
+
+
static const uint8_t epInterruptOutIndex
@@ -499,12 +512,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define NotifyFailGetDevDescr(...)
uint8_t setEpInfoEntry(uint8_t addr, uint8_t epcount, EpInfo *eprecord_ptr)
-virtual uint8_t Release()
+virtual uint8_t Release()
#define CP_MASK_COMPARE_CLASS
-virtual uint8_t OnInitSuccessful()
+
+virtual uint8_t OnInitSuccessful()
virtual void FreeAddress(uint8_t addr)=0
-
+
uint16_t wDescriptorLength
virtual UsbDevice * GetUsbDevicePtr(uint8_t addr)=0
@@ -514,11 +528,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
uint8_t setAddr(uint8_t oldaddr, uint8_t ep, uint8_t newaddr)
#define NotifyFailGetConfDescr(...)
+virtual void ParseHIDData(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
#define USB_NAK_MAX_POWER
-virtual HIDReportParser * GetReportParser(uint8_t id)
+virtual HIDReportParser * GetReportParser(uint8_t id)
-virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
+virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
@@ -535,6 +550,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define USB_DEV_CONFIG_ERROR_DEVICE_NOT_SUPPORTED
uint8_t SetIdle(uint8_t iface, uint8_t reportID, uint8_t duration)
+
static const uint8_t epInterruptInIndex
uint8_t bNumConfigurations
#define USB_ERROR_OUT_OF_ADDRESS_SPACE_IN_POOL
@@ -548,7 +564,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define NotifyFailSetConfDescr(...)
#define HID_MAX_HID_CLASS_DESCRIPTORS
static const uint8_t maxEpPerInterface
-virtual bool SetReportParser(uint8_t id, HIDReportParser *prs)
+virtual bool SetReportParser(uint8_t id, HIDReportParser *prs)
uint8_t getDevDescr(uint8_t addr, uint8_t ep, uint16_t nbytes, uint8_t *dataptr)
defined(USB_METHODS_INLINE)
#define NotifyFailSetDevTblEntry(...)
diff --git a/hiduniversal_8h.html b/hiduniversal_8h.html
index 4d7456e6..cc6d2223 100644
--- a/hiduniversal_8h.html
+++ b/hiduniversal_8h.html
@@ -104,7 +104,7 @@ This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
diff --git a/hiduniversal_8h__dep__incl.map b/hiduniversal_8h__dep__incl.map
index c26e44cb..5f89e5e3 100644
--- a/hiduniversal_8h__dep__incl.map
+++ b/hiduniversal_8h__dep__incl.map
@@ -1,3 +1,4 @@
+
diff --git a/hiduniversal_8h__dep__incl.md5 b/hiduniversal_8h__dep__incl.md5
index 46842cd7..3722e3ed 100644
--- a/hiduniversal_8h__dep__incl.md5
+++ b/hiduniversal_8h__dep__incl.md5
@@ -1 +1 @@
-d8494c0fe1a5ece9e78ca050025688c5
\ No newline at end of file
+3aa7f3811514116600ec9c794b460676
\ No newline at end of file
diff --git a/hiduniversal_8h__dep__incl.png b/hiduniversal_8h__dep__incl.png
index 2a9420f9..be0c7374 100644
Binary files a/hiduniversal_8h__dep__incl.png and b/hiduniversal_8h__dep__incl.png differ
diff --git a/hiduniversal_8h_source.html b/hiduniversal_8h_source.html
index 1647a818..b378a584 100644
--- a/hiduniversal_8h_source.html
+++ b/hiduniversal_8h_source.html
@@ -126,70 +126,85 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
37 uint32_t qNextPollTime;
-
-
- 40 static const uint16_t constBuffLen = 64;
- 41 uint8_t prevBuf[constBuffLen];
-
-
- 44 HIDInterface* FindInterface(uint8_t iface, uint8_t alt, uint8_t proto);
-
- 46 void ZeroMemory(uint8_t len, uint8_t *buf);
- 47 bool BuffersIdentical(uint8_t len, uint8_t *buf1, uint8_t *buf2);
- 48 void SaveBuffer(uint8_t len, uint8_t *src, uint8_t *dest);
-
-
-
-
-
-
+
+
+
+ 41 static const uint16_t constBuffLen = 64;
+ 42 uint8_t prevBuf[constBuffLen];
+
+
+ 45 HIDInterface* FindInterface(uint8_t iface, uint8_t alt, uint8_t proto);
+
+ 47 void ZeroMemory(uint8_t len, uint8_t *buf);
+ 48 bool BuffersIdentical(uint8_t len, uint8_t *buf1, uint8_t *buf2);
+ 49 void SaveBuffer(uint8_t len, uint8_t *src, uint8_t *dest);
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
- 67 virtual uint8_t
Init (uint8_t parent, uint8_t port,
bool lowspeed);
-
- 69 virtual uint8_t
Poll ();
-
-
-
-
-
-
-
-
-
- 79 #endif // __HIDUNIVERSAL_H__
-virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
-
+
+
+
+
+
+
+
+
+
+
+
+ 74 virtual uint8_t
Init (uint8_t parent, uint8_t port,
bool lowspeed);
+
+ 76 virtual uint8_t
Poll ();
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 90 #endif // __HIDUNIVERSAL_H__
+
+virtual uint8_t Init(uint8_t parent, uint8_t port, bool lowspeed)
+
+
-virtual uint8_t Release()
-virtual uint8_t OnInitSuccessful()
-
-virtual HIDReportParser * GetReportParser(uint8_t id)
+virtual uint8_t Release()
+
+virtual uint8_t OnInitSuccessful()
+
+virtual void ParseHIDData(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
+virtual HIDReportParser * GetReportParser(uint8_t id)
-virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
+virtual void EndpointXtract(uint8_t conf, uint8_t iface, uint8_t alt, uint8_t proto, const USB_ENDPOINT_DESCRIPTOR *ep)
#define MAX_REPORT_PARSERS
-virtual uint8_t GetAddress()
+virtual uint8_t GetAddress()
static const uint8_t totalEndpoints
#define HID_MAX_HID_CLASS_DESCRIPTORS
static const uint8_t maxEpPerInterface
-virtual bool SetReportParser(uint8_t id, HIDReportParser *prs)
+virtual bool SetReportParser(uint8_t id, HIDReportParser *prs)
static const uint8_t maxHidInterfaces
diff --git a/hidusagestr_8h.html b/hidusagestr_8h.html
index 62ba7876..42e17757 100644
--- a/hidusagestr_8h.html
+++ b/hidusagestr_8h.html
@@ -104,7 +104,7 @@ This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
diff --git a/hidusagestr_8h__dep__incl.map b/hidusagestr_8h__dep__incl.map
index c164d0f4..56d27f3d 100644
--- a/hidusagestr_8h__dep__incl.map
+++ b/hidusagestr_8h__dep__incl.map
@@ -1,15 +1,15 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
-
-
+
+
+
diff --git a/hidusagestr_8h__dep__incl.md5 b/hidusagestr_8h__dep__incl.md5
index 8f8fbf9c..b8bb7ee7 100644
--- a/hidusagestr_8h__dep__incl.md5
+++ b/hidusagestr_8h__dep__incl.md5
@@ -1 +1 @@
-7c15a5c2d222b69062d48eaa0e944c65
\ No newline at end of file
+e0423e5f6f284f061c74db04492e37a0
\ No newline at end of file
diff --git a/hidusagestr_8h__dep__incl.png b/hidusagestr_8h__dep__incl.png
index ccc7783f..84c6e3fe 100644
Binary files a/hidusagestr_8h__dep__incl.png and b/hidusagestr_8h__dep__incl.png differ
diff --git a/hierarchy.html b/hierarchy.html
index c7653095..fa97e65a 100644
--- a/hierarchy.html
+++ b/hierarchy.html
@@ -90,7 +90,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Go to the graphical class hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 1 2 3 ]
+[detail level 1 2 3 4 ]
ACM_FUNC_DESCR
AddressPool
AddressPoolImpl< MAX_DEVICES_ALLOWED >
@@ -100,32 +100,32 @@ This inheritance list is sorted roughly, but not completely, alphabetically:SinkParser< BASE_CLASS, LEN_TYPE, OFFSET_TYPE >
BASICCDB
BluetoothService
-BTHID
-PS3BT
-SPP
-WII
-ByteSkipper
-CALL_MGMNT_FUNC_DESCR
-Capacity
-CDB10
-CDB12
-CDB6
-CDB_LBA32_16
-CDB_LBA64_16
-CDCAsyncOper
-CLASS_NOTIFICATION
-CommandBlockWrapperBase
-CommandBlockWrapper
-CommandStatusWrapper
-EpInfo
-FTDIAsyncOper
-HID_CLASS_DESCRIPTOR_LEN_AND_TYPE
-HidItemPrefix
-HIDReportParser
-KeyboardReportParser
-MouseReportParser
-PS4BT
-UniversalReportParser
+BTHID
+PS4BT
+PS3BT
+SPP
+WII
+ByteSkipper
+CALL_MGMNT_FUNC_DESCR
+Capacity
+CDB10
+CDB12
+CDB6
+CDB_LBA32_16
+CDB_LBA64_16
+CDCAsyncOper
+CLASS_NOTIFICATION
+CommandBlockWrapperBase
+CommandBlockWrapper
+CommandStatusWrapper
+EpInfo
+FTDIAsyncOper
+HID_CLASS_DESCRIPTOR_LEN_AND_TYPE
+HidItemPrefix
+HIDReportParser
+KeyboardReportParser
+MouseReportParser
+UniversalReportParser
HubDescriptor
HubEvent
InquiryResponse
@@ -143,47 +143,52 @@ This inheritance list is sorted roughly, but not completely, alphabetically:Max_LCD
PS4Buttons
PS4Data
-PTPListParser
-RequestSenseResponce
-SETUP_PKT
-SPi< SPI_CLK, SPI_MOSI, SPI_MISO, SPI_SS >
-Stream
-SPP
-TEL_RINGER_FUNC_DESCR
-USB_CONFIGURATION_DESCRIPTOR
-USB_DEVICE_DESCRIPTOR
-USB_ENDPOINT_DESCRIPTOR
-USB_HID_DESCRIPTOR
-USB_INTERFACE_DESCRIPTOR
-UsbConfigXtracter
-ACM
-PL2303
-ADK
-BTD
-BulkOnly
-FTDI
-HID
-HIDBoot< BOOT_PROTOCOL >
-HIDUniversal
-UsbDevice
-UsbDeviceAddress
-USBDeviceConfig
-ACM
-ADK
-BTD
-BulkOnly
-FTDI
-HID
-PS3USB
-USBHub
-XBOXOLD
-XBOXRECV
-XBOXUSB
-USBReadParser
-ConfigDescParser< CLASS_ID, SUBCLASS_ID, PROTOCOL_ID, MASK >
-ReportDescParserBase
-ReportDescParser
-ReportDescParser2
+PS4Parser
+PS4BT
+PS4USB
+PTPListParser
+RequestSenseResponce
+SETUP_PKT
+SPi< SPI_CLK, SPI_MOSI, SPI_MISO, SPI_SS >
+Stream
+SPP
+TEL_RINGER_FUNC_DESCR
+touchpadXY
+USB_CONFIGURATION_DESCRIPTOR
+USB_DEVICE_DESCRIPTOR
+USB_ENDPOINT_DESCRIPTOR
+USB_HID_DESCRIPTOR
+USB_INTERFACE_DESCRIPTOR
+UsbConfigXtracter
+ACM
+PL2303
+ADK
+BTD
+BulkOnly
+FTDI
+HID
+HIDBoot< BOOT_PROTOCOL >
+HIDUniversal
+PS4USB
+UsbDevice
+UsbDeviceAddress
+USBDeviceConfig
+ACM
+ADK
+BTD
+BulkOnly
+FTDI
+HID
+PS3USB
+USBHub
+XBOXOLD
+XBOXRECV
+XBOXUSB
+USBReadParser
+ConfigDescParser< CLASS_ID, SUBCLASS_ID, PROTOCOL_ID, MASK >
+ReportDescParserBase
+ReportDescParser
+ReportDescParser2
diff --git a/index.html b/index.html
index b10f15ec..aee29b79 100644
--- a/index.html
+++ b/index.html
@@ -98,7 +98,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Kristian Lauszus, TKJ Electronics - krist.nosp@m. ianl.nosp@m. @tkje.nosp@m. lect.nosp@m. ronic.nosp@m. s.co.nosp@m. m
-Developer of the BTD , BTHID , SPP , PS3 , Wii , and Xbox libraries
+Developer of the BTD , BTHID , SPP , PS4 , PS3 , Wii , and Xbox libraries
Andrew Kroll - xxxaj.nosp@m. k@gm.nosp@m. ail.c.nosp@m. om
@@ -157,6 +157,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
The Bluetooth HID library allows you to connect HID devices via Bluetooth to the USB Host Shield.
Currently HID mice and keyboards are supported.
It uses the standard Boot protocol by default, but it is also able to use the Report protocol as well. You would simply have to call setProtocolMode()
and then parse HID_RPT_PROTOCOL
as an argument. You will then have to modify the parser for your device. See the example: BTHID.ino for more information.
+The PS4 library also uses this class to handle all Bluetooth communication.
+For information see the following blog post: http://blog.tkjelectronics.dk/2013/12/bluetooth-hid-devices-now-supported-by-the-usb-host-library/ .
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. It has been tested successfully on Windows, Mac OS X, Linux, and Android.
Take a look at the SPP.ino example for more information.
@@ -166,6 +168,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
http://blog.tkjelectronics.dk/2012/07/rfcommspp-library-for-arduino/
To implement the SPP protocol I used a Bluetooth sniffing tool called PacketLogger developed by Apple. It enables me to see the Bluetooth communication between my Mac and any device.
+PS4 Library
+The PS4BT library is split up into the PS4BT and the PS4USB library. These allow you to use the Sony PS4 controller via Bluetooth and USB .
+The PS4BT.ino and PS4USB.ino examples shows how to easily read the buttons and joysticks on the controller via Bluetooth and USB respectively.
+I still have not figured out how to turn rumble on and off and set the color of the light, but hopefully I will figure that out soon.
+Also the gyro, accelerometer and touchpad values are still only available via USB at the moment.
+Before you can use the PS4 controller via Bluetooth you will need to pair with it.
+Simply create the PS4BT instance like so: PS4BT PS4(&Btd, PAIR);
and then hold down the PS and Share button at the same time, the PS4 controller will then start to blink rapidly indicating that it is in paring mode.
+It should then automatically pair the dongle with your controller. This only have to be done once.
+For information see the following blog post: http://blog.tkjelectronics.dk/2014/01/ps4-controller-now-supported-by-the-usb-host-library/ .
PS3 Library
These libraries consist of the PS3BT and PS3USB . These libraries allows you to use a Dualshock 3, Navigation or a Motion controller with the USB Host Shield both via Bluetooth and USB .
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.
@@ -245,7 +256,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
When I plug my device into the USB connector nothing happens?
-Try to connect a external power supply to the Arduino - this solves the problem in most cases.
+
+Try to connect a external power supply to the Arduino - this solves the problem in most cases.
+You can also use a powered hub between the device and the USB Host Shield. You should then include the USB hub library: #include <usbhub.h >
and create the instance like so: USBHub Hub1(&Usb);
.
+
+
+
+
+
+
+
+ uint8_t PS4Data::dummy[3]
+
+
+
+
+
+
+
+
+
+ int16_t PS4Data::gyroY
+
+
+
+
+
+
+
+
+
+ int16_t PS4Data::gyroZ
+
+
+
+
+
+
+
+
+
+ int16_t PS4Data::gyroX
+
+
+
+
+
+
+
+
+
+ int16_t PS4Data::accX
+
+
+
+
+
+
+
+
+
+ int16_t PS4Data::accZ
+
+
+
+
+
+
+
+
+
+ int16_t PS4Data::accY
+
+
+
+
+
+
+
+
+
+ uint8_t PS4Data::dummy2[9]
+
+
+
+
+
+
The documentation for this struct was generated from the following file:
diff --git a/struct_p_s4_data__coll__graph.map b/struct_p_s4_data__coll__graph.map
index 19e5e3af..9468f1ce 100644
--- a/struct_p_s4_data__coll__graph.map
+++ b/struct_p_s4_data__coll__graph.map
@@ -1,3 +1,4 @@
-
+
+
diff --git a/struct_p_s4_data__coll__graph.md5 b/struct_p_s4_data__coll__graph.md5
index a80061e5..58f7a180 100644
--- a/struct_p_s4_data__coll__graph.md5
+++ b/struct_p_s4_data__coll__graph.md5
@@ -1 +1 @@
-0fcfec72f59136bdce33ffb1fbcc337d
\ No newline at end of file
+aaf08ce42ecba86f0550faaff62cdbeb
\ No newline at end of file
diff --git a/struct_p_s4_data__coll__graph.png b/struct_p_s4_data__coll__graph.png
index 24d92b5f..db6959c0 100644
Binary files a/struct_p_s4_data__coll__graph.png and b/struct_p_s4_data__coll__graph.png differ
diff --git a/struct_s_e_t_u_p___p_k_t-members.html b/struct_s_e_t_u_p___p_k_t-members.html
index 0b75b6a6..82466bf2 100644
--- a/struct_s_e_t_u_p___p_k_t-members.html
+++ b/struct_s_e_t_u_p___p_k_t-members.html
@@ -94,11 +94,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
bRequest SETUP_PKT
direction SETUP_PKT
recipient SETUP_PKT
- ReqType_u SETUP_PKT
+ ReqType_u SETUP_PKT
type SETUP_PKT
wIndex SETUP_PKT
wLength SETUP_PKT
- wVal_u SETUP_PKT
+ wVal_u SETUP_PKT
wValue SETUP_PKT
wValueHi SETUP_PKT
wValueLo SETUP_PKT
diff --git a/struct_s_e_t_u_p___p_k_t.html b/struct_s_e_t_u_p___p_k_t.html
index 28ba044e..e3147765 100644
--- a/struct_s_e_t_u_p___p_k_t.html
+++ b/struct_s_e_t_u_p___p_k_t.html
@@ -95,34 +95,34 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-union {
- uint8_t bmRequestType
-
- struct {
- uint8_t recipient : 5
-
- uint8_t type : 2
-
- uint8_t direction : 1
-
- }
-
-} ReqType_u
-
+union {
+ uint8_t bmRequestType
+
+ struct {
+ uint8_t recipient : 5
+
+ uint8_t type : 2
+
+ uint8_t direction : 1
+
+ }
+
+} ReqType_u
+
uint8_t bRequest
-union {
- uint16_t wValue
-
- struct {
- uint8_t wValueLo
-
- uint8_t wValueHi
-
- }
-
-} wVal_u
-
+union {
+ uint16_t wValue
+
+ struct {
+ uint8_t wValueLo
+
+ uint8_t wValueHi
+
+ }
+
+} wVal_u
+
uint16_t wIndex
uint16_t wLength
@@ -188,7 +188,7 @@ Public Attributes
-
+
@@ -256,7 +256,7 @@ Public Attributes
-
+
diff --git a/structtouchpad_x_y-members.html b/structtouchpad_x_y-members.html
new file mode 100644
index 00000000..d2d070ad
--- /dev/null
+++ b/structtouchpad_x_y-members.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+USB Host Shield 2.0: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ USB Host Shield 2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for touchpadXY , including all inherited members.
+
+
+
+
+
diff --git a/structtouchpad_x_y.html b/structtouchpad_x_y.html
new file mode 100644
index 00000000..e3c43234
--- /dev/null
+++ b/structtouchpad_x_y.html
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+USB Host Shield 2.0: touchpadXY Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ USB Host Shield 2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <PS4Parser.h >
+
+
+uint8_t dummy
+
+struct {
+ struct {
+ uint8_t counter : 7
+
+ uint8_t touching : 1
+
+ }
+
+ struct {
+ uint16_t x : 12
+
+ uint16_t y : 12
+
+ }
+
+} finger [2]
+
+
+
+
+
Definition at line 74 of file PS4Parser.h .
+
+
+
+
+
+
+ uint8_t touchpadXY::dummy
+
+
+
+
+
+
+
+
+
+ uint8_t touchpadXY::counter
+
+
+
+
+
+
+
+
+
+ uint8_t touchpadXY::touching
+
+
+
+
+
+
+
+
+
+ uint16_t touchpadXY::x
+
+
+
+
+
+
+
+
+
+ uint16_t touchpadXY::y
+
+
+
+
+
+
+
+
+
+ struct { ... } touchpadXY::finger[2]
+
+
+
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git a/union_p_s4_buttons-members.html b/union_p_s4_buttons-members.html
index 99ad1c24..8c0b933e 100644
--- a/union_p_s4_buttons-members.html
+++ b/union_p_s4_buttons-members.html
@@ -93,8 +93,6 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
circle PS4Buttons
cross PS4Buttons
dpad PS4Buttons
- dummy PS4Buttons
- keypad PS4Buttons
l1 PS4Buttons
l2 PS4Buttons
l3 PS4Buttons
@@ -105,6 +103,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
r3 PS4Buttons
share PS4Buttons
square PS4Buttons
+ timestamp PS4Buttons
+ touchpad PS4Buttons
triangle PS4Buttons
val PS4Buttons
diff --git a/union_p_s4_buttons.html b/union_p_s4_buttons.html
index 5422ee4a..8cb01a21 100644
--- a/union_p_s4_buttons.html
+++ b/union_p_s4_buttons.html
@@ -91,7 +91,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
#include <PS4BT.h >
+
#include <PS4Parser.h >
@@ -124,10 +124,10 @@ Public Attributes
uint8_t ps : 1
- uint8_t keypad : 1
-
- uint8_t dummy : 6
-
+ uint8_t touchpad : 1
+
+ uint8_t timestamp : 6
+
};
uint8_t val [3]
@@ -135,7 +135,7 @@ Public Attributes
-
Definition at line 36 of file PS4BT.h .
+
Definition at line 50 of file PS4Parser.h .
@@ -147,7 +147,7 @@ Public Attributes
@@ -161,7 +161,7 @@ Public Attributes
@@ -175,7 +175,7 @@ Public Attributes
@@ -189,7 +189,7 @@ Public Attributes
@@ -203,7 +203,7 @@ Public Attributes
@@ -217,7 +217,7 @@ Public Attributes
@@ -231,7 +231,7 @@ Public Attributes
@@ -245,7 +245,7 @@ Public Attributes
@@ -259,7 +259,7 @@ Public Attributes
@@ -273,7 +273,7 @@ Public Attributes
@@ -287,7 +287,7 @@ Public Attributes
@@ -301,7 +301,7 @@ Public Attributes
@@ -315,7 +315,7 @@ Public Attributes
@@ -329,35 +329,35 @@ Public Attributes
-
+
- uint8_t PS4Buttons::keypad
+ uint8_t PS4Buttons::touchpad
-
+
- uint8_t PS4Buttons::dummy
+ uint8_t PS4Buttons::timestamp
@@ -383,12 +383,12 @@ Public Attributes
The documentation for this union was generated from the following file: