Direct-BT  2.3.1
Direct-BT - Direct Bluetooth Programming.
Classes | Namespaces | Macros | Enumerations | Functions | Variables
GattNumbers.hpp File Reference
#include <cstdint>
#include <jau/basic_types.hpp>
#include <jau/darray.hpp>
#include "UUID.hpp"
#include "OctetTypes.hpp"
#include "BTTypes0.hpp"
#include "ieee11073/DataTypes.hpp"
Include dependency graph for GattNumbers.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  direct_bt::GattCharacteristicPropertySpec
 
struct  direct_bt::GattClientCharacteristicConfigSpec
 
struct  direct_bt::GattCharacteristicSpec
 
struct  direct_bt::GattServiceCharacteristic
 
struct  direct_bt::GattPeriphalPreferredConnectionParameters
 Peripheral Preferred Connection Parameters is a GATT Characteristic. More...
 
class  direct_bt::GattGenericAccessSvc
 Generic Access Service is a mandatory GATT service all peripherals are required to implement. More...
 
struct  direct_bt::GattPnP_ID
 PnP ID is a GATT Characteristic. More...
 
class  direct_bt::GattDeviceInformationSvc
 Device Information is a GATT service. More...
 
class  direct_bt::GattBatteryServiceSvc
 https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Services/org.bluetooth.service.battery_service.xml More...
 
class  direct_bt::GattTemperatureMeasurement
 https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Characteristics/org.bluetooth.characteristic.temperature_measurement.xml More...
 

Namespaces

 direct_bt
 

Macros

#define ATT_ECODE_IO   0x80
 
#define ATT_ECODE_TIMEOUT   0x81
 
#define ATT_ECODE_ABORTED   0x82
 
#define ATT_MAX_VALUE_LEN   512
 
#define ATT_DEFAULT_L2CAP_MTU   48
 
#define ATT_DEFAULT_LE_MTU   23
 
#define ATT_CANCEL_ALL_PREP_WRITES   0x00
 
#define ATT_WRITE_ALL_PREP_WRITES   0x01
 
#define ATT_FIND_INFO_RESP_FMT_16BIT   0x01
 
#define ATT_FIND_INFO_RESP_FMT_128BIT   0x02
 

Enumerations

enum  direct_bt::GattServiceType : uint16_t {
  direct_bt::GENERIC_ACCESS = 0x1800, direct_bt::GENERIC_ATTRIBUTE = 0x1801, direct_bt::IMMEDIATE_ALERT = 0x1802, direct_bt::LINK_LOSS = 0x1803,
  direct_bt::HEALTH_THERMOMETER = 0x1809, direct_bt::DEVICE_INFORMATION = 0x180A, direct_bt::BATTERY_SERVICE = 0x180F
}
 GATT Service Type, each encapsulating a set of Characteristics. More...
 
enum  direct_bt::GattCharacteristicType : uint16_t {
  direct_bt::DEVICE_NAME = 0x2A00, direct_bt::APPEARANCE = 0x2A01, direct_bt::APPEARANCE = (1 << 11), direct_bt::PERIPHERAL_PRIVACY_FLAG = 0x2A02,
  direct_bt::RECONNECTION_ADDRESS = 0x2A03, direct_bt::PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS = 0x2A04, direct_bt::TEMPERATURE = 0x2A6E, direct_bt::TEMPERATURE_CELSIUS = 0x2A1F,
  direct_bt::TEMPERATURE_FAHRENHEIT = 0x2A20, direct_bt::TEMPERATURE_MEASUREMENT = 0x2A1C, direct_bt::TEMPERATURE_TYPE = 0x2A1D, direct_bt::INTERMEDIATE_TEMPERATURE = 0x2A1E,
  direct_bt::MEASUREMENT_INTERVAL = 0x2A21, direct_bt::SYSTEM_ID = 0x2A23, direct_bt::MODEL_NUMBER_STRING = 0x2A24, direct_bt::SERIAL_NUMBER_STRING = 0x2A25,
  direct_bt::FIRMWARE_REVISION_STRING = 0x2A26, direct_bt::HARDWARE_REVISION_STRING = 0x2A27, direct_bt::SOFTWARE_REVISION_STRING = 0x2A28, direct_bt::MANUFACTURER_NAME_STRING = 0x2A29,
  direct_bt::REGULATORY_CERT_DATA_LIST = 0x2A2A, direct_bt::PNP_ID = 0x2A50
}
 GATT Assigned Characteristic Attribute Type for single logical value. More...
 
enum  direct_bt::GattCharacteristicProperty : uint8_t {
  direct_bt::Broadcast = 0x01, direct_bt::Read = 0x02, direct_bt::WriteNoAck = 0x04, direct_bt::WriteWithAck = 0x08,
  direct_bt::Notify = 0x10, direct_bt::Indicate = 0x20, direct_bt::AuthSignedWrite = 0x40, direct_bt::ExtProps = 0x80,
  direct_bt::ReliableWriteExt = 0x81, direct_bt::AuxWriteExt = 0x82
}
 
enum  direct_bt::GattRequirementSpec : uint8_t {
  direct_bt::Excluded = 0x00, direct_bt::Mandatory = 0x01, direct_bt::Optional = 0x02, direct_bt::Conditional = 0x03,
  direct_bt::if_characteristic_supported = 0x11, direct_bt::if_notify_or_indicate_supported = 0x12, direct_bt::C1 = 0x21
}
 

Functions

std::string direct_bt::GattServiceTypeToString (const GattServiceType v) noexcept
 
std::string direct_bt::GattCharacteristicTypeToString (const GattCharacteristicType v) noexcept
 
std::string direct_bt::GattCharacteristicPropertyToString (const GattCharacteristicProperty v) noexcept
 
std::string direct_bt::GattRequirementSpecToString (const GattRequirementSpec v) noexcept
 
const GattServiceCharacteristicdirect_bt::findGattServiceChar (const uint16_t uuid16) noexcept
 Find the GattServiceCharacteristic entry by given uuid16, denominating either a GattServiceType or GattCharacteristicType. More...
 
const GattCharacteristicSpecdirect_bt::findGattCharSpec (const uint16_t uuid16) noexcept
 Find the GattCharacteristicSpec entry by given uuid16, denominating either a GattCharacteristicType. More...
 
std::string direct_bt::GattNameToString (const TROOctets &v) noexcept
 Converts a GATT Name (not null-terminated) UTF8 to a null-terminated C++ string. More...
 

Variables

const GattServiceCharacteristic direct_bt::GATT_GENERIC_ACCESS_SRVC
 Intentionally ease compile and linker burden by using 'extern' instead of 'inline', as the latter would require compile to crunch the structure and linker to chose where to place the actual artifact. More...
 
const GattServiceCharacteristic direct_bt::GATT_HEALTH_THERMOMETER_SRVC
 https://www.bluetooth.com/wp-content/uploads/Sitecore-Media-Library/Gatt/Xml/Services/org.bluetooth.service.health_thermometer.xml More...
 
const GattServiceCharacteristic direct_bt::GATT_DEVICE_INFORMATION_SRVC
 
const jau::darray< const GattServiceCharacteristic * > direct_bt::GATT_SERVICES
 

Macro Definition Documentation

◆ ATT_CANCEL_ALL_PREP_WRITES

#define ATT_CANCEL_ALL_PREP_WRITES   0x00

Definition at line 406 of file GattNumbers.hpp.

◆ ATT_DEFAULT_L2CAP_MTU

#define ATT_DEFAULT_L2CAP_MTU   48

Definition at line 401 of file GattNumbers.hpp.

◆ ATT_DEFAULT_LE_MTU

#define ATT_DEFAULT_LE_MTU   23

Definition at line 402 of file GattNumbers.hpp.

◆ ATT_ECODE_ABORTED

#define ATT_ECODE_ABORTED   0x82

Definition at line 398 of file GattNumbers.hpp.

◆ ATT_ECODE_IO

#define ATT_ECODE_IO   0x80

Definition at line 396 of file GattNumbers.hpp.

◆ ATT_ECODE_TIMEOUT

#define ATT_ECODE_TIMEOUT   0x81

Definition at line 397 of file GattNumbers.hpp.

◆ ATT_FIND_INFO_RESP_FMT_128BIT

#define ATT_FIND_INFO_RESP_FMT_128BIT   0x02

Definition at line 412 of file GattNumbers.hpp.

◆ ATT_FIND_INFO_RESP_FMT_16BIT

#define ATT_FIND_INFO_RESP_FMT_16BIT   0x01

Definition at line 411 of file GattNumbers.hpp.

◆ ATT_MAX_VALUE_LEN

#define ATT_MAX_VALUE_LEN   512

Definition at line 400 of file GattNumbers.hpp.

◆ ATT_WRITE_ALL_PREP_WRITES

#define ATT_WRITE_ALL_PREP_WRITES   0x01

Definition at line 407 of file GattNumbers.hpp.