pabigot  0.1.1
C++ support classes
Data Structures | Enumerations | Variables
pabigot::ble::gap Namespace Reference

Bluetooth Low Energy General Access Profile material. More...

Data Structures

class  adv_data
 Infrastructure to fill in Advertising and Scan Response Data. More...
 

Enumerations

enum  pdu_type_e : uint8_t {
  PT_ADV_IND = 0x00, PT_ADV_DIRECT_IND = 0x01, PT_ADV_NONCONN_IND = 0x02, PT_SCAN_REQ = 0x03,
  PT_SCAN_RESP = 0x04, PT_CONNECT_IND = 0x05, PT_ADV_SCAN_IND = 0x06, PT_ADV_EXT_IND = 0x07,
  PT_AUX_CONNECT_RSP = 0x08
}
 Advertising PDU type. More...
 
enum  adv_event_type_e : uint8_t {
  ET_ADV_IND = 0x00, ET_ADV_DIRECT_IND = 0x01, ET_ADV_SCAN_IND = 0x02, ET_ADV_NONCONN_IND = 0x03,
  ET_SCAN_RSP = 0x04, ET_INVALID = 0x80
}
 Advertising Event Type. More...
 
enum  flags_data_type_e : uint8_t {
  FDT_LE_LIMITED = 0x01, FDT_LE_GENERAL = 0x02, FDT_BREDR_NOTSUP = 0x04, FDT_BREDRLE_CTRL = 0x08,
  FDT_BREDRLE_HOST = 0x10, FDT_LE_NON_DISCOVERABLE = FDT_BREDR_NOTSUP, FDT_LE_LIMITED_DISCOVERABLE = FDT_BREDR_NOTSUP | FDT_LE_LIMITED, FDT_LE_GENERAL_DISCOVERABLE = FDT_BREDR_NOTSUP | FDT_LE_GENERAL
}
 Bits and values for DT_FLAGS. More...
 
enum  data_type_e : uint8_t {
  DT_FLAGS = 0x01, DT_UUID16_INCOMPLETE = 0x02, DT_UUID16_COMPLETE = 0x03, DT_UUID32_INCOMPLETE = 0x04,
  DT_UUID32_COMPLETE = 0x05, DT_UUID128_INCOMPLETE = 0x06, DT_UUID128_COMPLETE = 0x07, DT_SHORTENED_LOCAL_NAME = 0x08,
  DT_COMPLETE_LOCAL_NAME = 0x09, DT_TX_POWER_LEVEL = 0x0A, DT_CLASS_OF_DEVICE = 0x0D, DT_SIMPLE_PAIRING_HASH_C192 = 0x0E,
  DT_SIMPLE_PAIRING_RANDOMIZER_R192 = 0x0F, DT_DEVICE_ID = 0x10, DT_SECURITY_MANAGER_OOB_FLAGS = 0x11, DT_SLAVE_CONNECTION_INTERVAL_RANGE = 0x12,
  DT_SERVICE_SOLICITATION_UUID16 = 0x14, DT_SERVICE_SOLICITATION_UUID128 = 0x15, DT_SERVICE_DATA_UUID16 = 0x16, DT_PUBLIC_TARGET_ADDRESS = 0x17,
  DT_RANDOM_TARGET_ADDRESS = 0x18, DT_APPEARANCE = 0x19, DT_ADVERTISING_INTERVAL = 0x1A, DT_LE_BLUETOOTH_DEVICE_ADDR = 0x1B,
  DT_LE_ROLE = 0x1C, DT_SIMPLE_PAIRING_HASH_C256 = 0x1D, DT_SIMPLE_PAIRING_RANDOMIZER_R256 = 0x1E, DT_SERVICE_SOLICITATION_UUID32 = 0x1F,
  DT_SERVICE_DATA_UUID32 = 0x20, DT_SERVICE_DATA_UUID128 = 0x21, DT_LE_SECURE_CONN_CONFIRM_VALUE = 0x22, DT_LE_SECURE_CONN_RANDOM_VALUE = 0x23,
  DT_URI = 0x24, DT_INDOOR_POSITIONING = 0x25, DT_TRANSPORT_DISCOVERY_DATA = 0x26, DT_LE_SUPPORTED_FEATURES = 0x27,
  DT_CHANNEL_MAP_UPDATE_INDICATION = 0x28, DT_PB_ADV = 0x29, DT_MESH_MESSAGE = 0x2A, DT_MESH_BEACON = 0x2B,
  DT_3D_INFORMATION_DATA = 0x3D, DT_MANUFACTURER_SPECIFIC_DATA = 0xFF
}
 GAP assigned numbers for data type values. More...
 

Variables

static constexpr size_t ASR_DATA_SIZE {31}
 Number of octets available for a standard advertising or scan response data packet.
 

Detailed Description

Bluetooth Low Energy General Access Profile material.

Including Advertising and Scan Response infrastructure.

Note
This material in this module is kept independent of implementation. It should support both Nordic Soft Device APIs and Bluez.

Enumeration Type Documentation

◆ adv_event_type_e

Advertising Event Type.

See also
BT-5v2E7.7.65.2
Enumerator
ET_INVALID 

Indicates an invalid event type flag.

This should only appear when processing ASR packets from a source that does not provide a clean Event Type field, such as the Minew G1 (which appears to provide the event type shifted down 3 bits to throw away all the interesting information).

◆ data_type_e

GAP assigned numbers for data type values.

For type codes see assigned numbers.

For structure contents see Core Specification Supplement volume A.

Enumerator
DT_FLAGS 

adv_data::set_Flags() CSSv7A1.3

DT_UUID16_INCOMPLETE 

adv_data::set_IncompleteListServiceUUID()

DT_UUID16_COMPLETE 

adv_data::set_CompleteListServiceUUID()

DT_UUID32_INCOMPLETE 

adv_data::set_IncompleteListServiceUUID()

DT_UUID32_COMPLETE 

adv_data::set_CompleteListServiceUUID()

DT_UUID128_INCOMPLETE 

adv_data::set_IncompleteListServiceUUID()

DT_UUID128_COMPLETE 

adv_data::set_CompleteListServiceUUID()

DT_SHORTENED_LOCAL_NAME 

adv_data::set_ShortenedLocalName()

DT_COMPLETE_LOCAL_NAME 

adv_data::set_CompleteLocalName()

DT_TX_POWER_LEVEL 

adv_data::set_TXPowerLevel

DT_SLAVE_CONNECTION_INTERVAL_RANGE 

adv_data::set_SlaveConnectionIntervalRange

DT_SERVICE_SOLICITATION_UUID16 

adv_data::set_ListServiceSolicitationUUID()

DT_SERVICE_SOLICITATION_UUID128 

adv_data::set_ListServiceSolicitationUUID()

DT_SERVICE_DATA_UUID16 

adv_data::set_ServiceData()

DT_ADVERTISING_INTERVAL 

adv_data::set_AdvertisingInterval

DT_SERVICE_SOLICITATION_UUID32 

adv_data::set_ListServiceSolicitationUUID()

DT_SERVICE_DATA_UUID32 

adv_data::set_ServiceData()

DT_SERVICE_DATA_UUID128 

adv_data::set_ServiceData()

DT_MANUFACTURER_SPECIFIC_DATA 

adv_data::set_ManufacturerSpecificData

◆ flags_data_type_e

Bits and values for DT_FLAGS.

You want to assign one of the DISCOVERABLE values.

Enumerator
FDT_LE_NON_DISCOVERABLE 

BT-5v3C9.2.2 LE-only not discoverable.

FDT_LE_LIMITED_DISCOVERABLE 

BT-5v3C9.2.3 LE-only short-term discoverable.

FDT_LE_GENERAL_DISCOVERABLE 

BT-5v3C9.2.4 LE-only long-term discoverable.

◆ pdu_type_e

Advertising PDU type.

Names used are for the primary advertising interpretation of the flags.

See also
BT-5v6B2.3