17 #ifndef BLE_GAP_TYPES_H 18 #define BLE_GAP_TYPES_H 20 #include "ble/common/Duration.h" 21 #include "ble/common/Bounded.h" 22 #include "ble/SafeEnum.h" 60 typedef Duration<uint16_t, 10000, Range<0x00, 0xFFFF>, Value<uint16_t, 0x0000> >
scan_duration_t;
195 #if !defined(DOXYGEN_ONLY) 198 ADV_DIRECT_IND = 0x01,
200 ADV_NONCONN_IND = 0x03,
201 ADV_DIRECT_IND_LOW_DUTY_CYCLE = 0x04,
202 ADV_NONSCAN_IND = 0x05
223 INCOMPLETE_MORE_DATA = 0x01,
224 INCOMPLETE_DATA_TRUNCATED = 0x02
236 #if !defined(DOXYGEN_ONLY) 262 SCANNABLE_ADVERTISING_BIT = 1,
263 DIRECTED_ADVERTISING_BIT = 2,
264 SCAN_RESPONSE_BIT = 3,
266 DATA_STATUS_INDEX = 5,
267 DATA_STATUS_MASK = 0x03
272 #if !defined(DOXYGEN_ONLY) 290 return static_cast<bool>(value & (1 << CONNECTABLE_BIT));
299 return static_cast<bool>(value & (1 << SCANNABLE_ADVERTISING_BIT));
308 return static_cast<bool>(value & (1 << DIRECTED_ADVERTISING_BIT));
317 return static_cast<bool>(value & (1 << SCAN_RESPONSE_BIT));
326 return static_cast<bool>(value & (1 << LEGACY_PDU_BIT));
336 (value >> DATA_STATUS_INDEX) & DATA_STATUS_MASK
346 return data_status() == advertising_data_status_t::COMPLETE;
407 FILTER_SCAN_REQUESTS = 0x01,
413 FILTER_CONNECTION_REQUEST = 0x02,
419 FILTER_SCAN_AND_CONNECTION_REQUESTS = 0x03
449 FILTER_ADVERTISING = 0x01,
458 NO_FILTER_INCLUDE_UNRESOLVABLE_DIRECTED = 2,
470 FILTER_ADVERTISING_INCLUDE_UNRESOLVABLE_DIRECTED = 3
564 RESOLVABLE_PRIVATE_ADDRESS_PUBLIC_FALLBACK = 0x02,
571 RESOLVABLE_PRIVATE_ADDRESS_RANDOM_FALLBACK = 0x03,
687 #if !defined(DOXYGEN_ONLY) 740 #if !defined(DOXYGEN_ONLY) 762 AUTHENTICATION_FAILURE = 0x05,
767 USER_TERMINATION = 0x13,
772 LOW_RESOURCES = 0x14,
782 UNSUPPORTED_REMOTE_FEATURE = 0x1A,
787 PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = 0x29,
792 UNACCEPTABLE_CONNECTION_PARAMETERS = 0x3B
815 AUTHENTICATION_FAILURE = 0x05,
820 CONNECTION_TIMEOUT = 0x08,
825 REMOTE_USER_TERMINATED_CONNECTION = 0x13,
830 REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES = 0x14,
835 REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF = 0x15,
841 LOCAL_HOST_TERMINATED_CONNECTION = 0x16,
846 UNACCEPTABLE_CONNECTION_PARAMETERS = 0x3B
901 PERFORM_AUTHENTICATION_PROCEDURE
975 #endif //BLE_GAP_TYPES_H Disable duplicate filtering.
type
enumeration of initiator_filter_policy_t values.
type
struct scoped enum wrapped by the class
advertising_data_status_t data_status() const
Payload completeness status.
Duration< uint16_t, 10000, Range< 0x00, 0xFFFF >, Value< uint16_t, 0x0000 > > scan_duration_t
Scan process duration.
disconnection_reason_t(type value)
Construct a new instance of disconnection_reason_t.
Device is scannable but not connectable.
Advertising policy filter modes.
If a bond is present in the secure database and the address resolution fails, then reject the connect...
Device is not connectable and not scannable.
target_peer_address_type_t(type value)
Create a new target_peer_address_type_t.
Device is connectable, scannable and doesn't expect connection from a specific peer.
Duration< uint16_t, 10000, Range< 0x0A, 0x0C80 > > supervision_timeout_t
Time after which a connection is loss of devices have not exchanged data.
uint16_t periodic_sync_handle_t
Handle of a sync representing a periodic advertiser.
Enumeration of GAP roles.
Scanning policy filter mode.
type
enumeration of local_disconnection_reason_t values.
Perform the pairing procedure if the initiator resolvable address failed the resolution process...
Duration< uint16_t, 1250, Range< 0x06, 0xFFFF > > periodic_interval_t
Interval between two periodic advertising events.
type
enumeration of clock_accuracy_t values.
Do not resolve the address of the initiator and accept the connection request.
bool scannable_advertising() const
Is advertising scannable.
Enumeration of disconnection reasons received in a disconnection event.
Duration< uint16_t, 1250, Range< 0x06, 0x0C80 > > conn_interval_t
Time interval between two connection events.
bool scan_response() const
Is this a scan response.
Device is connectable and expects connection from a specific peer (sent at long user set intervals)...
Duration< uint16_t, 625, Range< 0, 0xFFFF > > conn_event_length_t
Duration of a connection event.
uint8_t advertising_sid_t
Identify an advertising SID.
scanning_filter_policy_t(type value)
Construct a new instance of scanning_filter_policy_t.
uint8_t value() const
Explicit access to the inner value of the SafeEnum instance.
type
enumeration of duplicates_filter_t values
type
enumeration of advertising_filter_policy_t values
Device is connectable and expects connection from a specific peer.
bool use_non_resolvable_random_address
Indicates if nonresolvable random address should be used when the central or observer sends scan requ...
Duration< uint16_t, 10000, Range< 0x0A, 0x4000 > > sync_timeout_t
Time after which a periodic sync link is considered lost if the receiver hasn't received anything fro...
clock_accuracy_t(type value)
Construct a new clock_accuracy_t value.
Used to indicate if the packet is complete and if it's truncated.
Helper class used to define safe enumerations.
int8_t rssi_t
Received signal strength.
Partial advertising payload, more to come.
SafeEnum(uint8_t value)
Construction of an enumeration value.
Type of an address to connect to.
Device is connectable, but not scannable and doesn't expect connection from a specific peer...
advertising_data_status_t(type value)
Construct a new advertising_data_status_t value.
advertising_filter_policy_t(type value)
Construct a advertising_filter_policy_t.
bool use_non_resolvable_random_address
Indicates if nonresolvable random address should be used when the peripheral advertises nonconnectabl...
int8_t advertising_power_t
Describe the advertising power.
Duration< uint16_t, 1280000, Range< 0x00, 0xFFFF > > scan_period_t
Time interval between two scan processes.
bool complete() const
Is payload complete.
Do not resolve the address received in advertising packets.
Enumeration of disconnection reasons that should be transmited to the peer.
resolution_strategy_t
Resolution strategy for initiator resolvable addresses when a connection request is received...
own_address_type_t(type value)
Construct a new instance of own_address_type_t.
connection_role_t(type value)
Construct a new instance of role_t.
duplicates_filter_t(type value)
Construct a new duplicates_filter_t value.
uint8_t advertising_handle_t
Handle of an advertising set.
Duration< uint16_t, 625, Range< 0x04, 0xFFFF > > scan_interval_t
Time interval between two scans.
Properties of an advertising event.
bool directed_advertising() const
Is advertising directed.
Resolve the resolvable addresses in the advertising packet and forward advertising packet to the appl...
initiator_filter_policy_t(type value)
Construct a initiator_filter_policy_t.
Duration< uint32_t, 625, Range< 0x20, 0xFFFFFF > > adv_interval_t
Time interval between two advertisements.
Scanning policy filter mode.
type
enumeration of target_peer_address_type_t values.
resolution_strategy_t
Resolution strategy of resolvable addresses received in advertising packets.
The whitelist is not used to determine which advertiser to connect to.
Advertising payload complete.
type
enumeration of advertising_type_t values
type
enumeration of advertising_data_status_t values
local_disconnection_reason_t(type value)
Construct a new instance of disconnection_reason_t.
Bounded< uint16_t, 0, 0x01F3 > slave_latency_t
Number of connection events that can be skipped by the slave.
bool more_data_to_come() const
Is there more data coming.
Encapsulates the peripheral advertising modes.
Accuracy of the master clock.
bool connectable() const
Is advertising connectable.
Duration< uint16_t, 625, Range< 0x04, 0xFFFF > > scan_window_t
Duration of a scan.
Privacy configuration of the central role.
advertising_type_t(type value)
Construct a new advertising_type_t value.
Enable duplicate filtering.
Privacy Configuration of the peripheral role.
bool truncated() const
Is the payload truncated.
type
enumeration of disconnection_reason_t values.
Type used to model the own address used during the following GAP operations: advertising, scanning and initiating.
Entry namespace for all BLE API definitions.
type
enumeration of scanning_filter_policy_t values
type
enumeration of own_address_type_t values.
uint16_t get_ppm()
Get clock accuracy.
bool legacy_advertising() const
Is this legacy advertising.
Duration< uint16_t, 10000, Range< 0x00, 0xFFFF >, Value< uint16_t, 0x0000 > > adv_duration_t
Advertising process duration.
Filter policy that you can use during connection initiation.