Microchip® Advanced Software Framework

att_db_util.c File Reference
#include <stdlib.h>
#include <string.h>
#include "att_db_util.h"
#include "ble/att_db.h"
#include "ble/core.h"
#include "btstack_util.h"
#include "btstack_debug.h"
#include "bluetooth.h"

Macros

#define __BTSTACK_FILE__   "att_db_util.c"
 

Functions

static void att_db_util_add_attribute_uuid128 (uint8_t *uuid128, uint16_t flags, uint8_t *data, uint16_t data_len)
 
static void att_db_util_add_attribute_uuid16 (uint16_t uuid16, uint16_t flags, uint8_t *data, uint16_t data_len)
 
uint16_t att_db_util_add_characteristic_uuid128 (uint8_t *uuid128, uint16_t properties, uint8_t *data, uint16_t data_len)
 Add Characteristic with 128-bit UUID, properties, and data. More...
 
uint16_t att_db_util_add_characteristic_uuid16 (uint16_t uuid16, uint16_t properties, uint8_t *data, uint16_t data_len)
 Add Characteristic with 16-bit UUID, properties, and data. More...
 
static void att_db_util_add_client_characteristic_configuration (uint16_t properties)
 
void att_db_util_add_service_uuid128 (uint8_t *uuid128)
 Add primary service for 128-bit UUID. More...
 
void att_db_util_add_service_uuid16 (uint16_t uuid16)
 Add primary service for 16-bit UUID. More...
 
static int att_db_util_assert_space (uint16_t size)
 asserts that the requested amount of bytes can be stored in the att_db More...
 
uint8_t * att_db_util_get_address (void)
 Get address of constructed ATT DB. More...
 
uint16_t att_db_util_get_size (void)
 Get size of constructed ATT DB. More...
 
void att_db_util_init (void)
 Helper to construct ATT DB at runtime (BTstack GATT Compiler is not used) More...
 
static void att_db_util_set_end_tag (void)
 

Variables

static uint8_t * att_db
 
static uint16_t att_db_max_size
 
static uint16_t att_db_next_handle
 
static uint16_t att_db_size
 

#define __BTSTACK_FILE__   "att_db_util.c"

static void att_db_util_add_attribute_uuid128 ( uint8_t *  uuid128,
uint16_t  flags,
uint8_t *  data,
uint16_t  data_len 
)
static
uint16_t att_db_util_add_characteristic_uuid128 ( uint8_t *  udid128,
uint16_t  properties,
uint8_t *  data,
uint16_t  data_len 
)
uint16_t att_db_util_add_characteristic_uuid16 ( uint16_t  udid16,
uint16_t  properties,
uint8_t *  data,
uint16_t  data_len 
)
void att_db_util_add_service_uuid128 ( uint8_t *  uuid128)

Add primary service for 128-bit UUID.

References att_db_util_add_attribute_uuid16(), ATT_PROPERTY_READ, buffer, GATT_PRIMARY_SERVICE_UUID, and reverse_128().

void att_db_util_add_service_uuid16 ( uint16_t  uuid16)
static int att_db_util_assert_space ( uint16_t  size)
static

asserts that the requested amount of bytes can be stored in the att_db

Returns
TRUE if space is available

References att_db, att_db_max_size, att_db_size, and log_error.

Referenced by att_db_util_add_attribute_uuid128(), and att_db_util_add_attribute_uuid16().

uint8_t* att_db_util_get_address ( void  )

Get address of constructed ATT DB.

References att_db.

uint16_t att_db_util_get_size ( void  )

Get size of constructed ATT DB.

References att_db_size.

void att_db_util_init ( void  )

Helper to construct ATT DB at runtime (BTstack GATT Compiler is not used)

Init ATT DB storage

References att_db, att_db_max_size, att_db_next_handle, att_db_size, and att_db_util_set_end_tag().

static void att_db_util_set_end_tag ( void  )
static

uint16_t att_db_max_size
static