Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
GenericGap Class Reference
Generic implementation of the Gap class. More...
#include <GenericGap.h>
Inherits Gap, and ble::pal::ConnectionEventMonitor.
Public Types | |
enum | DeprecatedAddressType_t |
Address-type for BLEProtocol addresses. More... | |
enum | TimeoutSource_t { TIMEOUT_SRC_ADVERTISING = 0x00, TIMEOUT_SRC_SECURITY_REQUEST = 0x01, TIMEOUT_SRC_SCAN = 0x02, TIMEOUT_SRC_CONN = 0x03 } |
Enumeration of possible timeout sources. More... | |
enum | DisconnectionReason_t { CONNECTION_TIMEOUT = 0x08, REMOTE_USER_TERMINATED_CONNECTION = 0x13, REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES = 0x14, REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF = 0x15, LOCAL_HOST_TERMINATED_CONNECTION = 0x16, CONN_INTERVAL_UNACCEPTABLE = 0x3B } |
Enumeration of disconnection reasons. More... | |
enum | AdvertisingPolicyMode_t { ADV_POLICY_IGNORE_WHITELIST = 0, ADV_POLICY_FILTER_SCAN_REQS = 1, ADV_POLICY_FILTER_CONN_REQS = 2, ADV_POLICY_FILTER_ALL_REQS = 3 } |
Advertising policy filter modes. More... | |
enum | ScanningPolicyMode_t { SCAN_POLICY_IGNORE_WHITELIST = 0, SCAN_POLICY_FILTER_ALL_ADV = 1 } |
Scanning policy filter mode. More... | |
enum | InitiatorPolicyMode_t { INIT_POLICY_IGNORE_WHITELIST = 0, INIT_POLICY_FILTER_ALL_ADV = 1 } |
Connection initiation policy filter mode. More... | |
enum | Role_t { PERIPHERAL = 0x1, CENTRAL = 0x2 } |
Enumeration of GAP roles. More... | |
typedef BLEProtocol::AddressType_t | AddressType_t |
Address-type for BLEProtocol addresses. | |
typedef BLEProtocol::AddressType_t | addr_type_t |
Address-type for BLEProtocol addresses. | |
typedef BLEProtocol::AddressBytes_t | Address_t |
48-bit address, LSB format. | |
typedef BLEProtocol::AddressBytes_t | address_t |
48-bit address, LSB format. | |
typedef ble::connection_handle_t | Handle_t |
Opaque value type representing a connection handle. | |
typedef FunctionPointerWithContext < const AdvertisementCallbackParams_t * > | AdvertisementReportCallback_t |
Type of the callback handling scanned advertisement packets. | |
typedef FunctionPointerWithContext < TimeoutSource_t > | TimeoutEventCallback_t |
Timeout event handler. | |
typedef CallChainOfFunctionPointersWithContext < TimeoutSource_t > | TimeoutEventCallbackChain_t |
Callchain of timeout event handlers. | |
typedef FunctionPointerWithContext < const ConnectionCallbackParams_t * > | ConnectionEventCallback_t |
Connection event handler. | |
typedef CallChainOfFunctionPointersWithContext < const ConnectionCallbackParams_t * > | ConnectionEventCallbackChain_t |
Callchain of connection event handlers. | |
typedef FunctionPointerWithContext < const DisconnectionCallbackParams_t * > | DisconnectionEventCallback_t |
Disconnection event handler. | |
typedef CallChainOfFunctionPointersWithContext < const DisconnectionCallbackParams_t * > | DisconnectionEventCallbackChain_t |
Callchain of disconnection event handlers. | |
typedef FunctionPointerWithContext < bool > | RadioNotificationEventCallback_t |
Radio notification event handler. | |
typedef FunctionPointerWithContext < const Gap * > | GapShutdownCallback_t |
Gap shutdown event handler. | |
typedef CallChainOfFunctionPointersWithContext < const Gap * > | GapShutdownCallbackChain_t |
Callchain of gap shutdown event handler. | |
Public Member Functions | |
GenericGap (pal::EventQueue &event_queue, pal::Gap &pal_gap, pal::GenericAccessService &generic_access_service) | |
Construct a GenericGap instance for a given BLE instance ID. | |
virtual | ~GenericGap () |
virtual ble_error_t | setAddress (BLEProtocol::AddressType_t type, const BLEProtocol::AddressBytes_t address) |
virtual ble_error_t | getAddress (BLEProtocol::AddressType_t *type, BLEProtocol::AddressBytes_t address) |
virtual uint16_t | getMinAdvertisingInterval () const |
virtual uint16_t | getMinNonConnectableAdvertisingInterval () const |
virtual uint16_t | getMaxAdvertisingInterval () const |
virtual ble_error_t | stopAdvertising () |
virtual ble_error_t | stopScan () |
virtual ble_error_t | connect (const BLEProtocol::AddressBytes_t peerAddr, BLEProtocol::AddressType_t peerAddrType, const ConnectionParams_t *connectionParams, const GapScanningParams *scanParams) |
virtual ble_error_t | disconnect (Handle_t connectionHandle, DisconnectionReason_t reason) |
virtual ble_error_t | updateConnectionParams (Handle_t handle, const ConnectionParams_t *params) |
virtual ble_error_t | getPreferredConnectionParams (ConnectionParams_t *params) |
virtual ble_error_t | setPreferredConnectionParams (const ConnectionParams_t *params) |
virtual ble_error_t | setDeviceName (const uint8_t *deviceName) |
virtual ble_error_t | getDeviceName (uint8_t *deviceName, unsigned *lengthP) |
virtual ble_error_t | setAppearance (GapAdvertisingData::Appearance appearance) |
virtual ble_error_t | getAppearance (GapAdvertisingData::Appearance *appearanceP) |
virtual ble_error_t | setTxPower (int8_t txPower) |
virtual void | getPermittedTxPowerValues (const int8_t **valueArrayPP, size_t *countP) |
virtual uint8_t | getMaxWhitelistSize (void) const |
virtual ble_error_t | getWhitelist (Whitelist_t &whitelist) const |
virtual ble_error_t | setWhitelist (const Whitelist_t &whitelist) |
virtual ble_error_t | setAdvertisingPolicyMode (AdvertisingPolicyMode_t mode) |
virtual ble_error_t | setScanningPolicyMode (ScanningPolicyMode_t mode) |
virtual ble_error_t | setInitiatorPolicyMode (InitiatorPolicyMode_t mode) |
virtual AdvertisingPolicyMode_t | getAdvertisingPolicyMode (void) const |
virtual ScanningPolicyMode_t | getScanningPolicyMode (void) const |
virtual InitiatorPolicyMode_t | getInitiatorPolicyMode (void) const |
virtual ble_error_t | startRadioScan (const GapScanningParams &scanningParams) |
virtual ble_error_t | initRadioNotification (void) |
virtual ble_error_t | setAdvertisingData (const GapAdvertisingData &advData, const GapAdvertisingData &scanResponse) |
virtual ble_error_t | startAdvertising (const GapAdvertisingParams ¶ms) |
virtual ble_error_t | reset (void) |
void | processConnectionEvent (Handle_t handle, Role_t role, BLEProtocol::AddressType_t peerAddrType, const BLEProtocol::AddressBytes_t peerAddr, BLEProtocol::AddressType_t ownAddrType, const BLEProtocol::AddressBytes_t ownAddr, const ConnectionParams_t *connectionParams) |
void | processDisconnectionEvent (Handle_t handle, DisconnectionReason_t reason) |
MBED_DEPRECATED ("Gap::DeprecatedAddressType_t is deprecated, use BLEProtocol::AddressType_t instead") ble_error_t connect(const BLEProtocol | |
Initiate a connection to a peer. | |
MBED_DEPRECATED ("Use disconnect(Handle_t, DisconnectionReason_t) instead.") virtual ble_error_t disconnect(DisconnectionReason_t reason) | |
Initiate a disconnection procedure. | |
GapState_t | getState (void) const |
Get the current advertising and connection states of the device. | |
void | setAdvertisingType (GapAdvertisingParams::AdvertisingType_t advType) |
Set the advertising type to use during the advertising procedure. | |
void | setAdvertisingInterval (uint16_t interval) |
Set the advertising interval. | |
void | setAdvertisingTimeout (uint16_t timeout) |
Set the advertising duration. | |
ble_error_t | startAdvertising (void) |
Start the advertising procedure. | |
void | clearAdvertisingPayload (void) |
Reset the value of the advertising payload advertised. | |
ble_error_t | accumulateAdvertisingPayload (uint8_t flags) |
Set gap flags in the advertising payload. | |
ble_error_t | accumulateAdvertisingPayload (GapAdvertisingData::Appearance app) |
Set the appearance field in the advertising payload. | |
ble_error_t | accumulateAdvertisingPayload (GapAdvertisingData::DataType type, const uint8_t *data, uint8_t len) |
Add a new field in the advertising payload. | |
ble_error_t | accumulateAdvertisingPayloadTxPower (int8_t power) |
Set the Tx Power field in the advertising payload. | |
ble_error_t | updateAdvertisingPayload (GapAdvertisingData::DataType type, const uint8_t *data, uint8_t len) |
Update a particular field in the advertising payload. | |
ble_error_t | setAdvertisingPayload (const GapAdvertisingData &payload) |
Set the value of the payload advertised. | |
const GapAdvertisingData & | getAdvertisingPayload (void) const |
Get a reference to the current advertising payload. | |
ble_error_t | accumulateScanResponse (GapAdvertisingData::DataType type, const uint8_t *data, uint8_t len) |
Add a new field in the advertising payload. | |
void | clearScanResponse (void) |
Reset the content of the scan response. | |
ble_error_t | setScanParams (uint16_t interval=GapScanningParams::SCAN_INTERVAL_MAX, uint16_t window=GapScanningParams::SCAN_WINDOW_MAX, uint16_t timeout=0, bool activeScanning=false) |
Set the parameters used during a scan procedure. | |
ble_error_t | setScanInterval (uint16_t interval) |
Set the interval parameter used during scanning procedures. | |
ble_error_t | setScanWindow (uint16_t window) |
Set the window parameter used during scanning procedures. | |
ble_error_t | setScanTimeout (uint16_t timeout) |
Set the timeout parameter used during scanning procedures. | |
ble_error_t | setActiveScanning (bool activeScanning) |
Enable or disable active scanning. | |
ble_error_t | startScan (void(*callback)(const AdvertisementCallbackParams_t *params)) |
Start the scanning procedure. | |
template<typename T > | |
ble_error_t | startScan (T *object, void(T::*callbackMember)(const AdvertisementCallbackParams_t *params)) |
Start the scanning procedure. | |
GapAdvertisingParams & | getAdvertisingParams (void) |
Get the current advertising parameters. | |
const GapAdvertisingParams & | getAdvertisingParams (void) const |
Const alternative to Gap::getAdvertisingParams(). | |
void | setAdvertisingParams (const GapAdvertisingParams &newParams) |
Set the advertising parameters. | |
void | onTimeout (TimeoutEventCallback_t callback) |
Register a callback handling timeout events. | |
TimeoutEventCallbackChain_t & | onTimeout () |
Get the callchain of registered timeout event handlers. | |
void | onConnection (ConnectionEventCallback_t callback) |
Register a callback handling connection events. | |
template<typename T > | |
void | onConnection (T *tptr, void(T::*mptr)(const ConnectionCallbackParams_t *)) |
Register a callback handling connection events. | |
ConnectionEventCallbackChain_t & | onConnection () |
Get the callchain of registered connection event handlers. | |
void | onDisconnection (DisconnectionEventCallback_t callback) |
Register a callback handling disconnection events. | |
template<typename T > | |
void | onDisconnection (T *tptr, void(T::*mptr)(const DisconnectionCallbackParams_t *)) |
Register a callback handling disconnection events. | |
DisconnectionEventCallbackChain_t & | onDisconnection () |
Get the callchain of registered disconnection event handlers. | |
void | onRadioNotification (void(*callback)(bool param)) |
Set the radio-notification events handler. | |
template<typename T > | |
void | onRadioNotification (T *tptr, void(T::*mptr)(bool)) |
Set the radio-notification events handler. | |
void | onShutdown (const GapShutdownCallback_t &callback) |
Register a Gap shutdown event handler. | |
template<typename T > | |
void | onShutdown (T *objPtr, void(T::*memberPtr)(const Gap *)) |
Register a Gap shutdown event handler. | |
GapShutdownCallbackChain_t & | onShutdown () |
Access the callchain of shutdown event handler. | |
void | processAdvertisementReport (const BLEProtocol::AddressBytes_t peerAddr, int8_t rssi, bool isScanResponse, GapAdvertisingParams::AdvertisingType_t type, uint8_t advertisingDataLen, const uint8_t *advertisingData, BLEProtocol::AddressType_t addressType=BLEProtocol::AddressType::RANDOM_STATIC) |
Forward a received advertising packet to all registered event handlers listening for scanned packet events. | |
void | processTimeoutEvent (TimeoutSource_t source) |
Notify the occurrence of a timeout event to all registered timeout events handler. | |
Static Public Member Functions | |
static uint16_t | MSEC_TO_GAP_DURATION_UNITS (uint32_t durationInMillis) |
Convert milliseconds into 1.25ms units. | |
Static Public Attributes | |
static const unsigned | ADDR_LEN = BLEProtocol::ADDR_LEN |
Length (in octets) of the BLE MAC address. | |
static const uint16_t | UNIT_1_25_MS = 1250 |
Number of microseconds in 1.25 milliseconds. | |
Protected Attributes | |
GapAdvertisingParams | _advParams |
Current advertising parameters. | |
GapAdvertisingData | _advPayload |
Current advertising data. | |
GapScanningParams | _scanningParams |
Current scanning parameters. | |
GapAdvertisingData | _scanResponse |
Current scan response. | |
uint8_t | connectionCount |
Number of open connections. | |
GapState_t | state |
Current GAP state. | |
bool | scanningActive |
Active scanning flag. | |
TimeoutEventCallbackChain_t | timeoutCallbackChain |
Callchain containing all registered callback handlers for timeout events. | |
RadioNotificationEventCallback_t | radioNotificationCallback |
The registered callback handler for radio notification events. | |
AdvertisementReportCallback_t | onAdvertisementReport |
The registered callback handler for scanned advertisement packet notifications. | |
ConnectionEventCallbackChain_t | connectionCallChain |
Callchain containing all registered callback handlers for connection events. | |
DisconnectionEventCallbackChain_t | disconnectionCallChain |
Callchain containing all registered callback handlers for disconnection events. |
Detailed Description
Generic implementation of the Gap class.
It requires a pal::Gap and a pal::GenericAccessService injected at construction site.
- Attention:
- : Not part of the public interface of BLE API.
Definition at line 44 of file GenericGap.h.
Member Typedef Documentation
typedef BLEProtocol::AddressType_t addr_type_t [inherited] |
Address-type for BLEProtocol addresses.
typedef BLEProtocol::AddressBytes_t address_t [inherited] |
typedef BLEProtocol::AddressBytes_t Address_t [inherited] |
typedef BLEProtocol::AddressType_t AddressType_t [inherited] |
Address-type for BLEProtocol addresses.
typedef FunctionPointerWithContext<const AdvertisementCallbackParams_t *> AdvertisementReportCallback_t [inherited] |
Type of the callback handling scanned advertisement packets.
- See also:
- Gap::startScan().
typedef FunctionPointerWithContext<const ConnectionCallbackParams_t *> ConnectionEventCallback_t [inherited] |
typedef CallChainOfFunctionPointersWithContext<const ConnectionCallbackParams_t *> ConnectionEventCallbackChain_t [inherited] |
Callchain of connection event handlers.
- See also:
- Gap::onConnection().
typedef FunctionPointerWithContext<const DisconnectionCallbackParams_t*> DisconnectionEventCallback_t [inherited] |
typedef CallChainOfFunctionPointersWithContext<const DisconnectionCallbackParams_t*> DisconnectionEventCallbackChain_t [inherited] |
Callchain of disconnection event handlers.
- See also:
- Gap::onDisconnection().
typedef FunctionPointerWithContext<const Gap *> GapShutdownCallback_t [inherited] |
typedef CallChainOfFunctionPointersWithContext<const Gap *> GapShutdownCallbackChain_t [inherited] |
Callchain of gap shutdown event handler.
- See also:
- Gap::onShutdown().
typedef ble::connection_handle_t Handle_t [inherited] |
Opaque value type representing a connection handle.
It is used to identify to refer to a specific connection across Gap, GattClient and GattEvent API.
- Note:
- instances are generated by in the connection callback.
typedef FunctionPointerWithContext<bool> RadioNotificationEventCallback_t [inherited] |
Radio notification event handler.
- See also:
- Gap::onRadioNotification().
typedef FunctionPointerWithContext<TimeoutSource_t> TimeoutEventCallback_t [inherited] |
typedef CallChainOfFunctionPointersWithContext<TimeoutSource_t> TimeoutEventCallbackChain_t [inherited] |
Callchain of timeout event handlers.
- See also:
- Gap::onTimeout().
Member Enumeration Documentation
enum AdvertisingPolicyMode_t [inherited] |
Advertising policy filter modes.
- See also:
- Bluetooth Core Specification 4.2 (Vol. 6), Part B, Section 4.3.2.
- Enumerator:
enum DeprecatedAddressType_t [inherited] |
Address-type for BLEProtocol addresses.
enum DisconnectionReason_t [inherited] |
Enumeration of disconnection reasons.
- Attention:
- There might be a mismatch between the disconnection reason passed to disconnect() and the disconnection event generated locally because the disconnection reason passed to disconnect() is the disconnection reason to be transmitted to the peer.
- Enumerator:
CONNECTION_TIMEOUT The connection timed out.
- Attention:
- shall not be used as a reason in disconnect().
REMOTE_USER_TERMINATED_CONNECTION Connection terminated by the user.
REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES Remote device terminated connection due to low resources.
REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF Remote device terminated connection due to power off.
LOCAL_HOST_TERMINATED_CONNECTION Indicate that the local user or the internal Bluetooth subsystem terminated the connection.
- Attention:
- shall not be used as a reason in disconnect().
CONN_INTERVAL_UNACCEPTABLE Connection parameters were unacceptable.
enum InitiatorPolicyMode_t [inherited] |
Connection initiation policy filter mode.
- See also:
- Bluetooth Core Specification 4.2 (vol. 6), Part B, Section 4.4.4.
enum Role_t [inherited] |
Enumeration of GAP roles.
- Note:
- The BLE API does not express the broadcaster and scanner roles.
- Attention:
- A device can fulfill different roles concurrently.
- Enumerator:
enum ScanningPolicyMode_t [inherited] |
enum TimeoutSource_t [inherited] |
Constructor & Destructor Documentation
GenericGap | ( | pal::EventQueue & | event_queue, |
pal::Gap & | pal_gap, | ||
pal::GenericAccessService & | generic_access_service | ||
) |
Construct a GenericGap instance for a given BLE instance ID.
- Parameters:
-
ble_instance_id Id of the BLE instance using this instance. pal_gap GAP Platform abstraction instance containing the base GAP primitives. generic_access_service Platform abstraction instance managing the GATT generic access service.
Definition at line 379 of file GenericGap.cpp.
~GenericGap | ( | ) | [virtual] |
- See also:
- Gap::~Gap
Definition at line 400 of file GenericGap.cpp.
Member Function Documentation
ble_error_t accumulateAdvertisingPayload | ( | uint8_t | flags ) | [inherited] |
Set gap flags in the advertising payload.
A call to this function is equivalent to:
Gap ⪆ GapAdvertisingData payload = gap.getAdvertisingPayload(); payload.addFlags(flags); gap.setAdvertisingPayload(payload);
- Parameters:
-
[in] flags The flags to be added.
- Returns:
- BLE_ERROR_NONE if the data was successfully added to the advertising payload.
ble_error_t accumulateAdvertisingPayload | ( | GapAdvertisingData::Appearance | app ) | [inherited] |
Set the appearance field in the advertising payload.
A call to this function is equivalent to:
Gap ⪆ GapAdvertisingData payload = gap.getAdvertisingPayload(); payload.addAppearance(app); gap.setAdvertisingPayload(payload);
- Parameters:
-
[in] app The appearance to advertise.
- Returns:
- BLE_ERROR_NONE if the data was successfully added to the advertising payload.
ble_error_t accumulateAdvertisingPayload | ( | GapAdvertisingData::DataType | type, |
const uint8_t * | data, | ||
uint8_t | len | ||
) | [inherited] |
Add a new field in the advertising payload.
A call to this function is equivalent to:
Gap ⪆ GapAdvertisingData payload = gap.getAdvertisingPayload(); payload.addData(type, data, len); gap.setAdvertisingPayload(payload);
- Parameters:
-
[in] type Identity of the field being added. [in] data Buffer containing the value of the field. [in] len Length of the data buffer.
- Returns:
- BLE_ERROR_NONE if the advertisement payload was updated based on matching AD type; otherwise, an appropriate error.
- Note:
- When the specified AD type is INCOMPLETE_LIST_16BIT_SERVICE_IDS, COMPLETE_LIST_16BIT_SERVICE_IDS, INCOMPLETE_LIST_32BIT_SERVICE_IDS, COMPLETE_LIST_32BIT_SERVICE_IDS, INCOMPLETE_LIST_128BIT_SERVICE_IDS, COMPLETE_LIST_128BIT_SERVICE_IDS or LIST_128BIT_SOLICITATION_IDS the supplied value is appended to the values previously added to the payload.
ble_error_t accumulateAdvertisingPayloadTxPower | ( | int8_t | power ) | [inherited] |
Set the Tx Power field in the advertising payload.
A call to this function is equivalent to:
Gap ⪆ GapAdvertisingData payload = gap.getAdvertisingPayload(); payload.addTxPower(power); gap.setAdvertisingPayload(payload);
- Parameters:
-
[in] power Transmit power in dBm used by the controller to advertise.
- Returns:
- BLE_ERROR_NONE if the data was successfully added to the advertising payload.
ble_error_t accumulateScanResponse | ( | GapAdvertisingData::DataType | type, |
const uint8_t * | data, | ||
uint8_t | len | ||
) | [inherited] |
void clearAdvertisingPayload | ( | void | ) | [inherited] |
void clearScanResponse | ( | void | ) | [inherited] |
Reset the content of the scan response.
- Note:
- This should be followed by a call to Gap::setAdvertisingPayload() or Gap::startAdvertising() before the update takes effect.
ble_error_t connect | ( | const BLEProtocol::AddressBytes_t | peerAddr, |
BLEProtocol::AddressType_t | peerAddrType, | ||
const ConnectionParams_t * | connectionParams, | ||
const GapScanningParams * | scanParams | ||
) | [virtual] |
ble_error_t disconnect | ( | Handle_t | connectionHandle, |
DisconnectionReason_t | reason | ||
) | [virtual] |
ble_error_t getAddress | ( | BLEProtocol::AddressType_t * | type, |
BLEProtocol::AddressBytes_t | address | ||
) | [virtual] |
GapAdvertisingParams& getAdvertisingParams | ( | void | ) | [inherited] |
const GapAdvertisingParams& getAdvertisingParams | ( | void | ) | const [inherited] |
Const alternative to Gap::getAdvertisingParams().
- Returns:
- A const reference to the current advertising parameters.
const GapAdvertisingData& getAdvertisingPayload | ( | void | ) | const [inherited] |
Gap::AdvertisingPolicyMode_t getAdvertisingPolicyMode | ( | void | ) | const [virtual] |
- See also:
- Gap::getAdvertisingPolicyMode
Reimplemented from Gap.
Definition at line 793 of file GenericGap.cpp.
ble_error_t getAppearance | ( | GapAdvertisingData::Appearance * | appearanceP ) | [virtual] |
ble_error_t getDeviceName | ( | uint8_t * | deviceName, |
unsigned * | lengthP | ||
) | [virtual] |
Gap::InitiatorPolicyMode_t getInitiatorPolicyMode | ( | void | ) | const [virtual] |
- See also:
- Gap::getInitiatorPolicyMode
Reimplemented from Gap.
Definition at line 803 of file GenericGap.cpp.
uint16_t getMaxAdvertisingInterval | ( | void | ) | const [virtual] |
- See also:
- Gap::getMaxAdvertisingInterval
Reimplemented from Gap.
Definition at line 471 of file GenericGap.cpp.
uint8_t getMaxWhitelistSize | ( | void | ) | const [virtual] |
- See also:
- Gap::getMaxWhitelistSize
Reimplemented from Gap.
Definition at line 648 of file GenericGap.cpp.
uint16_t getMinAdvertisingInterval | ( | void | ) | const [virtual] |
- See also:
- Gap::getMinAdvertisingInterval
Reimplemented from Gap.
Definition at line 461 of file GenericGap.cpp.
uint16_t getMinNonConnectableAdvertisingInterval | ( | void | ) | const [virtual] |
Reimplemented from Gap.
Definition at line 466 of file GenericGap.cpp.
void getPermittedTxPowerValues | ( | const int8_t ** | valueArrayPP, |
size_t * | countP | ||
) | [virtual] |
- See also:
- Gap::getPermittedTxPowerValues
Reimplemented from Gap.
Definition at line 643 of file GenericGap.cpp.
ble_error_t getPreferredConnectionParams | ( | ConnectionParams_t * | params ) | [virtual] |
- See also:
- Gap::getPreferredConnectionParams
Reimplemented from Gap.
Definition at line 569 of file GenericGap.cpp.
Gap::ScanningPolicyMode_t getScanningPolicyMode | ( | void | ) | const [virtual] |
- See also:
- Gap::getScanningPolicyMode
Reimplemented from Gap.
Definition at line 798 of file GenericGap.cpp.
GapState_t getState | ( | void | ) | const [inherited] |
ble_error_t getWhitelist | ( | Whitelist_t & | whitelist ) | const [virtual] |
ble_error_t initRadioNotification | ( | void | ) | [virtual] |
- See also:
- Gap::initRadioNotification
Reimplemented from Gap.
Definition at line 849 of file GenericGap.cpp.
MBED_DEPRECATED | ( | "Gap::DeprecatedAddressType_t is | deprecated, |
use BLEProtocol::AddressType_t instead" | |||
) | const [inherited] |
MBED_DEPRECATED | ( | "Use disconnect(Handle_t, DisconnectionReason_t) instead." | ) | [inherited] |
static uint16_t MSEC_TO_GAP_DURATION_UNITS | ( | uint32_t | durationInMillis ) | [static, inherited] |
Convert milliseconds into 1.25ms units.
This function may be used to convert ms time of connection intervals into the format expected for connection parameters.
- Parameters:
-
[in] durationInMillis The duration in milliseconds.
- Returns:
- The duration in unit of 1.25ms.
void onConnection | ( | ConnectionEventCallback_t | callback ) | [inherited] |
Register a callback handling connection events.
- Parameters:
-
[in] callback Event handler being registered.
- Note:
- A callback may be unregistered using onConnection().detach(callback).
void onConnection | ( | T * | tptr, |
void(T::*)(const ConnectionCallbackParams_t *) | mptr | ||
) | [inherited] |
Register a callback handling connection events.
- Parameters:
-
[in] tptr Instance used to invoke mptr
.[in] mptr Event handler being registered.
- Note:
- A callback may be unregistered using onConnection().detach(callback).
ConnectionEventCallbackChain_t& onConnection | ( | ) | [inherited] |
Get the callchain of registered connection event handlers.
- Note:
- To register callbacks, use onConnection().add(callback).
- To unregister callbacks, use onConnection().detach(callback).
- Returns:
- A reference to the connection event callbacks chain.
void onDisconnection | ( | DisconnectionEventCallback_t | callback ) | [inherited] |
Register a callback handling disconnection events.
- Parameters:
-
[in] callback Event handler being registered.
- Note:
- A callback may be unregistered using onDisconnection().detach(callback).
void onDisconnection | ( | T * | tptr, |
void(T::*)(const DisconnectionCallbackParams_t *) | mptr | ||
) | [inherited] |
Register a callback handling disconnection events.
- Parameters:
-
[in] tptr Instance used to invoke mptr. [in] mptr Event handler being registered.
- Note:
- A callback may be unregistered using onDisconnection().detach(callback).
DisconnectionEventCallbackChain_t& onDisconnection | ( | ) | [inherited] |
Get the callchain of registered disconnection event handlers.
- Note:
- To register callbacks use onDisconnection().add(callback).
- To unregister callbacks use onDisconnection().detach(callback).
- Returns:
- A reference to the disconnection event callbacks chain.
void onRadioNotification | ( | void(*)(bool param) | callback ) | [inherited] |
Set the radio-notification events handler.
Radio Notification is a feature that enables ACTIVE and INACTIVE (nACTIVE) signals from the stack that notify the application when the radio is in use.
The ACTIVE signal is sent before the radio event starts. The nACTIVE signal is sent at the end of the radio event. The application programmer can use these signals to synchronize application logic with radio activity. For example, the ACTIVE signal can be used to shut off external devices, to manage peak current drawn during periods when the radio is on or to trigger sensor data collection for transmission in the Radio Event.
- Parameters:
-
[in] callback Application handler to be invoked in response to a radio ACTIVE/INACTIVE event.
void onRadioNotification | ( | T * | tptr, |
void(T::*)(bool) | mptr | ||
) | [inherited] |
void onShutdown | ( | const GapShutdownCallback_t & | callback ) | [inherited] |
Register a Gap shutdown event handler.
The handler is called when the Gap instance is about to shut down. It is usually issued after a call to BLE::shutdown().
- Parameters:
-
[in] callback Shutdown event handler to register.
- Note:
- To unregister a shutdown event handler, use onShutdown().detach(callback).
GapShutdownCallbackChain_t& onShutdown | ( | ) | [inherited] |
Access the callchain of shutdown event handler.
- Note:
- To register callbacks, use onShutdown().add(callback).
- To unregister callbacks, use onShutdown().detach(callback).
- Returns:
- A reference to the shutdown event callback chain.
void onShutdown | ( | T * | objPtr, |
void(T::*)(const Gap *) | memberPtr | ||
) | [inherited] |
TimeoutEventCallbackChain_t& onTimeout | ( | ) | [inherited] |
Get the callchain of registered timeout event handlers.
- Note:
- To register callbacks, use onTimeout().add(callback).
- To unregister callbacks, use onTimeout().detach(callback).
- Returns:
- A reference to the timeout event callbacks chain.
void onTimeout | ( | TimeoutEventCallback_t | callback ) | [inherited] |
Register a callback handling timeout events.
- Parameters:
-
[in] callback Event handler being registered.
- Note:
- A callback may be unregistered using onTimeout().detach(callback).
- See also:
- TimeoutSource_t
void processAdvertisementReport | ( | const BLEProtocol::AddressBytes_t | peerAddr, |
int8_t | rssi, | ||
bool | isScanResponse, | ||
GapAdvertisingParams::AdvertisingType_t | type, | ||
uint8_t | advertisingDataLen, | ||
const uint8_t * | advertisingData, | ||
BLEProtocol::AddressType_t | addressType = BLEProtocol::AddressType::RANDOM_STATIC |
||
) | [inherited] |
Forward a received advertising packet to all registered event handlers listening for scanned packet events.
- Attention:
- This function is meant to be called from the BLE stack specific implementation when a disconnection event occurs.
- Parameters:
-
[in] peerAddr Address of the peer that has emitted the packet. [in] rssi Value of the RSSI measured for the received packet. [in] isScanResponse If true, then the packet is a response to a scan request. [in] type Advertising type of the packet. [in] advertisingDataLen Length of the advertisement data received. [in] advertisingData Pointer to the advertisement packet's data. [in] addressType Type of the address of the peer that has emitted the packet.
void processConnectionEvent | ( | Handle_t | handle, |
Role_t | role, | ||
BLEProtocol::AddressType_t | peerAddrType, | ||
const BLEProtocol::AddressBytes_t | peerAddr, | ||
BLEProtocol::AddressType_t | ownAddrType, | ||
const BLEProtocol::AddressBytes_t | ownAddr, | ||
const ConnectionParams_t * | connectionParams | ||
) |
Notify all registered connection event handlers of a connection event.
- Attention:
- This function is meant to be called from the BLE stack specific implementation when a connection event occurs.
- Parameters:
-
[in] handle Handle of the new connection. [in] role Role of this BLE device in the connection. [in] peerAddrType Address type of the connected peer. [in] peerAddr Address of the connected peer. [in] ownAddrType Address type this device uses for this connection. [in] ownAddr Address this device uses for this connection. [in] connectionParams Parameters of the connection.
Reimplemented from Gap.
Definition at line 925 of file GenericGap.cpp.
void processDisconnectionEvent | ( | Handle_t | handle, |
DisconnectionReason_t | reason | ||
) |
Notify all registered disconnection event handlers of a disconnection event.
- Attention:
- This function is meant to be called from the BLE stack specific implementation when a disconnection event occurs.
- Parameters:
-
[in] handle Handle of the terminated connection. [in] reason Reason of the disconnection.
Reimplemented from Gap.
Definition at line 957 of file GenericGap.cpp.
void processTimeoutEvent | ( | TimeoutSource_t | source ) | [inherited] |
ble_error_t reset | ( | void | ) | [virtual] |
ble_error_t setActiveScanning | ( | bool | activeScanning ) | [inherited] |
Enable or disable active scanning.
- Parameters:
-
[in] activeScanning If set to true, then the scanner sends scan requests to a scannable or connectable advertiser. If set to false then the scanner does not send any request during the scan procedure.
- Returns:
- BLE_ERROR_NONE if active scanning was successfully set.
- Note:
- If scanning is already in progress, then active scanning is enabled for the underlying BLE stack.
ble_error_t setAddress | ( | BLEProtocol::AddressType_t | type, |
const BLEProtocol::AddressBytes_t | address | ||
) | [virtual] |
ble_error_t setAdvertisingData | ( | const GapAdvertisingData & | advData, |
const GapAdvertisingData & | scanResponse | ||
) | [virtual] |
void setAdvertisingInterval | ( | uint16_t | interval ) | [inherited] |
Set the advertising interval.
- Parameters:
-
[in] interval Advertising interval in units of milliseconds. Advertising is disabled if interval is 0. If interval is smaller than the minimum supported value, then the minimum supported value is used instead. This minimum value can be discovered using getMinAdvertisingInterval().
This field must be set to 0 if connectionMode is equal to ADV_CONNECTABLE_DIRECTED.
- Note:
- Decreasing this value allows central devices to detect a peripheral faster, at the expense of the radio using more power due to the higher data transmit rate.
void setAdvertisingParams | ( | const GapAdvertisingParams & | newParams ) | [inherited] |
ble_error_t setAdvertisingPayload | ( | const GapAdvertisingData & | payload ) | [inherited] |
ble_error_t setAdvertisingPolicyMode | ( | AdvertisingPolicyMode_t | mode ) | [virtual] |
- See also:
- Gap::setAdvertisingPolicyMode
Reimplemented from Gap.
Definition at line 763 of file GenericGap.cpp.
void setAdvertisingTimeout | ( | uint16_t | timeout ) | [inherited] |
void setAdvertisingType | ( | GapAdvertisingParams::AdvertisingType_t | advType ) | [inherited] |
ble_error_t setAppearance | ( | GapAdvertisingData::Appearance | appearance ) | [virtual] |
ble_error_t setDeviceName | ( | const uint8_t * | deviceName ) | [virtual] |
ble_error_t setInitiatorPolicyMode | ( | InitiatorPolicyMode_t | mode ) | [virtual] |
- See also:
- Gap::setInitiatorPolicyMode
Reimplemented from Gap.
Definition at line 783 of file GenericGap.cpp.
ble_error_t setPreferredConnectionParams | ( | const ConnectionParams_t * | params ) | [virtual] |
- See also:
- Gap::setPreferredConnectionParams
Reimplemented from Gap.
Definition at line 580 of file GenericGap.cpp.
ble_error_t setScanInterval | ( | uint16_t | interval ) | [inherited] |
Set the interval parameter used during scanning procedures.
- Parameters:
-
[in] interval Interval in ms between the start of two consecutive scan windows. That value is greater or equal to the scan window value. The maximum allowed value is 10.24ms.
- Returns:
- BLE_ERROR_NONE if the scan interval was correctly set.
ble_error_t setScanningPolicyMode | ( | ScanningPolicyMode_t | mode ) | [virtual] |
- See also:
- Gap::setScanningPolicyMode
Reimplemented from Gap.
Definition at line 773 of file GenericGap.cpp.
ble_error_t setScanParams | ( | uint16_t | interval = GapScanningParams::SCAN_INTERVAL_MAX , |
uint16_t | window = GapScanningParams::SCAN_WINDOW_MAX , |
||
uint16_t | timeout = 0 , |
||
bool | activeScanning = false |
||
) | [inherited] |
Set the parameters used during a scan procedure.
- Parameters:
-
[in] interval in ms between the start of two consecutive scan windows. That value is greater or equal to the scan window value. The maximum allowed value is 10.24ms. [in] window Period in ms during which the scanner listens to advertising channels. That value is in the range 2.5ms to 10.24s. [in] timeout Duration in seconds of the scan procedure if any. The special value 0 disable specific duration of the scan procedure. [in] activeScanning If set to true, then the scanner sends scan requests to a scannable or connectable advertiser. If set to false, then the scanner does not send any request during the scan procedure.
- Returns:
- BLE_ERROR_NONE if the scan parameters were correctly set.
- Note:
- The scanning window divided by the interval determines the duty cycle for scanning. For example, if the interval is 100ms and the window is 10ms, then the controller scans for 10 percent of the time.
- If the interval and the window are set to the same value, then the device scans continuously during the scan procedure. The scanning frequency changes at every interval.
- Once the scanning parameters have been configured, scanning can be enabled by using startScan().
- The scan interval and window are recommendations to the BLE stack.
ble_error_t setScanTimeout | ( | uint16_t | timeout ) | [inherited] |
Set the timeout parameter used during scanning procedures.
- Parameters:
-
[in] timeout Duration in seconds of the scan procedure if any. The special value 0 disables specific duration of the scan procedure.
- Returns:
- BLE_ERROR_NONE if the scan timeout was correctly set.
- Note:
- If scanning is already active, the updated value of scanTimeout is propagated to the underlying BLE stack.
ble_error_t setScanWindow | ( | uint16_t | window ) | [inherited] |
Set the window parameter used during scanning procedures.
- Parameters:
-
[in] window Period in ms during which the scanner listens to advertising channels. That value is in the range 2.5ms to 10.24s.
- Returns:
- BLE_ERROR_NONE if the scan window was correctly set.
- Note:
- If scanning is already active, the updated value of scanWindow is propagated to the underlying BLE stack.
ble_error_t setTxPower | ( | int8_t | txPower ) | [virtual] |
ble_error_t setWhitelist | ( | const Whitelist_t & | whitelist ) | [virtual] |
ble_error_t startAdvertising | ( | void | ) | [inherited] |
ble_error_t startAdvertising | ( | const GapAdvertisingParams & | params ) | [virtual] |
ble_error_t startRadioScan | ( | const GapScanningParams & | scanningParams ) | [virtual] |
ble_error_t startScan | ( | T * | object, |
void(T::*)(const AdvertisementCallbackParams_t *params) | callbackMember | ||
) | [inherited] |
Start the scanning procedure.
Packets received during the scan procedure are forwarded to the scan packet handler passed as argument to this function.
- Parameters:
-
[in] object Instance used to invoke callbackMember
.[in] callbackMember Advertisement packet event handler. Upon reception of an advertising packet, the packet is forwarded to callback
invoked fromobject
.
- Returns:
- BLE_ERROR_NONE if the device successfully started the scan procedure.
- Note:
- The parameters used by the procedure are defined by setScanParams().
ble_error_t startScan | ( | void(*)(const AdvertisementCallbackParams_t *params) | callback ) | [inherited] |
Start the scanning procedure.
Packets received during the scan procedure are forwarded to the scan packet handler passed as argument to this function.
- Parameters:
-
[in] callback Advertisement packet event handler. Upon reception of an advertising packet, the packet is forwarded to callback
.
- Returns:
- BLE_ERROR_NONE if the device successfully started the scan procedure.
- Note:
- The parameters used by the procedure are defined by setScanParams().
ble_error_t stopAdvertising | ( | void | ) | [virtual] |
- See also:
- Gap::stopAdvertising
Reimplemented from Gap.
Definition at line 476 of file GenericGap.cpp.
ble_error_t stopScan | ( | ) | [virtual] |
ble_error_t updateAdvertisingPayload | ( | GapAdvertisingData::DataType | type, |
const uint8_t * | data, | ||
uint8_t | len | ||
) | [inherited] |
Update a particular field in the advertising payload.
A call to this function is equivalent to:
Gap ⪆ GapAdvertisingData payload = gap.getAdvertisingPayload(); payload.updateData(type, data, len); gap.setAdvertisingPayload(payload);
- Parameters:
-
[in] type Id of the field to update. [in] data data buffer containing the new value of the field. [in] len Length of the data buffer.
- Note:
- If advertisements are enabled, then the update takes effect immediately.
- Returns:
- BLE_ERROR_NONE if the advertisement payload was updated based on matching AD type; otherwise, an appropriate error.
ble_error_t updateConnectionParams | ( | Handle_t | handle, |
const ConnectionParams_t * | params | ||
) | [virtual] |
- See also:
- Gap::updateConnectionParams
Reimplemented from Gap.
Definition at line 552 of file GenericGap.cpp.
Field Documentation
GapAdvertisingParams _advParams [protected, inherited] |
GapAdvertisingData _advPayload [protected, inherited] |
GapScanningParams _scanningParams [protected, inherited] |
GapAdvertisingData _scanResponse [protected, inherited] |
const unsigned ADDR_LEN = BLEProtocol::ADDR_LEN [static, inherited] |
ConnectionEventCallbackChain_t connectionCallChain [protected, inherited] |
uint8_t connectionCount [protected, inherited] |
DisconnectionEventCallbackChain_t disconnectionCallChain [protected, inherited] |
AdvertisementReportCallback_t onAdvertisementReport [protected, inherited] |
RadioNotificationEventCallback_t radioNotificationCallback [protected, inherited] |
bool scanningActive [protected, inherited] |
GapState_t state [protected, inherited] |
TimeoutEventCallbackChain_t timeoutCallbackChain [protected, inherited] |
const uint16_t UNIT_1_25_MS = 1250 [static, inherited] |
Generated on Tue Jul 12 2022 15:18:06 by
