Bluetooth Architecture

The QNX CAR Platform uses the Cybercom blueGO application software framework, which is a wrapper around Sybase iAnywhere's Bluetooth protocol stack and profiles.

Overview

The QNX CAR platform provides PPS objects for issuing Bluetooth commands and for interacting with profiles. QDB databases store messages and phonebook information read from a connected paired device. Both the QDB and PPS services interact with the io-bluetooth service, which talks to the Bluetooth hardware through the devc-seromap_hci driver.
Note: For this release, we have tested Bluetooth on the Texas Instruments J5 ECO EVM811x EVM and OMAP5432 EVM boards. This is not to say that Bluetooth won't work on other hardware, but you'll need a BTS file created specifically to support your hardware's Bluetooth chip.

The following diagram shows the interaction between the main Bluetooth components:



Figure 1. The Bluetooth architecture for the QNX CAR platform

Resource manager (io-bluetooth)

The front-end resource manager for Bluetooth is io-bluetooth, which offers a POSIX-compliant API and provides low-level access to the Bluetooth radio chip (typically via a serial interface such as UART, USB, or I2S). The io-bluetooth manager also supports the Bluetooth profiles and provides profile concurrency and control.

PPS interface (pps-bluetooth)

The PPS abstraction layer for Bluetooth provides a filesystem-based interface for activities such as pairing devices, managing profiles, getting status updates, and so on. You'll find the following Bluetooth-related PPS objects on your system:

Core Bluetooth objects
HFP-related objects
MAP-related objects
PBAP-related objects

For details on using these PPS objects, see the PPS Objects Reference.

Serial driver (devc-seromap_hci)

The serial driver interfaces with the Bluetooth radio chip on the hardware. For details on starting this driver and other key processes, see "Starting Bluetooth on the Target" in this guide.