nRF5 SDK v13.0.0
Data Structures | Macros | Enumerations
Frame types and data formats

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)   ((x << 24 | ((x << 8) & 0x00FF0000)) | (((x >> 8) & 0x0000FF00) | x >> 24))
 Reverse 4 bytes.
 
#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 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).


Documentation feedback | Developer Zone | Subscribe | Updated