Frame types and data formats

nRF5 SDK v12.2.0

Definitions specific to Eddystone frame types and data formats. More...

Data Structures

struct es_uid_frame_t
UID frame data representation. More...
struct es_url_frame_t
URL frame data representation. More...
struct es_tlm_frame_t
TLM frame data representation. More...
struct es_eid_frame_t
EID frame data representation. More...
struct es_etlm_frame_t
eTLM frame data representation. More...

Macros

#define BYTES_SWAP_16BIT (x)   (x << 8 | x >> 8)
Swap 2 bytes.
#define BYTES_REVERSE_32BIT (x)
Reverse 4 bytes. More...
#define RETURN_IF_ERROR (PARAM)
Check if the error code is equal to NRF_SUCCESS. If it is not, return the error code. More...
#define ES_UUID 0xFEAA
UUID for Eddystone beacons according to specification.
#define ES_UID_FRAME_TYPE 0x00
UID frame type (fixed at 0x00).
#define ES_UID_RFU 0x00, 0x00
Reserved for future use according to specification.
#define ES_URL_FRAME_TYPE 0x10
URL frame type (fixed at 0x10).
#define ES_URL_SCHEME 0x00
URL prefix scheme according to specification (0x00 = "http://www").
#define ES_TLM_FRAME_TYPE 0x20
TLM frame type (fixed at 0x20).
#define ES_EID_FRAME_TYPE 0x30
EID frame type (fixed at 0x30).
#define ES_FRAME_TYPE_LENGTH (1)
Length of a frame type field.
#define ES_UID_LENGTH (20)
Length of a UID frame.
#define ES_UID_NAMESPACE_LENGTH (10)
Length of a UID frame namespace field.
#define ES_UID_INSTANCE_LENGTH (6)
Length of a UID frame instance field.
#define ES_UID_RFU_LENGTH (2)
Length of a UID frame RFU field.
#define ES_URL_LENGTH (20)
Length of a URL frame.
#define ES_URL_URL_SCHEME_LENGTH (1)
Length of a URL frame URL scheme field.
#define ES_URL_ENCODED_URL_LENGTH (17)
Maximum length of a URL frame encoded URL field.
#define ES_TLM_LENGTH (14)
Length of a TLM frame.
#define ES_TLM_VBATT_LENGTH (2)
Length of a TLM frame VBATT field.
#define ES_TLM_TEMP_LENGTH (2)
Length of a TLM frame TEMP field.
#define ES_TLM_ADV_CNT_LENGTH (4)
Length of a TLM frame ADV count field.
#define ES_TLM_SEC_CNT_LENGTH (4)
Length of a TLM frame seconds field.
#define ES_EID_LENGTH (10)
Length of an EID frame.
#define ES_EID_ID_LENGTH (8)
Length of an EID frame ephemeral ID field.
#define ES_EID_GATTS_READ_LENGTH (14)
#define ES_EID_GATTS_READ_FRAME_TYPE_IDX (0)
#define ES_EID_GATTS_READ_EXPONENT_IDX (1)
#define ES_EID_GATTS_READ_CLCK_VALUE_IDX (2)
#define ES_EID_GATTS_READ_EID_IDX (6)
#define ES_ETLM_LENGTH (18)
Length of an eTLM frame.
#define ES_ETLM_ECRYPTED_LENGTH
Length of an eTLM frame encrypted TLM field. More...
#define ES_ETLM_RFU (0x00)
eTLM frame RFU field value.
#define ES_SPEC_VERSION_BYTE (0x00)
eTLM frame specification version field value.

Enumerations

enum es_frame_type_t {
ES_FRAME_TYPE_UID = 0x00,
ES_FRAME_TYPE_URL = 0x10,
ES_FRAME_TYPE_TLM = 0x20,
ES_FRAME_TYPE_EID = 0x30
}
Eddystone frame type values. These values are advertised as frame types. More...
enum es_tlm_version_t {
ES_TLM_VERSION_TLM = 0x00,
ES_TLM_VERSION_ETLM = 0x01
}
TLM version values. More...

Detailed Description

Definitions specific to Eddystone frame types and data formats.

Macro Definition Documentation

#define BYTES_REVERSE_32BIT ( x )
Value:
( (x << 24 | \
((x << 8) & 0x00FF0000) ) | ( ((x >> 8) & 0x0000FF00) | x >> 24) )

Reverse 4 bytes.

#define ES_ETLM_ECRYPTED_LENGTH
Value:
ES_TLM_TEMP_LENGTH + \
ES_TLM_ADV_CNT_LENGTH + \
ES_TLM_SEC_CNT_LENGTH)

Length of an eTLM frame encrypted TLM field.

#define RETURN_IF_ERROR ( PARAM )
Value:
if ((PARAM) != NRF_SUCCESS) \
{ \
return (PARAM); \
}

Check if the error code is equal to NRF_SUCCESS. If it is not, return the error code.

Enumeration Type Documentation

Eddystone frame type values. These values are advertised as frame types.

Enumerator
ES_FRAME_TYPE_UID

UID frame type.

ES_FRAME_TYPE_URL

URL frame type.

ES_FRAME_TYPE_TLM

TLM frame type.

ES_FRAME_TYPE_EID

EID frame type.

TLM version values.

Enumerator
ES_TLM_VERSION_TLM

TLM.

ES_TLM_VERSION_ETLM

Encrypted TLM (eTLM).