2020-03-30 01:44:20 +02:00
|
|
|
/*
|
|
|
|
* NimBLEBeacon2.h
|
|
|
|
*
|
|
|
|
* Created: on March 15 2020
|
|
|
|
* Author H2zero
|
2020-05-14 06:03:56 +02:00
|
|
|
*
|
2020-03-30 01:44:20 +02:00
|
|
|
* Originally:
|
|
|
|
*
|
|
|
|
* BLEBeacon2.h
|
|
|
|
*
|
|
|
|
* Created on: Jan 4, 2018
|
|
|
|
* Author: kolban
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef MAIN_NIMBLEBEACON_H_
|
|
|
|
#define MAIN_NIMBLEBEACON_H_
|
2020-05-14 06:03:56 +02:00
|
|
|
|
2020-03-30 01:44:20 +02:00
|
|
|
#include "NimBLEUUID.h"
|
|
|
|
/**
|
|
|
|
* @brief Representation of a beacon.
|
|
|
|
* See:
|
|
|
|
* * https://en.wikipedia.org/wiki/IBeacon
|
|
|
|
*/
|
|
|
|
class NimBLEBeacon {
|
|
|
|
private:
|
2020-05-14 06:03:56 +02:00
|
|
|
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;
|
2020-03-30 01:44:20 +02:00
|
|
|
public:
|
2020-05-14 06:03:56 +02:00
|
|
|
NimBLEBeacon();
|
|
|
|
std::string getData();
|
|
|
|
uint16_t getMajor();
|
|
|
|
uint16_t getMinor();
|
|
|
|
uint16_t getManufacturerId();
|
|
|
|
NimBLEUUID getProximityUUID();
|
|
|
|
int8_t getSignalPower();
|
|
|
|
void setData(const std::string &data);
|
|
|
|
void setMajor(uint16_t major);
|
|
|
|
void setMinor(uint16_t minor);
|
|
|
|
void setManufacturerId(uint16_t manufacturerId);
|
|
|
|
void setProximityUUID(const NimBLEUUID &uuid);
|
|
|
|
void setSignalPower(int8_t signalPower);
|
2020-03-30 01:44:20 +02:00
|
|
|
}; // NimBLEBeacon
|
|
|
|
|
|
|
|
#endif /* MAIN_NIMBLEBEACON_H_ */
|