Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
Reference Integration Note
For
iAnywhere Blue SDK 3.x and Profile SDKs
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
Abstract: This document provides a conceptual description of the Blue SDK version 3.x and the
corresponding profile SDK s and summarizes the integration requirements as a guide for others
integrating this design.
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
Disclaimer and Copyright Notice
COPYRIGHT NOTICE
Copyright iAnywhere., 2000-2011. All rights reserved. No part of the contents of this
document may be reproduced or transmitted in any form or by any means without the written
permission of iAnywhere.
DISCLAIMER
The information in this document is subject to change without notice and does not represent a
commitment on any part of iAnywhere. While the information contained herein is assumed to be
accurate, iAnywhere assumes no responsibility for any errors or omissions.
In no event shall iAnywhere, its employees, its contractors, or the authors of this document be
liable for special, direct, indirect, or consequential damage, losses, costs, charges, claims,
demands, claim for lost profits, fees, or expenses of any nature or kind.
TRADEMARKS
iAnywhere is a registered trademark to Sybase, Inc.
The Bluetooth word mark and logos are owned by the Bluetooth SIG, Inc. and any use of such
marks by iAnywhere is under license. Other trademarks and trade names are those of their
respective owners.
All other product names are trademarks or registered trademarks of their respective owners.
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
Contents
PREFACE 6
1
PRODUCT OVERVIEW 6
2
2.1 SOFTWARE FEATURES 6
2.1.1 Product Type Declaration 7
2.1.2 Software Overview 7
2.1.3 Application 7
2.1.4 Block Diagram 7
2.1.5 Software Features 9
2.1.6 Software Architecture 9
2.1.7 Interfaces 9
2.1.8 Application Requirements 12
2.1.9 Sample Portings 12
2.1.10 Hardware / Software Reference Platforms 13
Contact Information 14
3
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
Document Revision History
Revision Date Description
2010.08 2011 September 20 Original version of document
Contributors
Name Company
Scott Hansen iAnywhere
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
1 PREFACE
This document forms the Reference Integration Note for the iAnywhere Blue SDK 4.x and Profile
SDKs. This guide provides user information about the iAnywhere Blue SDK 4.x and Profile
SDKs. Anyone interested in understanding, using, or modifying this software design should read
this guide.
This document forms the Reference Integration Note for;
Design RIN Information
Product Name: iAnywhere Blue SDK 3.x and Profile SDKs
Bluetooth Qualified B017448
Design ID (QD ID):
Bluetooth Product Type: Bluetooth Component Product
Product Name: iAnywhere Blue SDK
Software Version: Blue SDK 3.x
This guide is targeted to help a Bluetooth Member or their BQE understand the role of the
iAnywhere Blue SDK 3.x and Profile SDKs in a complete Bluetooth wireless product being
integrated for qualification. The Bluetooth Program Reference Document requires that all
Bluetooth Components have a Reference Integration Note (RIN) as a pre-requisite for
qualification. This RIN has been uploaded to the Bluetooth SIG Qualific ation Listing Interfaces for
this Qualified Design ID prior to qualification of this design and is available for Member use when
creating new Bluetooth products by integration of this product into their product implementation.
Please refer to the Bluetooth SIG members site for information about qualifying an end product.
Please note that this RIN document makes reference to the Bluetooth 4.0 specification, but the
Blue SDK is also compliant with Bluetooth 2.1, Bluetooth 2.1 + Core Spec Addendum 1 (CSA1),
Bluetooth 3.0 and can be configured to be compliant with Bluetooth 2.0.
PRODUCT OVERVIEW
2
The iAnywhere Blue SDK 3.x and Profile SDKs are software development kits that are used to
add Bluetooth capabilities to various embedded and non-embedded products. The SDKs can be
ported to specific hardware and operating systems, and applications can be added using the Blue
SDK and Profile SDK APIs.
2.1 SOFTWARE FEATURES
The iAnywhere Blue SDK 3.x and Profile SDKs provide core functionality supporting the
Bluetooth 4.0 specification, and certain lower level profiles and protoc ols, including L2CAP, SDP,
SDAP, GAP, SPP, and RFCOMM. This QD ID covers the following profiles and protocols:
A2DP, AVCTP, AVDTP, GAVDP, MCAP, and BNEP.
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
2.1.1 Product Type Declaration
The iAnywhere Blue SDK 3.x and Profile SDKs is listed as a Bluetooth Component Product type.
If you use this product to implement Bluetooth in your product s design, further qualification and
listing is required in accordance with the Bluetooth Qualification Process (ref. PRD 2. 0). To start
the process for a new qualification, please visit https://bluetooth.org/TPG.
2.1.2 Software Overview
The iAnywhere Blue SDK 3.x and Profile SDKs provide source code that can be ported to various
architectures and operating systems that provide Bluetooth core and Bluetooth profile
functionality. Once the software has been adapted to the operating system and hardware,
applications are then written or modified to use the provided interfaces. In some cases the
iAnywhere Blue SDK 3.x and Profile SDKs can be used in place of default Bluetooth stacks
provided by hardware vendors to give the applications greater simplicity, more control, and more
power over their application s interactions with the Bluetooth link.
2.1.3 Application
The iAnywhere Blue SDK 3.x and Profile SDKs can be used in any device that uses Bluetooth,
such as Bluetooth enabled automotive head units, cellular phones, printers, digital cameras, and
so forth.
2.1.4 Block Diagram
The iAnywhere Blue SDK 3.x and Profile SDKs is a set of software building blocks that can be
stacked together to create a custom Bluetooth application. Each component is provided as
portable source code, designed to compile successfully in almost any C -based target
environment. Because there are differences between compilers and CPU architectures, we are
careful to use a specific subset of ANSI C functionality so that our code behaves identically in the
vast majority of target architectures.
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
The diagram below illustrates the basic component layout. Areas bounded by the green boxes
indicate components provided by the iAnywhere Blue SDK 4.x and Profile SDKs. Blue
components are provided by a Blue SDK licensee building our SDK into a new environment. In
addition to the Profile SDKs shown in this diagram, iAnywhere has many other Profile SDKs
designed to work with the iAnywhere Blue SDK 4.x Stack.
Applications
Profile
Core Stack
API
Applications
API
iAnywhere Profile SDKs
AV SDK PAN SDK
Additional A2DP /
Profile SBC GAVDP PAN Profile
SDK s and CODEC
Profile
Implementa
tions AVCTP AVDTP BNEP Protocol
Core Stack
Profile API
iAnywhere Blue SDK 4.x Stack
Other protocols
RFCOMM SDP
(TCS, BNEP)
L2CAP L2CAP Agent
Management Entity
Event Manager
Device
Connection
Piconet SCO Security Selection
Manager
Manager Manager Manager Manager
BR/EDR HCI API Layer
Device BR/EDR
OS API
Database HCI
API
BR/EDR
Operating System
Hardware
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
2.1.5 Software Features
The iAnywhere Blue SDK 4.x and Profile SDK s includes the following components:
Communications protocol layers specified by the Bluetooth 4. 0 specification, including HCI
(with support for HCI 5-Wire UART, HCI 3-Wire UART, BCSP, and USB transports), L2CAP,
SDP, RFCOMM, and OBEX.
Support for the Core Specification Addendum (CSA) 1, in particular, support for L2CAP
Enhanced Retransmission Mode.
The Management Entity (ME) component that helps to manage device connections, piconets,
audio connections, and security for BR/EDR controllers.
The Audio/Video Distribution Transport Protocol (AVDTP) which complies with the AVDTP
specification version 1.2.
A complete AVDTP API that can support profiles that rely on the Generic Audio/Video Profile.
Connection Management, Stream Management, and Signaling components
A media header parser/builder that simplifies the process of encoding and decoding AVDTP -
formatted packet headers.
The Audio/Video Control Transport Protocol (AVCTP) which complies with the AVCTP
specification version 1.3.
A complete AVCTP API.
Connection Management, Channel Management, and Messaging components
The Advanced Audio Distribution Profile (A2DP) which complies with the A2DP specification
version 1.2.
An A2DP profile implementation, supporting stream configuration, content protection, and
stream pause/resume features.
A portable C implementation of an SBC audio codec.
An implementation of all features described in the BNEP specification version 1.0.
An implementation of all mandatory features of the PANU, GN and NAP roles described in
the PAN specification version 1.0.
An implementation of the MCAP specification version 1.0.
2.1.6 Software Architecture
The iAnywhere Blue SDK 3.x and Profile SDKs provide the ability to for implementers to add or
remove functionality as needed. For example, the HCI transport can be changed, profiles can be
added or removed, unwanted optional features can be compiled out, and OS interfaces are
encapsulated so porting to various operating systems is made easier. In addition, the code is
processor agnostic, allowing it to be used on many different hardware architectures.
2.1.7 Interfaces
Interface requirement details and support can be obtained using the contact information found in
section 3, Contact Information.
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
There are three interfaces that interact with the rest of the system:
1. The Hardware Interface
2. The Operating System Interface
3. The Application Interface
2.1.7.1 The Hardware Interface
The Hardware Interface includes the Baseband Bluetooth Radio Hardwar e.
Baseband Bluetooth Radio HW Interface
The iAnywhere Blue SDK 3.x and Profile SDKs relies on the published HCI specification.
Therefore, the Blue SDK creates well-formed HCI commands and data, and expects well-formed
HCI events and data in return.
HCI commands, events, and data are delivered as packets to a transport-specific layer called a
transport driver . The transport driver, in turn, sends and receives streams of data through a
hardware driver which communicates directly with the Bluetooth radio hardware.
Blue SDK Stack
HCI API Layer
HCI Transport Driver
HCI Hardware Driver
Radio Hardware
The iAnywhere Blue SDK 3.x and Profile SDKs requires integration with a host controller
(sometimes referred to generally as a Bluetooth radio ). The host controller must include the
following components:
Radio and antenna as per Bluetooth Core 4.0 Volume 2, Part A.
Baseband radio controller as per Bluetooth Core 4.0 Volume 2, Part B.
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
A Link Manager protocol implementation as per Bluetooth Core 4.0 Volume 2, Part C.
A Host Controller Interface as per Bluetooth Core Specification 4.0 Volume 2, Part E.
If integrated Bluetooth hardware fails to conform to any of the above stack specifications,
particularly HCI, the Blue SDK stack may behave in an undefined or non-compliant manner.
An implementer is free to use several different transports to connect the host controller s HCI
layer to the Blue SDK s HCI layer. For example, this may be done over UART, USB, any other
Bluetooth-specified manner, or in any manner specific to the hardware (including a software -only
HCI on a one-chip solutions). As long as the iAnywhere Blue SDK 4.x and Profile SDKs HCI API
contract is met the system will behave in a compliant manner.
Note: Blue SDK 3.x is compliant with and can operate as a Bluetooth 2.0, Bluetooth 2.1 + EDR,
Bluetooth 3.0 + HS, and Bluetooth 4.0 host stack.
2.1.7.2 The Operating System Interface
The iAnywhere Blue SDK 3.x and Profile SDKs defines a set of OS-specific APIs that must be
provided by the implementer. These APIs provide basic system services such as a timer, a
semaphore to prevent reentrancy, memory copy routines, per sistent storage for security link keys,
and some debugging functions. The iAnywhere Blue SDK 3.x and Profile SDKs uses only those
endpoints to access local operating system functionality.
The operating system must supply the following basic tools. Most embedded OS s provide this
level of basic functionality.
Memory copy/compare/set functions
String compare/length functions
Start/cancel functions for a single timer, and ability to check the current system time
Pre-emptive multitasking is optional, but when available the operating system must also
supply:
Ability to prevent stack reentrance by applications (typically done with a mutex semaphore of
some kind)
Ability to prevent stack reentrance by HCI layers (another mutex semaphore or an interrupt-
suspend mechanism)
Ability to schedule the stack task when necessary
These features can also be easily provided when no actual operating system is present.
2.1.7.3 The Application Interface
W hen building an application that uses the iAnywhere Blue SDK 3.x and Profile SDKs, the
implementer need only include the iAnywhere Blue SDK 3.x and Profile SDKs modules that are
relevant to the target functionality. For example, a network access point implementer could
include BNEP and PAN modules without includin g RFCOMM.
Once the relevant modules are included, the implementer has access to a large set of application
APIs that provide access to stack functionality. The APIs are carefully designed so that if the
user follows basic rules of usage published in the API specification, it is difficult or impossible for
the API user to cause the component to violate the associated protocol specification.
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
Profiles are implemented by connecting protocol or profile APIs to a user interface. The
implementer has considerable discretion about how the application s user interface appears or
works. The implementer may refer to our sample applications to get ideas about how an
application could interact with the iAnywhere Blue SDK 3.x and Profile SDKs.
2.1.8 Application Requirements
As specified by section 2.1.7.3, The Application Interface, applications are responsible for
fulfilling the API contract specified by the iAnywhere Blue SDK 3.x and Profile SDKs. This
includes invoking API functions in the proper order, providing the appropriate arguments to
function calls, and making proper responses to callback events. Applications are also
responsible for presenting an application user interface to the end-user.
2.1.9 Sample Portings
For information about how to adapt or port the iAnywhere Blue SDK 3.x and Profile SDKs to a
relevant environment where it is to be used so that the implementations execute without errors,
refer to the following sections of this document:
Section Number Section Text
2.1.7.1 The Hardware Interface
2.1.7.2 The Operating System Interface
2.1.7.3 The Application Interface
2.1.8 Application Requirements
Additional documentation is provided with each SDK on the specifics of porting and the APIs.
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
2.1.10 Hardware / Software Reference Platforms
The following table lists the environment which was utilized in qualifying this design . (Not all of
the combinations were used on all of the tests.)
Application OS Baseband HW
A2DP Sample
W indows XP Anycom 2.1 USB Dongle
Application
L2CAP Sample
W indows XP Belkin Mini 2.1 USB Dongle
Application
Broadcom 2.1 USB, dongle,
API Grinder AV Worker Anycom 2.1 USB Dongle, CSR
W indows XP
Test Application Nanosira fw ver.
2.1_23_0711021204 USB Dongle
Broadcom 2.1 USB, dongle,
API Grinder BNEP
W indows XP
W orker Test Application Anycom 2.1 USB Dongle
L2CAP Sample
W indows XP Belkin Mini 2.1 USB Dongle
Application
API Grinder Core CSR Nanosira fw ver.
W indows XP
W orker Test Application 2.1_23_0711021204 USB Dongle
Broadcom 2.1 USB dongle, Belkin
API Grinder Core
W indows XP
W orker Test Application Mini 2.1 USB Dongle
Broadcom 2.1 USB dongle, CSR
API Grinder HDP
W indows XP Nanosira fw ver.
W orker Test Application
2.1_23_0711021204 USB Dongle
SBC Dencoder Sample
W indows Vista CSR Nanosira USB Dongle
Application
SBC Encoder Sample
W indows Vista CSR Nanosira USB Dongle
Application
Note that although this table does show some of the environments were the iAnywhere Blue SDK
3.x and Profile SDKs has been successfully ported, it is not a representative list of the numerous
successful portings achieved by our customers, which include cus tom applications, embedded
operating systems, and diverse hardware platforms.
Components in our iAnywhere Blue SDK 3.x and Profile SDKs are qualified running with samples
for each of the external components illustrated in section 2.1.4, Block Diagram. Our design goal
is to make all interfaces to each external component completely clear so that the components in
the iAnywhere Blue SDK 3.x and Profile SDKs behave exactly as documented in a new
RIN Datasheet [Date of last Revision]
Page 1 of 18
Date / Year-Month-Day Approved Revision Document No
RIN Datasheet DOCUMENT
Prepared e-mail address N.B.
Confidential
implementation. This reduces the testing burden for new implementations that include our
iAnywhere Blue SDK 4.x and Profile SDKs.
3 Contact Information
Use the following contact information to obtain additional details relevant to the support of this
design:
iAnywhere Solutions
Mobile Device Solutions Group
*******@*********.***
RIN Datasheet [Date of last Revision]
Copyright © iAnywhere., 2000-2011. All rights reserved. No part of the contents of this