mirror of
https://github.com/felis/USB_Host_Shield_2.0.git
synced 2024-03-22 11:31:26 +01:00
Removed double instance of the same code
This commit is contained in:
parent
1965011c4b
commit
913496f8ea
1 changed files with 21 additions and 28 deletions
49
BTD.cpp
49
BTD.cpp
|
@ -152,14 +152,22 @@ uint8_t BTD::Init(uint8_t parent, uint8_t port, bool lowspeed) {
|
||||||
else // must be a navigation controller
|
else // must be a navigation controller
|
||||||
Notify(PSTR("\r\nNavigation Controller Connected"), 0x80);
|
Notify(PSTR("\r\nNavigation Controller Connected"), 0x80);
|
||||||
#endif
|
#endif
|
||||||
/* Set internal bluetooth address */
|
/* Set internal Bluetooth address */
|
||||||
setBdaddr(my_bdaddr);
|
setBdaddr(my_bdaddr);
|
||||||
} else { // must be a Motion controller
|
} else { // It must be a Motion controller
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
Notify(PSTR("\r\nMotion Controller Connected"), 0x80);
|
Notify(PSTR("\r\nMotion Controller Connected"), 0x80);
|
||||||
#endif
|
#endif
|
||||||
setMoveBdaddr(my_bdaddr);
|
setMoveBdaddr(my_bdaddr);
|
||||||
}
|
}
|
||||||
|
#ifdef DEBUG
|
||||||
|
Notify(PSTR("\r\nBluetooth Address was set to: "), 0x80);
|
||||||
|
for (int8_t i = 5; i > 0; i--) {
|
||||||
|
PrintHex<uint8_t > (my_bdaddr[i], 0x80);
|
||||||
|
Notify(PSTR(":"), 0x80);
|
||||||
|
}
|
||||||
|
PrintHex<uint8_t > (my_bdaddr[0], 0x80);
|
||||||
|
#endif
|
||||||
rcode = pUsb->setConf(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, 0); // Reset configuration value
|
rcode = pUsb->setConf(bAddress, epInfo[ BTD_CONTROL_PIPE ].epAddr, 0); // Reset configuration value
|
||||||
pUsb->setAddr(bAddress, 0, 0); // Reset address
|
pUsb->setAddr(bAddress, 0, 0); // Reset address
|
||||||
Release(); // Release device
|
Release(); // Release device
|
||||||
|
@ -1178,29 +1186,22 @@ void BTD::l2cap_information_response(uint16_t handle, uint8_t rxid, uint8_t info
|
||||||
L2CAP_Command(handle, l2capoutbuf, 12);
|
L2CAP_Command(handle, l2capoutbuf, 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* PS3 Commands - only set Bluetooth address is implemented */
|
/* PS3 Commands - only set Bluetooth address is implemented in this library */
|
||||||
void BTD::setBdaddr(uint8_t* BDADDR) {
|
void BTD::setBdaddr(uint8_t* bdaddr) {
|
||||||
/* Set the internal bluetooth address */
|
/* Set the internal Bluetooth address */
|
||||||
uint8_t buf[8];
|
uint8_t buf[8];
|
||||||
buf[0] = 0x01;
|
buf[0] = 0x01;
|
||||||
buf[1] = 0x00;
|
buf[1] = 0x00;
|
||||||
for (uint8_t i = 0; i < 6; i++)
|
|
||||||
buf[i + 2] = BDADDR[5 - i]; //Copy into buffer, has to be written reversed
|
|
||||||
|
|
||||||
//bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0xF5), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data)
|
for (uint8_t i = 0; i < 6; i++)
|
||||||
|
buf[i + 2] = bdaddr[5 - i]; // Copy into buffer, has to be written reversed
|
||||||
|
|
||||||
|
// bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0xF5), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data)
|
||||||
pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0xF5, 0x03, 0x00, 8, 8, buf, NULL);
|
pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0xF5, 0x03, 0x00, 8, 8, buf, NULL);
|
||||||
#ifdef DEBUG
|
|
||||||
Notify(PSTR("\r\nBluetooth Address was set to: "), 0x80);
|
|
||||||
for (int8_t i = 5; i > 0; i--) {
|
|
||||||
PrintHex<uint8_t > (my_bdaddr[i], 0x80);
|
|
||||||
Notify(PSTR(":"), 0x80);
|
|
||||||
}
|
|
||||||
PrintHex<uint8_t > (my_bdaddr[0], 0x80);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BTD::setMoveBdaddr(uint8_t* BDADDR) {
|
void BTD::setMoveBdaddr(uint8_t* bdaddr) {
|
||||||
/* Set the internal bluetooth address */
|
/* Set the internal Bluetooth address */
|
||||||
uint8_t buf[11];
|
uint8_t buf[11];
|
||||||
buf[0] = 0x05;
|
buf[0] = 0x05;
|
||||||
buf[7] = 0x10;
|
buf[7] = 0x10;
|
||||||
|
@ -1209,16 +1210,8 @@ void BTD::setMoveBdaddr(uint8_t* BDADDR) {
|
||||||
buf[10] = 0x12;
|
buf[10] = 0x12;
|
||||||
|
|
||||||
for (uint8_t i = 0; i < 6; i++)
|
for (uint8_t i = 0; i < 6; i++)
|
||||||
buf[i + 1] = BDADDR[i];
|
buf[i + 1] = bdaddr[i];
|
||||||
|
|
||||||
//bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0x05), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data)
|
// bmRequest = Host to device (0x00) | Class (0x20) | Interface (0x01) = 0x21, bRequest = Set Report (0x09), Report ID (0x05), Report Type (Feature 0x03), interface (0x00), datalength, datalength, data)
|
||||||
pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x05, 0x03, 0x00, 11, 11, buf, NULL);
|
pUsb->ctrlReq(bAddress, epInfo[BTD_CONTROL_PIPE].epAddr, bmREQ_HID_OUT, HID_REQUEST_SET_REPORT, 0x05, 0x03, 0x00, 11, 11, buf, NULL);
|
||||||
#ifdef DEBUG
|
|
||||||
Notify(PSTR("\r\nBluetooth Address was set to: "), 0x80);
|
|
||||||
for (int8_t i = 5; i > 0; i--) {
|
|
||||||
PrintHex<uint8_t > (my_bdaddr[i], 0x80);
|
|
||||||
Notify(PSTR(":"), 0x80);
|
|
||||||
}
|
|
||||||
PrintHex<uint8_t > (my_bdaddr[0], 0x80);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue