/* * NimBLEEddystoneURL.h * * Created: on March 15 2020 * Author H2zero * * Originally: * * BLEEddystoneURL.h * * Created on: Mar 12, 2018 * Author: pcbreflux */ #ifndef _NIMBLEEddystoneURL_H_ #define _NIMBLEEddystoneURL_H_ #include "NimBLEUUID.h" #include #define EDDYSTONE_URL_FRAME_TYPE 0x10 /** * @brief Representation of a beacon. * See: * * https://github.com/google/eddystone */ class NimBLEEddystoneURL { public: NimBLEEddystoneURL(); std::string getData(); NimBLEUUID getUUID(); int8_t getPower(); std::string getURL(); std::string getDecodedURL(); void setData(const std::string &data); void setUUID(const NimBLEUUID &l_uuid); void setPower(int8_t advertisedTxPower); void setURL(const std::string &url); private: uint16_t beaconUUID; uint8_t lengthURL; struct { uint8_t frameType; int8_t advertisedTxPower; uint8_t url[16]; } __attribute__((packed)) m_eddystoneData; }; // NIMBLEEddystoneURL #endif /* _NIMBLEEddystoneURL_H_ */