#include <BTD.h>
|
| BTD (USB *p) |
|
void | disconnect () |
|
int8_t | registerServiceClass (BluetoothService *pService) |
|
void | pairWithWiimote () |
|
uint8_t | readPollInterval () |
|
|
virtual uint8_t | Init (uint8_t parent, uint8_t port, bool lowspeed) |
|
virtual uint8_t | Release () |
|
virtual uint8_t | Poll () |
|
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) |
|
|
void | HCI_Command (uint8_t *data, uint16_t nbytes) |
|
void | hci_reset () |
|
void | hci_read_bdaddr () |
|
void | hci_read_local_version_information () |
|
void | hci_set_local_name (const char *name) |
|
void | hci_write_scan_enable () |
|
void | hci_write_scan_disable () |
|
void | hci_remote_name () |
|
void | hci_accept_connection () |
|
void | hci_disconnect (uint16_t handle) |
|
void | hci_pin_code_request_reply () |
|
void | hci_pin_code_negative_request_reply () |
|
void | hci_link_key_request_negative_reply () |
|
void | hci_authentication_request () |
|
void | hci_inquiry () |
|
void | hci_inquiry_cancel () |
|
void | hci_connect () |
|
void | hci_write_class_of_device () |
|
|
void | L2CAP_Command (uint16_t handle, uint8_t *data, uint8_t nbytes, uint8_t channelLow=0x01, uint8_t channelHigh=0x00) |
|
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_config_request (uint16_t handle, uint8_t rxid, uint8_t *dcid) |
|
void | l2cap_config_response (uint16_t handle, uint8_t rxid, uint8_t *scid) |
|
void | l2cap_disconnection_request (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) |
|
void | l2cap_information_response (uint16_t handle, uint8_t rxid, uint8_t infoTypeLow, uint8_t infoTypeHigh) |
|
The Bluetooth Dongle class will take care of all the USB communication and then pass the data to the BluetoothService classes.
Definition at line 154 of file BTD.h.
Constructor for the BTD class.
- Parameters
-
p | Pointer to USB class instance. |
Definition at line 27 of file BTD.cpp.
uint8_t BTD::Init |
( |
uint8_t |
parent, |
|
|
uint8_t |
port, |
|
|
bool |
lowspeed |
|
) |
| |
|
virtual |
Initialize the Bluetooth dongle.
- Parameters
-
parent | Hub number. |
port | Port number on the hub. |
lowspeed | Speed of the device. |
- Returns
- 0 on success.
Implements USBDeviceConfig.
Definition at line 45 of file BTD.cpp.
Poll the USB Input endpoins and run the state machines.
- Returns
- 0 on success.
Implements USBDeviceConfig.
Definition at line 303 of file BTD.cpp.
virtual uint8_t BTD::GetAddress |
( |
| ) |
|
|
inlinevirtual |
Get the device address.
- Returns
- The device address.
Implements USBDeviceConfig.
Definition at line 186 of file BTD.h.
virtual bool BTD::isReady |
( |
| ) |
|
|
inlinevirtual |
Used to check if the dongle has been initialized.
- Returns
- True if it's ready.
Definition at line 194 of file BTD.h.
void BTD::EndpointXtract |
( |
uint8_t |
conf, |
|
|
uint8_t |
iface, |
|
|
uint8_t |
alt, |
|
|
uint8_t |
proto, |
|
|
const USB_ENDPOINT_DESCRIPTOR * |
ep |
|
) |
| |
|
virtual |
UsbConfigXtracter implementation, used to extract endpoint information.
- Parameters
-
conf | Configuration value. |
iface | Interface number. |
alt | Alternate setting. |
proto | Interface Protocol. |
ep | Endpoint Descriptor. |
Implements UsbConfigXtracter.
Definition at line 241 of file BTD.cpp.
Disconnects both the L2CAP Channel and the HCI Connection for all Bluetooth services.
Definition at line 212 of file BTD.h.
Register bluetooth dongle members/services.
- Parameters
-
- Returns
- The serice ID on succes or -1 on fail.
Definition at line 223 of file BTD.h.
void BTD::HCI_Command |
( |
uint8_t * |
data, |
|
|
uint16_t |
nbytes |
|
) |
| |
Used to send a HCI Command.
- Parameters
-
data | Data to send. |
nbytes | Number of bytes to send. |
Definition at line 779 of file BTD.cpp.
Reset the Bluetooth dongle.
Definition at line 784 of file BTD.cpp.
void BTD::hci_read_bdaddr |
( |
| ) |
|
Read the Bluetooth address of the dongle.
Definition at line 812 of file BTD.cpp.
void BTD::hci_read_local_version_information |
( |
| ) |
|
Read the HCI Version of the Bluetooth dongle.
Definition at line 819 of file BTD.cpp.
void BTD::hci_set_local_name |
( |
const char * |
name | ) |
|
Set the local name of the Bluetooth dongle.
- Parameters
-
Definition at line 861 of file BTD.cpp.
void BTD::hci_write_scan_enable |
( |
| ) |
|
Enable visibility to other Bluetooth devices.
Definition at line 792 of file BTD.cpp.
void BTD::hci_write_scan_disable |
( |
| ) |
|
Disable visibility to other Bluetooth devices.
Definition at line 804 of file BTD.cpp.
void BTD::hci_remote_name |
( |
| ) |
|
Read the remote devices name.
Definition at line 842 of file BTD.cpp.
void BTD::hci_accept_connection |
( |
| ) |
|
Accept the connection with the Bluetooth device.
Definition at line 826 of file BTD.cpp.
void BTD::hci_disconnect |
( |
uint16_t |
handle | ) |
|
Disconnect the HCI connection.
- Parameters
-
handle | The HCI Handle for the connection. |
Definition at line 1000 of file BTD.cpp.
void BTD::hci_pin_code_request_reply |
( |
| ) |
|
Respond with the pin for the connection. The pin is automatically set for the Wii library, but can be customized for the SPP library.
Definition at line 917 of file BTD.cpp.
void BTD::hci_pin_code_negative_request_reply |
( |
| ) |
|
Respons when no pin was set.
Definition at line 962 of file BTD.cpp.
void BTD::hci_link_key_request_negative_reply |
( |
| ) |
|
Command is used to reply to a Link Key Request event from the BR/EDR Controller if the Host does not have a stored Link Key for the connection.
Definition at line 976 of file BTD.cpp.
void BTD::hci_authentication_request |
( |
| ) |
|
Used to try to authenticate with the remote device.
Definition at line 990 of file BTD.cpp.
void BTD::hci_inquiry |
( |
| ) |
|
Start a HCI inquiry.
Definition at line 873 of file BTD.cpp.
void BTD::hci_inquiry_cancel |
( |
| ) |
|
Cancel a HCI inquiry.
Definition at line 887 of file BTD.cpp.
void BTD::hci_connect |
( |
| ) |
|
Connect to a device.
Definition at line 895 of file BTD.cpp.
void BTD::hci_write_class_of_device |
( |
| ) |
|
Used to a set the class of the device.
Definition at line 1012 of file BTD.cpp.
void BTD::L2CAP_Command |
( |
uint16_t |
handle, |
|
|
uint8_t * |
data, |
|
|
uint8_t |
nbytes, |
|
|
uint8_t |
channelLow = 0x01 , |
|
|
uint8_t |
channelHigh = 0x00 |
|
) |
| |
Used to send L2CAP Commands.
- Parameters
-
handle | HCI Handle. |
data | Data to send. |
nbytes | Number of bytes to send. |
channelLow,channelHigh | Low and high byte of channel to send to. If argument is omitted then the Standard L2CAP header: Channel ID (0x01) for ACL-U will be used. |
Definition at line 1047 of file BTD.cpp.
void BTD::l2cap_connection_request |
( |
uint16_t |
handle, |
|
|
uint8_t |
rxid, |
|
|
uint8_t * |
scid, |
|
|
uint16_t |
psm |
|
) |
| |
L2CAP Connection Request.
- Parameters
-
Definition at line 1075 of file BTD.cpp.
void BTD::l2cap_connection_response |
( |
uint16_t |
handle, |
|
|
uint8_t |
rxid, |
|
|
uint8_t * |
dcid, |
|
|
uint8_t * |
scid, |
|
|
uint8_t |
result |
|
) |
| |
L2CAP Connection Response.
- Parameters
-
handle | HCI handle. |
rxid | Identifier. |
dcid | Destination Channel Identifier. |
scid | Source Channel Identifier. |
result | Result - First send PENDING and then SUCCESSFUL. |
Definition at line 1088 of file BTD.cpp.
void BTD::l2cap_config_request |
( |
uint16_t |
handle, |
|
|
uint8_t |
rxid, |
|
|
uint8_t * |
dcid |
|
) |
| |
L2CAP Config Request.
- Parameters
-
handle | HCI Handle. |
rxid | Identifier. |
dcid | Destination Channel Identifier. |
Definition at line 1105 of file BTD.cpp.
void BTD::l2cap_config_response |
( |
uint16_t |
handle, |
|
|
uint8_t |
rxid, |
|
|
uint8_t * |
scid |
|
) |
| |
L2CAP Config Response.
- Parameters
-
handle | HCI Handle. |
rxid | Identifier. |
scid | Source Channel Identifier. |
Definition at line 1122 of file BTD.cpp.
void BTD::l2cap_disconnection_request |
( |
uint16_t |
handle, |
|
|
uint8_t |
rxid, |
|
|
uint8_t * |
dcid, |
|
|
uint8_t * |
scid |
|
) |
| |
L2CAP Disconnection Request.
- Parameters
-
handle | HCI Handle. |
rxid | Identifier. |
dcid | Device Channel Identifier. |
scid | Source Channel Identifier. |
Definition at line 1141 of file BTD.cpp.
void BTD::l2cap_disconnection_response |
( |
uint16_t |
handle, |
|
|
uint8_t |
rxid, |
|
|
uint8_t * |
dcid, |
|
|
uint8_t * |
scid |
|
) |
| |
L2CAP Disconnection Response.
- Parameters
-
handle | HCI Handle. |
rxid | Identifier. |
dcid | Device Channel Identifier. |
scid | Source Channel Identifier. |
Definition at line 1153 of file BTD.cpp.
void BTD::l2cap_information_response |
( |
uint16_t |
handle, |
|
|
uint8_t |
rxid, |
|
|
uint8_t |
infoTypeLow, |
|
|
uint8_t |
infoTypeHigh |
|
) |
| |
L2CAP Information Response.
- Parameters
-
handle | HCI Handle. |
rxid | Identifier. |
infoTypeLow,infoTypeHigh | Infotype. |
Definition at line 1165 of file BTD.cpp.
void BTD::pairWithWiimote |
( |
| ) |
|
|
inline |
Call this function to pair with a Wiimote
Definition at line 385 of file BTD.h.
uint8_t BTD::readPollInterval |
( |
| ) |
|
|
inline |
Read the poll interval taken from the endpoint descriptors.
- Returns
- The poll interval in ms.
Definition at line 404 of file BTD.h.
Used to print the USB Endpoint Descriptor.
- Parameters
-
ep_ptr | Pointer to USB Endpoint Descriptor. |
Definition at line 273 of file BTD.cpp.
bool BTD::watingForConnection |
Use this to see if it is waiting for a incoming connection.
Definition at line 356 of file BTD.h.
bool BTD::l2capConnectionClaimed |
This is used by the service to know when to store the device information.
Definition at line 358 of file BTD.h.
bool BTD::sdpConnectionClaimed |
This is used by the SPP library to claim the current SDP incoming request.
Definition at line 360 of file BTD.h.
bool BTD::rfcommConnectionClaimed |
This is used by the SPP library to claim the current RFCOMM incoming request.
Definition at line 362 of file BTD.h.
The name you wish to make the dongle show up as. It is set automatically by the SPP library.
Definition at line 365 of file BTD.h.
The pin you wish to make the dongle use for authentication. It is set automatically by the SPP library.
Definition at line 367 of file BTD.h.
uint8_t BTD::my_bdaddr[6] |
The bluetooth dongles Bluetooth address.
Definition at line 370 of file BTD.h.
HCI handle for the last connection.
Definition at line 372 of file BTD.h.
uint8_t BTD::disc_bdaddr[6] |
Last incoming devices Bluetooth address.
Definition at line 374 of file BTD.h.
uint8_t BTD::remote_name[30] |
First 30 chars of last remote name.
Definition at line 376 of file BTD.h.
The supported HCI Version read from the Bluetooth dongle. Used by the PS3BT library to check the HCI Version of the Bluetooth dongle, it should be at least 3 to work properly with the library.
Definition at line 382 of file BTD.h.
Used to only send the ACL data to the wiimote.
Definition at line 388 of file BTD.h.
True if a Wiimote is connecting.
Definition at line 392 of file BTD.h.
True when it should pair with the incoming Wiimote.
Definition at line 394 of file BTD.h.
bool BTD::motionPlusInside |
True if it's the new Wiimote with the Motion Plus Inside or a Wii U Pro Controller.
Definition at line 396 of file BTD.h.
bool BTD::wiiUProController |
True if it's a Wii U Pro Controller.
Definition at line 398 of file BTD.h.
Pointer to USB class instance.
Definition at line 406 of file BTD.h.
Device address.
Definition at line 412 of file BTD.h.
Endpoint info structure.
Definition at line 414 of file BTD.h.
Configuration number.
Definition at line 417 of file BTD.h.
Total number of endpoints in the configuration.
Definition at line 419 of file BTD.h.
uint32_t BTD::qNextPollTime |
|
protected |
Next poll time based on poll interval taken from the USB descriptor.
Definition at line 421 of file BTD.h.
const uint8_t BTD::BTD_CONTROL_PIPE = 0 |
|
staticprotected |
Bluetooth dongle control endpoint.
Definition at line 424 of file BTD.h.
const uint8_t BTD::BTD_EVENT_PIPE = 1 |
|
staticprotected |
HCI event endpoint index.
Definition at line 426 of file BTD.h.
const uint8_t BTD::BTD_DATAIN_PIPE = 2 |
|
staticprotected |
ACL In endpoint index.
Definition at line 428 of file BTD.h.
const uint8_t BTD::BTD_DATAOUT_PIPE = 3 |
|
staticprotected |
ACL Out endpoint index.
Definition at line 430 of file BTD.h.
The documentation for this class was generated from the following files: