最新revisionだとなんかerrorになるので、暫定的に rev 111にrevert。ごめんなさい。こういうときどういうふうにcommitすればいいのか分からなかったので。
Fork of BLE_API by
GapAdvertisingData Class Reference
This class provides several helper functions to generate properly formatted GAP Advertising and Scan Response data payloads. More...
#include <GapAdvertisingData.h>
Public Types | |
enum | DataType { FLAGS = 0x01, INCOMPLETE_LIST_16BIT_SERVICE_IDS = 0x02, COMPLETE_LIST_16BIT_SERVICE_IDS = 0x03, INCOMPLETE_LIST_32BIT_SERVICE_IDS = 0x04, COMPLETE_LIST_32BIT_SERVICE_IDS = 0x05, INCOMPLETE_LIST_128BIT_SERVICE_IDS = 0x06, COMPLETE_LIST_128BIT_SERVICE_IDS = 0x07, SHORTENED_LOCAL_NAME = 0x08, COMPLETE_LOCAL_NAME = 0x09, TX_POWER_LEVEL = 0x0A, DEVICE_ID = 0x10, SLAVE_CONNECTION_INTERVAL_RANGE = 0x12, SERVICE_DATA = 0x16, APPEARANCE = 0x19, ADVERTISING_INTERVAL = 0x1A, MANUFACTURER_SPECIFIC_DATA = 0xFF } |
A list of Advertising Data types commonly used by peripherals. These AD types are used to describe the capabilities of the peripheral, and get inserted inside the advertising or scan response payloads. More... | |
enum | Flags { LE_LIMITED_DISCOVERABLE = 0x01, LE_GENERAL_DISCOVERABLE = 0x02, BREDR_NOT_SUPPORTED = 0x04, SIMULTANEOUS_LE_BREDR_C = 0x08, SIMULTANEOUS_LE_BREDR_H = 0x10 } |
A list of values for the FLAGS AD Type. More... | |
enum | Appearance { UNKNOWN = 0, GENERIC_PHONE = 64, GENERIC_COMPUTER = 128, GENERIC_WATCH = 192, WATCH_SPORTS_WATCH = 193, GENERIC_CLOCK = 256, GENERIC_DISPLAY = 320, GENERIC_REMOTE_CONTROL = 384, GENERIC_EYE_GLASSES = 448, GENERIC_TAG = 512, GENERIC_KEYRING = 576, GENERIC_MEDIA_PLAYER = 640, GENERIC_BARCODE_SCANNER = 704, GENERIC_THERMOMETER = 768, THERMOMETER_EAR = 769, GENERIC_HEART_RATE_SENSOR = 832, HEART_RATE_SENSOR_HEART_RATE_BELT = 833, GENERIC_BLOOD_PRESSURE = 896, BLOOD_PRESSURE_ARM = 897, BLOOD_PRESSURE_WRIST = 898, HUMAN_INTERFACE_DEVICE_HID = 960, KEYBOARD = 961, MOUSE = 962, JOYSTICK = 963, GAMEPAD = 964, DIGITIZER_TABLET = 965, CARD_READER = 966, DIGITAL_PEN = 967, BARCODE_SCANNER = 968, GENERIC_GLUCOSE_METER = 1024, GENERIC_RUNNING_WALKING_SENSOR = 1088, RUNNING_WALKING_SENSOR_IN_SHOE = 1089, RUNNING_WALKING_SENSOR_ON_SHOE = 1090, RUNNING_WALKING_SENSOR_ON_HIP = 1091, GENERIC_CYCLING = 1152, CYCLING_CYCLING_COMPUTER = 1153, CYCLING_SPEED_SENSOR = 1154, CYCLING_CADENCE_SENSOR = 1155, CYCLING_POWER_SENSOR = 1156, CYCLING_SPEED_AND_CADENCE_SENSOR = 1157, PULSE_OXIMETER_GENERIC = 3136, PULSE_OXIMETER_FINGERTIP = 3137, PULSE_OXIMETER_WRIST_WORN = 3138, OUTDOOR_GENERIC = 5184, OUTDOOR_LOCATION_DISPLAY_DEVICE = 5185, OUTDOOR_LOCATION_AND_NAVIGATION_DISPLAY_DEVICE = 5186, OUTDOOR_LOCATION_POD = 5187, OUTDOOR_LOCATION_AND_NAVIGATION_POD = 5188 } |
A list of values for the APPEARANCE AD Type, which describes the physical shape or appearance of the device. More... | |
Public Member Functions | |
GapAdvertisingData (void) | |
Creates a new GapAdvertisingData instance. | |
virtual | ~GapAdvertisingData (void) |
ble_error_t | addData (DataType, const uint8_t *, uint8_t) |
Adds advertising data based on the specified AD type (see DataType) | |
ble_error_t | addAppearance (Appearance appearance=GENERIC_TAG) |
Helper function to add APPEARANCE data to the advertising payload. | |
ble_error_t | addFlags (uint8_t flags=LE_GENERAL_DISCOVERABLE) |
Helper function to add FLAGS data to the advertising payload. | |
ble_error_t | addTxPower (int8_t txPower) |
Helper function to add TX_POWER_LEVEL data to the advertising payload. | |
void | clear (void) |
Clears the payload and resets the payload length counter. | |
const uint8_t * | getPayload (void) const |
Returns a pointer to the the current payload. | |
uint8_t | getPayloadLen (void) const |
Returns the current payload length (0..31 bytes) | |
uint16_t | getAppearance (void) const |
Returns the 16-bit appearance value for this device. |
Detailed Description
This class provides several helper functions to generate properly formatted GAP Advertising and Scan Response data payloads.
- Note:
- See Bluetooth Specification 4.0 (Vol. 3), Part C, Section 11 and 18 for further information on Advertising and Scan Response data.
- Advertising and Scan Response Payloads
- Advertising data and Scan Response data are organized around a set of data types called 'AD types' in Bluetooth 4.0 (see the Bluetooth Core Specification v4.0, Vol. 3, Part C, Sections 11 and 18).
- Each AD type has it's own standardized 'assigned number', as defined by the Bluetooth SIG: https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile
- For convenience sake, all appropriate AD types have been encapsulated into GapAdvertisingData::DataType.
- Before the AD Types and their payload (if any) can be inserted into the Advertising or Scan Response frames, they need to be formatted as follows:
Record
length (1 byte)AD
Type (1 byte)AD
payload (optional, only present if record length > 1)
- This class takes care of properly formatting the payload, performs some basic checks on the payload length, and tries to avoid common errors like adding an exclusive AD field twice in the Advertising or Scan Response payload.
- EXAMPLE
// ToDo
Definition at line 72 of file GapAdvertisingData.h.
Member Enumeration Documentation
enum Appearance |
A list of values for the APPEARANCE AD Type, which describes the physical shape or appearance of the device.
- Source
Bluetooth
Core Specification Supplement, Part A, Section 1.12Bluetooth
Core Specification 4.0 (Vol. 3), Part C, Section 12.2https://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
- Enumerator:
Definition at line 140 of file GapAdvertisingData.h.
enum DataType |
A list of Advertising Data types commonly used by peripherals. These AD types are used to describe the capabilities of the peripheral, and get inserted inside the advertising or scan response payloads.
- Source
Bluetooth
Core Specification 4.0 (Vol. 3), Part C, Section 11, 18https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile
- Enumerator:
Definition at line 88 of file GapAdvertisingData.h.
enum Flags |
A list of values for the FLAGS AD Type.
- Note:
- You can use more than one value in the FLAGS AD Type (ex. LE_GENERAL_DISCOVERABLE and BREDR_NOT_SUPPORTED).
- Source
Bluetooth
Core Specification 4.0 (Vol. 3), Part C, Section 18.1
- Enumerator:
Definition at line 120 of file GapAdvertisingData.h.
Constructor & Destructor Documentation
GapAdvertisingData | ( | void | ) |
Creates a new GapAdvertisingData instance.
- EXAMPLE
Definition at line 33 of file GapAdvertisingData.cpp.
~GapAdvertisingData | ( | void | ) | [virtual] |
Destructor
Definition at line 42 of file GapAdvertisingData.cpp.
Member Function Documentation
ble_error_t addAppearance | ( | Appearance | appearance = GENERIC_TAG ) |
Helper function to add APPEARANCE data to the advertising payload.
[in] appearance The APPEARANCE value to add
- Returns:
- ble_error_t
- Return values:
-
BLE_ERROR_NONE Everything executed properly BLE_ERROR_BUFFER_OVERFLOW The specified data would cause the advertising buffer to overflow
- EXAMPLE
Definition at line 119 of file GapAdvertisingData.cpp.
ble_error_t addData | ( | DataType | advDataType, |
const uint8_t * | payload, | ||
uint8_t | len | ||
) |
Adds advertising data based on the specified AD type (see DataType)
[in] advDataType The Advertising 'DataType' to add [in] payload Pointer to the payload contents [in] len Size of the payload in bytes
- Returns:
- ble_error_t
- Return values:
-
BLE_ERROR_NONE Everything executed properly BLE_ERROR_BUFFER_OVERFLOW The specified data would cause the advertising buffer to overflow
- EXAMPLE
Definition at line 71 of file GapAdvertisingData.cpp.
ble_error_t addFlags | ( | uint8_t | flags = LE_GENERAL_DISCOVERABLE ) |
Helper function to add FLAGS data to the advertising payload.
[in] flag The FLAGS value to add
- LE_LIMITED_DISCOVERABLE
- The peripheral is discoverable for a limited period of time
- LE_GENERAL_DISCOVERABLE
- The peripheral is permanently discoverable
- BREDR_NOT_SUPPORTED
- This peripheral is a Bluetooth Low Energy only device (no EDR support)
- Returns:
- ble_error_t
- Return values:
-
BLE_ERROR_NONE Everything executed properly BLE_ERROR_BUFFER_OVERFLOW The specified data would cause the advertising buffer to overflow
- EXAMPLE
Definition at line 159 of file GapAdvertisingData.cpp.
ble_error_t addTxPower | ( | int8_t | txPower ) |
Helper function to add TX_POWER_LEVEL data to the advertising payload.
[in] flag The TX_POWER_LEVEL value to add
- Returns:
- ble_error_t
- Return values:
-
BLE_ERROR_NONE Everything executed properly BLE_ERROR_BUFFER_OVERFLOW The specified data would cause the advertising buffer to overflow
- EXAMPLE
Definition at line 187 of file GapAdvertisingData.cpp.
void clear | ( | void | ) |
Clears the payload and resets the payload length counter.
Definition at line 198 of file GapAdvertisingData.cpp.
uint16_t getAppearance | ( | void | ) | const |
Returns the 16-bit appearance value for this device.
- Returns:
- The 16-bit appearance value
Definition at line 235 of file GapAdvertisingData.cpp.
const uint8_t * getPayload | ( | void | ) | const |
Returns a pointer to the the current payload.
- Returns:
- A pointer to the payload
Definition at line 211 of file GapAdvertisingData.cpp.
uint8_t getPayloadLen | ( | void | ) | const |
Returns the current payload length (0..31 bytes)
- Returns:
- The payload length in bytes
Definition at line 223 of file GapAdvertisingData.cpp.
Generated on Tue Jul 12 2022 20:47:07 by 1.7.2