Roy Want / Mbed OS beaconCompileReadyFork
Embed: (wiki syntax)

« Back to documentation index

UIDFrame Class Reference

Class that encapsulates data that belongs to the Eddystone-UID frame. More...

#include <UIDFrame.h>

Public Member Functions

 UIDFrame (void)
 Construct a new instance of this class.
void clearFrame (uint8_t *frame)
 Clear frame (intervally indicated by length = 0 )
void setData (uint8_t *rawFrame, int8_t advTxPower, const uint8_t *uidData)
 Construct the raw bytes of the Eddystone-UID frame that will be directly used in the advertising packets.
uint8_t * getData (uint8_t *rawFrame)
 Get the UID frame data from the Eddystone-UID frame.
uint8_t getDataLength (uint8_t *rawFrame)
 Get the length of the UID frame data from the Eddystone-UID frame.
uint8_t * getAdvFrame (uint8_t *rawFrame)
 Get the UID Adv data from the Eddystone-UID frame.
uint8_t getAdvFrameLength (uint8_t *rawFrame)
 Get the length of the UID Adv data from the Eddystone-UID frame.
uint8_t * getUid (uint8_t *rawFrame)
 Get just the UID data from the Eddystone-UID frame.
uint8_t getUidLength (uint8_t *rawFrame)
 Get the length of just the UID data from the Eddystone-UID frame.
void setAdvTxPower (uint8_t *rawFrame, int8_t advTxPower)
 Set the Adv TX Power in the frame.

Static Public Attributes

static const uint8_t FRAME_TYPE_UID = 0x00
 The byte ID of an Eddystone-UID frame.

Detailed Description

Class that encapsulates data that belongs to the Eddystone-UID frame.

For more information refer to https://github.com/google/eddystone/tree/master/eddystone-uid.

Definition at line 27 of file UIDFrame.h.


Constructor & Destructor Documentation

UIDFrame ( void   )

Construct a new instance of this class.

Definition at line 19 of file UIDFrame.cpp.


Member Function Documentation

void clearFrame ( uint8_t *  frame )

Clear frame (intervally indicated by length = 0 )

Definition at line 22 of file UIDFrame.cpp.

uint8_t * getAdvFrame ( uint8_t *  rawFrame )

Get the UID Adv data from the Eddystone-UID frame.

This is the full service data included in the BLE service data params

Parameters:
[in]rawFramePointer to the location where the raw frame will be stored.
Returns:
A pointer to the bytes of the Eddystone-UID Adv frame data.

Definition at line 46 of file UIDFrame.cpp.

uint8_t getAdvFrameLength ( uint8_t *  rawFrame )

Get the length of the UID Adv data from the Eddystone-UID frame.

Parameters:
[in]rawFramePointer to the location where the raw frame will be stored.
Returns:
The size in bytes of the Eddystone-UID Adv frame data.

Definition at line 51 of file UIDFrame.cpp.

uint8_t * getData ( uint8_t *  rawFrame )

Get the UID frame data from the Eddystone-UID frame.

Parameters:
[in]rawFramePointer to the location where the raw frame will be stored.
Returns:
A pointer to the bytes of the Eddystone-UID frame data.

Definition at line 37 of file UIDFrame.cpp.

uint8_t getDataLength ( uint8_t *  rawFrame )

Get the length of the UID frame data from the Eddystone-UID frame.

Parameters:
[in]rawFramePointer to the location where the raw frame will be stored.
Returns:
The size in bytes of the Eddystone-UID frame.

Definition at line 41 of file UIDFrame.cpp.

uint8_t * getUid ( uint8_t *  rawFrame )

Get just the UID data from the Eddystone-UID frame.

Parameters:
[in]rawFramePointer to the location where the raw frame will be stored.
Returns:
A pointer to the bytes of the UID in the Eddystone-UID frame.

Definition at line 56 of file UIDFrame.cpp.

uint8_t getUidLength ( uint8_t *  rawFrame )

Get the length of just the UID data from the Eddystone-UID frame.

Parameters:
[in]rawFramePointer to the location where the raw frame will be stored.
Returns:
The size in bytes of the UID in the Eddystone-UID frame.

Definition at line 61 of file UIDFrame.cpp.

void setAdvTxPower ( uint8_t *  rawFrame,
int8_t  advTxPower 
)

Set the Adv TX Power in the frame.

This is necessary because the adv Tx Power might be updated independent of the data bytes

Parameters:
[in]rawFramePointer to the location where the raw frame will be stored.
[in]advPowerLevelPower level value included in the raw frame.

Definition at line 66 of file UIDFrame.cpp.

void setData ( uint8_t *  rawFrame,
int8_t  advTxPower,
const uint8_t *  uidData 
)

Construct the raw bytes of the Eddystone-UID frame that will be directly used in the advertising packets.

Parameters:
[in]rawFramePointer to the location where the raw frame will be stored.
[in]advPowerLevelPower level value included in the raw frame.
[in]uidDataThe actual 16-byte UID data in the raw frame.

Definition at line 26 of file UIDFrame.cpp.


Field Documentation

const uint8_t FRAME_TYPE_UID = 0x00 [static]

The byte ID of an Eddystone-UID frame.

Definition at line 131 of file UIDFrame.h.