SIG Profiles Support#

The SiWx917 Bluetooth Low Energy (BLE) stack supports Bluetooth Special Interest Group (SIG) profiles and services that use the Generic Attribute Profile (GATT). Applications can implement standard profiles or create custom profiles using GATT services and characteristics.

Supported Profiles#

Standard SIG Profiles:

  • All GATT-based profiles defined by Bluetooth SIG are supported

  • Common profiles: Battery Service, Heart Rate Service, Device Information Service, etc.

  • Applications implement profiles according to Bluetooth SIG specifications (the stack does not supply pre-built profile implementations)

  • The stack does not provide a direct API to import or load pre-built profiles; the application must implement profile logic (services, characteristics, and behavior) using GATT APIs

  • How to implement: As a GATT server (for example, exposing Battery Service), add services and characteristics with rsi_ble_add_service() and related APIs per the profile spec — see GATT Server Implementation. As a GATT client (for example, consuming a peer's profile), use discovery and read/write APIs — see GATT Client Operations

Custom Profiles:

  • Applications can define custom services and characteristics

  • Use 128-bit UUIDs for custom services

  • Follow GATT service/characteristic structure

Profile Implementation#

Using Standard Profiles:

  • Reference Bluetooth SIG profile specifications

  • Implement required services and characteristics

  • Follow profile behavior specifications

Creating Custom Profiles:

  • Define custom service UUIDs

  • Create characteristics with appropriate properties

  • Document profile behavior for interoperability


APIs Used in This Section#

Topic

APIs / symbols

Reference

GATT profile — server

rsi_ble_add_service() and related GATT server APIs

Server

GATT profile — client

Discovery, read/write, and subscription APIs per GATT client APIs

Asynchronous Client, Synchronous Client