esp-nimble-cpp/src/NimBLEBeacon.h

52 lines
1.2 KiB
C
Raw Normal View History

2020-03-30 01:44:20 +02:00
/*
* NimBLEBeacon2.h
*
* Created: on March 15 2020
* Author H2zero
*
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-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:
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:
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_ */