# Bluetooth Low Energy Abstraction

The Bluetooth Low Energy abstraction is a wrapper for the Bluetooth APIs provided by CEVA for the RSL15 device. This provides a simplified API to access the Bluetooth components, which can be included through the ble_abstraction.h header. Component wrappers include:

Generic Access Profile (GAP)

This profile defines the generic procedures related to discovery of Bluetooth devices (idle mode procedures), link management aspects of connecting to Bluetooth devices (connection mode procedures), and management of security procedures.

As defined in ble_gap.h / ble_gap.c, this portion of the Bluetooth abstraction API extends the GAP support described in RW-BLE-GAP-IS.pdf.

Generic Attribute Profile (GATT)

This profile provides a service framework using the Bluetooth attribute protocol for discovering services, and for reading and writing characteristic values on a peer device.

As defined in ble_gatt.h / ble_gatt.c, this portion of the Bluetooth abstraction API extends the GATT support described in RW-BLE-GATT-IS.pdf.

Protocol Support

As defined in ble_protocol_support.h / ble_protocol_support.c, this portion of the Bluetooth abstraction API provides access to support components that are used with the Bluetooth stack. This includes:

• The Bluetooth address

• The RF front-end transmit power configuration and received signal strength indication (RSSI)

• Bluetooth parameters

• Random number generation

Bondlist

Support for managing bonding information used by the Bluetooth GAP interface. This includes storage and access to the device addresses and privacy-related identity resolving keys (IRKs) for any devices bonded to this RSL15 device.

This support is defined in bondlist.h / bondlist.c, and is used with the Bluetooth GAP support.

Message Handler

This block extends the event kernel message handling, described in Messages. The Bluetooth abstraction API for this support is defined in msg_handler.h / msg_handler.c.

The Bluetooth Low Energy abstraction is configured by adding the ble_abstraction to an application using the RTE_Device.h file, as described in Section 1.1 “Configuring The Driver Run-time Environment” on page 1.