44 lines
1.0 KiB
C
44 lines
1.0 KiB
C
|
/*
|
||
|
* BLEBeacon2.h
|
||
|
*
|
||
|
* Created on: Jan 4, 2018
|
||
|
* Author: kolban
|
||
|
*/
|
||
|
|
||
|
#ifndef COMPONENTS_CPP_UTILS_BLEBEACON_H_
|
||
|
#define COMPONENTS_CPP_UTILS_BLEBEACON_H_
|
||
|
#include "BLEUUID.h"
|
||
|
/**
|
||
|
* @brief Representation of a beacon.
|
||
|
* See:
|
||
|
* * https://en.wikipedia.org/wiki/IBeacon
|
||
|
*/
|
||
|
class BLEBeacon {
|
||
|
private:
|
||
|
struct {
|
||
|
uint16_t manufacturerId;
|
||
|
uint8_t subType;
|
||
|
uint8_t subTypeLength;
|
||
|
uint8_t proximityUUID[16];
|
||
|
uint16_t major;
|
||
|
uint16_t minor;
|
||
|
int8_t signalPower;
|
||
|
} __attribute__((packed)) m_beaconData;
|
||
|
public:
|
||
|
BLEBeacon();
|
||
|
std::string getData();
|
||
|
uint16_t getMajor();
|
||
|
uint16_t getMinor();
|
||
|
uint16_t getManufacturerId();
|
||
|
BLEUUID getProximityUUID();
|
||
|
int8_t getSignalPower();
|
||
|
void setData(std::string data);
|
||
|
void setMajor(uint16_t major);
|
||
|
void setMinor(uint16_t minor);
|
||
|
void setManufacturerId(uint16_t manufacturerId);
|
||
|
void setProximityUUID(BLEUUID uuid);
|
||
|
void setSignalPower(int8_t signalPower);
|
||
|
}; // BLEBeacon
|
||
|
|
||
|
#endif /* COMPONENTS_CPP_UTILS_BLEBEACON_H_ */
|