Bluetooth Overview
Other versions of this page are also available for the following:
8/28/2008
The Bluetooth technology for Windows Embedded CE supports a communication technology that allows devices within a 10-meter proximity to communicate with each other without physical cables.
Note
Bluetooth is not supported for use on the Emulator.
Wireless headsets, modems, human input devices such as keyboard and mouse, and printers are prime examples of devices using this type of technology.
By using various protocols and profiles, Bluetooth can be implemented to perform the following tasks:
- Connect to a modem through a cellular phone.
- Connect to a local area network (LAN) access point.
- Connect to a personal area network (PAN).
- Connect to a wireless keyboard or mouse.
- Connect to a wireless headset or a hands-free device.
OS Design Information
The following table shows the operating system design information for Bluetooth.
Concept | Description |
---|---|
Dependencies |
None. |
Hardware considerations |
Bluetooth interface (USB, UART, BCSP, SDIO, SC, and Ambicom). |
Modules and Components
The following table shows the components and modules that implement the Bluetooth technology in Windows Embedded CE.
Item | Module | Component |
---|---|---|
Libraries |
Btd |
hci, l2cap, sdp, rfcomm, portemu, tdi, sys, univ, btpan |
|
Btdrt |
sdpuser, bthns |
Transport drivers |
btsdio, bthusb, bthamb, bthuart, bthsc, bthcsr, bthuniv |
None. |
Bluetooth serial drivers |
sio950, wendyser, wcestreambt |
None. |
Bluetooth Gateway Configuration Utility |
btgw and btconfig if the OS design includes the Web Server (HTTPD) |
None. |
Bluetooth profiles |
btagsvc, btmodem, bthhid |
bthidsvc, hidparse, kbdhid, conshid |
Note
For information about the IMG environment variables that include or exclude various Bluetooth modules from your run-time image, see IMG Environment Variables.
Implementation Considerations
The following considerations should be taken into account when implementing this technology:
- Only one Bluetooth controller is supported.
- L2CAP links over unreliable channels are not supported.
- Flush Time-out is not supported by L2CAP. Upper layers are supposed to fail the connection when Flush Time-out is not set to the default value or negotiated down to the default value.
- L2CAP does not support dynamic reconfiguration, which allows the system to enter CONFIG mode when a connection has already been opened.
The following table shows the Sysgen variables that control the listed Bluetooth functionalities.
Sysgen variable | Functionality |
---|---|
SYSGEN_BTH |
When this variable is set, the Bluetooth with Universal Loadable Drivers Catalog item is included in your OS design. This item adds the core Bluetooth Protocol Stack. |
SYSGEN_BTH_AUDIO |
When this variable is set, the sample Bluetooth SCO audio driver is added to your OS design. This sample is an HCI extension layer that implements an audio driver that sends and recieves Bluetooth SCO audio data. This sample is located in the %_WINCEROOT%\Public\Common\Oak\Drivers\Bluetooth\Sample\Btscosnd directory. The compiled sample generates a Btscosnd.dll. |
SYSGEN_BTH_GATEWAY |
When this variable is set, the Bluetooth LAP and Configuration Utility Catalog item is included in the OS design. This item is an application that provides a sample implementation of the Bluetooth LAN Access Point (LAP) profile. |
SYSGEN_BTH_MODEM |
When this variable is set, the Bluetooth DUN Gateway Support Catalog item is included in the OS design. This functionality supports the Bluetooth DUN profile. A Windows Embedded CEābased device can use this item to look like a dial-up modem to other Bluetooth-enabled devices. |
SYSGEN_BTH_UTILS |
When this variable is set, the btloader sample is added to your OS design. |
SYSGEN_BTH_AG |
When this variable is set, the Bluetooth HS/HF and Audio Gateway Service Catalog item is included in the OS design. The functionality associated with this Catalog item supports the Headset Profile (HSP) and the Hands-Free Profile (HFP). |
SYSGEN_BTH_HID_KEYBOARD |
When this variable is set, the Bluetooth HID - Keyboard Catalog item is added to your OS design. This item supports the Human Interface Devices (HID) profile. |
SYSGEN_BTH_HID_MOUSE |
When this variable is set, the Bluetooth HID - Mouse Catalog item is added to your OS design. This item supports the Human Interface Devices (HID) profile. |
SYSGEN_BTH_PAN |
When this variable is set, the Bluetooth PAN Catalog item is included in the OS design. This item includes libraries that Windows Embedded CE uses to support the Bluetooth Personal Area Network (PAN) Profile Registry Settings. |
SYSGEN_BTH_CSR_ONLY |
When this variable is set, the Bluetooth with Integrated CSR Chipset Driver Catalog item is included in the OS design. This item includes the CSR support library that is statically linked to btd.dll and reduces RAM and ROM footprints. Use this variable only when your BSP includes a built-in CSR Bluetooth module. This item excludes all other transport drivers and Bluetooth Universal Transport Manager (BthUniv). |
SYSGEN_BTH_SDIO_ONLY |
When this variable is set, the Bluetooth with Integrated SDIO Driver Catalog item is included in the OS design. This item includes the SDIO support library that is statically linked to btd.dll and reduces RAM and ROM footprints. Use this variable only when your BSP includes a built-in SDIO Bluetooth module. This item excludes all other transport drivers and Bluetooth Universal Transport Manager (BthUniv). |
SYSGEN_BTH_USB_ONLY |
When this variable is set, the Bluetooth with Integrated USB Driver Catalog item is included in the OS design. This item includes the USB support library that is statically linked to btd.dll and reduces RAM and ROM footprints. Use this variable only when your BSP includes a built-in USB Bluetooth module. This item excludes all other transport drivers and Bluetooth Universal Transport Manager (BthUniv). |
SYSGEN_BTH_UART_ONLY |
When this variable is set, the Bluetooth with Integrated UART Driver Catalog item is included in the OS design. This item includes the UART support library that is statically linked to btd.dll and reduces RAM and ROM footprints. Use this variable only when your BSP includes a built-in UART Bluetooth module. This item excludes all other transport drivers and Bluetooth Universal Transport Manager (BthUniv). |
See Also
Other Resources
Bluetooth OS Design Development
Bluetooth Application Development