Eddystone Configuration Service

nRF5 SDK v15.3.0

Eddystone Configuration Service module. More...

Data Structures

struct nrf_ble_escs_broadcast_cap_t
Data fields in the Broadcast Capabilities characteristic. More...
struct nrf_ble_escs_lock_state_write_t
Write data fields of the Lock State characteristic. More...
union nrf_ble_escs_lock_state_t
Lock State characteristic. More...
union nrf_ble_escs_unlock_t
Unlock characteristic (read/write). More...
struct nrf_ble_escs_public_ecdh_key_t
Public ECDH Key characteristic. More...
struct nrf_ble_escs_eid_id_key_t
EID Identity Key characteristic. More...
union nrf_ble_escs_remain_conntbl_t
Unlock characteristic (read/write). More...
struct nrf_ble_escs_init_params_t
Eddystone Configuration Service initialization parameters (corresponding to required characteristics). More...
struct nrf_ble_escs_init_t
Eddystone Configuration Service initialization structure. More...
struct nrf_ble_escs_s

Macros

#define BLE_ESCS_NUMBER_OF_CHARACTERISTICS 13
Number of characteristics contained in the Eddystone Configuration Service.
#define BLE_UUID_ESCS_SERVICE 0x7500
UUID of the Eddystone Configuration Service.
#define BLE_UUID_ESCS_BROADCAST_CAP_CHAR 0x7501
#define BLE_UUID_ESCS_ACTIVE_SLOT_CHAR 0x7502
#define BLE_UUID_ESCS_ADV_INTERVAL_CHAR 0x7503
#define BLE_UUID_ESCS_RADIO_TX_PWR_CHAR 0x7504
#define BLE_UUID_ESCS_ADV_TX_PWR_CHAR 0x7505
#define BLE_UUID_ESCS_LOCK_STATE_CHAR 0x7506
#define BLE_UUID_ESCS_UNLOCK_CHAR 0x7507
#define BLE_UUID_ESCS_PUBLIC_ECDH_KEY_CHAR 0x7508
#define BLE_UUID_ESCS_EID_ID_KEY_CHAR 0x7509
#define BLE_UUID_ESCS_RW_ADV_SLOT_CHAR 0x750A
#define BLE_UUID_ESCS_FACTORY_RESET_CHAR 0x750B
#define BLE_UUID_ESCS_REMAIN_CONNECTABLE_CHAR 0x750C
#define ESCS_BASE_UUID
#define NRF_BLE_ESCS_BROADCAST_CAP_LEN (ESCS_NUM_OF_SUPPORTED_TX_POWER + 6)

Typedefs

typedef uint8_t nrf_ble_escs_active_slot_t
typedef uint16_t nrf_ble_escs_adv_interval_t
typedef int8_t nrf_ble_escs_radio_tx_pwr_t
typedef int8_t nrf_ble_escs_adv_tx_pwr_t
typedef uint8_t nrf_ble_escs_factory_reset_t
typedef struct nrf_ble_escs_s nrf_ble_escs_t
typedef void(* nrf_ble_escs_write_evt_handler_t )( nrf_ble_escs_t *p_escs, uint16_t uuid, uint16_t value_handle, uint8_t const *p_data, uint16_t length)
typedef void(* nrf_ble_escs_read_evt_handler_t )( nrf_ble_escs_t *p_escs, uint16_t uuid, uint16_t value_handle)

Enumerations

enum nrf_ble_escs_lock_state_read_t {
NRF_BLE_ESCS_LOCK_STATE_LOCKED = (0x00),
NRF_BLE_ESCS_LOCK_STATE_UNLOCKED = (0x01),
NRF_BLE_ESCS_LOCK_STATE_UNLOCKED_AUTO_RELOCK_DISABLED
}
Read states of the Lock State characteristic.
enum nrf_ble_escs_lock_byte_t {
NRF_BLE_ESCS_LOCK_BYTE_LOCK = (0x00),
NRF_BLE_ESCS_LOCK_BYTE_DISABLE_AUTO_RELOCK = (0x02)
}
Write bytes of the Lock State characteristic.

Functions

ret_code_t nrf_ble_escs_init ( nrf_ble_escs_t *p_escs, const nrf_ble_escs_init_t *p_ecs_init)
Function for initializing the Eddystone Configuration Service. More...
ret_code_t nrf_ble_escs_on_ble_evt ( nrf_ble_escs_t *p_escs, ble_evt_t const *p_ble_evt)
Function for handling the Eddystone Configuration Service's BLE events. More...

Detailed Description

Eddystone Configuration Service module.

Macro Definition Documentation

#define ESCS_BASE_UUID
Value:
{{0x95, 0xE2, 0xED, 0xEB, 0x1B, 0xA0, 0x39, 0x8A, 0xDF, 0x4B, 0xD3, 0x8E, 0x00, 0x00, 0xC8, \
0xA3}}

Function Documentation

ret_code_t nrf_ble_escs_init ( nrf_ble_escs_t * p_escs ,
const nrf_ble_escs_init_t * p_ecs_init
)

Function for initializing the Eddystone Configuration Service.

Parameters
[out] p_escs Eddystone Configuration Service structure. This structure must be supplied by the application. It is initialized by this function and will later be used to identify this particular service instance.
[in] p_ecs_init Information needed to initialize the service.
Return values
NRF_SUCCESS If the service was successfully initialized. Otherwise, an error code is returned.
NRF_ERROR_NULL If either of the pointers p_escs or p_ecs_init is NULL.
ret_code_t nrf_ble_escs_on_ble_evt ( nrf_ble_escs_t * p_escs ,
ble_evt_t const * p_ble_evt
)

Function for handling the Eddystone Configuration Service's BLE events.

The Eddystone Configuration Service expects the application to call this function each time an event is received from the SoftDevice. This function processes the event if it is relevant and calls the Eddystone Configuration Service event handler of the application if necessary.

Parameters
[in] p_escs Eddystone Configuration Service structure.
[in] p_ble_evt Event received from the SoftDevice.
Return values
NRF_ERROR_NULL If any of the arguments given are NULL.
NRF_SUCCESS otherwise.