ELEC-C7222
Libraries for ELEC C7222 Course Work
Loading...
Searching...
No Matches
advertisement_data.hpp File Reference

BLE GAP advertisement data builder. More...

#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iosfwd>
#include <list>
#include <type_traits>
#include <vector>
Include dependency graph for advertisement_data.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  c7222::AdvertisementData
 Generic advertisement data structure builder. More...
 
class  c7222::AdvertisementDataBuilder
 Builder for assembling a complete advertising payload. More...
 

Namespaces

namespace  c7222
 C7222 course abstractions namespace.
 

Enumerations

enum class  c7222::AdvertisementDataType : uint8_t {
  c7222::kFlags = 0x01 , c7222::kIncompleteList16BitUuid = 0x02 , c7222::kCompleteList16BitUuid = 0x03 , c7222::kShortenedLocalName = 0x08 ,
  c7222::kCompleteLocalName = 0x09 , c7222::kTxPowerLevel = 0x0A , c7222::kSlaveConnectionIntervalRange = 0x12 , c7222::kServiceData16BitUuid = 0x16 ,
  c7222::kManufacturerSpecific = 0xFF
}
 BLE GAP advertisement data types. More...
 

Functions

std::vector< uint8_t > c7222::operator+ (const AdvertisementData &lhs, const AdvertisementData &rhs)
 Concatenate two AD structures into a raw byte vector.
 
constexpr uint8_t operator| (c7222::AdvertisementData::Flags lhs, c7222::AdvertisementData::Flags rhs)
 
constexpr uint8_t operator| (uint8_t lhs, c7222::AdvertisementData::Flags rhs)
 
constexpr uint8_t operator|= (uint8_t lhs, c7222::AdvertisementData::Flags rhs)
 
constexpr uint8_t operator| (c7222::AdvertisementData::Flags lhs, uint8_t rhs)
 
constexpr uint8_t operator& (c7222::AdvertisementData::Flags lhs, c7222::AdvertisementData::Flags rhs)
 
constexpr uint8_t operator& (uint8_t lhs, c7222::AdvertisementData::Flags rhs)
 
constexpr uint8_t operator&= (uint8_t lhs, c7222::AdvertisementData::Flags rhs)
 
constexpr uint8_t operator& (c7222::AdvertisementData::Flags lhs, uint8_t rhs)
 
constexpr uint8_t operator^ (uint8_t lhs, c7222::AdvertisementData::Flags rhs)
 
constexpr uint8_t operator^= (uint8_t lhs, c7222::AdvertisementData::Flags rhs)
 
constexpr uint8_t operator^ (c7222::AdvertisementData::Flags lhs, uint8_t rhs)
 

Variables

constexpr size_t c7222::kAdvertisementDataLegacyMaxSize = 31
 Maximum length for legacy advertising data (length + type + value).
 
constexpr size_t c7222::kAdvertisementDataStructHeaderOverhead = 2
 Overhead bytes for an AD structure (length + type).
 

Detailed Description

BLE GAP advertisement data builder.

Function Documentation

◆ operator&() [1/3]

constexpr uint8_t operator& ( c7222::AdvertisementData::Flags  lhs,
c7222::AdvertisementData::Flags  rhs 
)
constexpr

◆ operator&() [2/3]

constexpr uint8_t operator& ( c7222::AdvertisementData::Flags  lhs,
uint8_t  rhs 
)
constexpr

◆ operator&() [3/3]

constexpr uint8_t operator& ( uint8_t  lhs,
c7222::AdvertisementData::Flags  rhs 
)
constexpr

◆ operator&=()

constexpr uint8_t operator&= ( uint8_t  lhs,
c7222::AdvertisementData::Flags  rhs 
)
constexpr

◆ operator^() [1/2]

constexpr uint8_t operator^ ( c7222::AdvertisementData::Flags  lhs,
uint8_t  rhs 
)
constexpr

◆ operator^() [2/2]

constexpr uint8_t operator^ ( uint8_t  lhs,
c7222::AdvertisementData::Flags  rhs 
)
constexpr

◆ operator^=()

constexpr uint8_t operator^= ( uint8_t  lhs,
c7222::AdvertisementData::Flags  rhs 
)
constexpr

◆ operator|() [1/3]

constexpr uint8_t operator| ( c7222::AdvertisementData::Flags  lhs,
c7222::AdvertisementData::Flags  rhs 
)
constexpr

◆ operator|() [2/3]

constexpr uint8_t operator| ( c7222::AdvertisementData::Flags  lhs,
uint8_t  rhs 
)
constexpr

◆ operator|() [3/3]

constexpr uint8_t operator| ( uint8_t  lhs,
c7222::AdvertisementData::Flags  rhs 
)
constexpr

◆ operator|=()

constexpr uint8_t operator|= ( uint8_t  lhs,
c7222::AdvertisementData::Flags  rhs 
)
constexpr