Bluetooth Overview

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

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