Struct stm32wb_hci::event::command::LmpFeatures
source · pub struct LmpFeatures { /* private fields */ }Expand description
See the Bluetooth Specification, v4.1 or later, Vol 2, Part C, Section 3.3 (Table 3.2).
Implementations§
source§impl LmpFeatures
impl LmpFeatures
sourcepub const THREE_SLOT_PACKETS: Self = _
pub const THREE_SLOT_PACKETS: Self = _
3-slot packets
sourcepub const FIVE_SLOT_PACKETS: Self = _
pub const FIVE_SLOT_PACKETS: Self = _
5-slot packets
sourcepub const ENCRYPTION: Self = _
pub const ENCRYPTION: Self = _
Encryption
sourcepub const SLOT_OFFSET: Self = _
pub const SLOT_OFFSET: Self = _
Slot offset
sourcepub const TIMING_ACCURACY: Self = _
pub const TIMING_ACCURACY: Self = _
Timing accuracy
sourcepub const ROLE_SWITCH: Self = _
pub const ROLE_SWITCH: Self = _
Role switch
sourcepub const SNIFF_MODE: Self = _
pub const SNIFF_MODE: Self = _
Sniff mode
sourcepub const POWER_CONTROL_REQUESTS: Self = _
pub const POWER_CONTROL_REQUESTS: Self = _
Power control requests
sourcepub const CHANNEL_QUALITY_DRIVEN_DATA_RATE_CQDDR: Self = _
pub const CHANNEL_QUALITY_DRIVEN_DATA_RATE_CQDDR: Self = _
Channel quality driven data rate (CQDDR)
sourcepub const HV2_PACKETS: Self = _
pub const HV2_PACKETS: Self = _
HV2 packets
sourcepub const HV3_PACKETS: Self = _
pub const HV3_PACKETS: Self = _
HV3 packets
sourcepub const MU_LAW_LOG_SYNCHRONOUS_DATA: Self = _
pub const MU_LAW_LOG_SYNCHRONOUS_DATA: Self = _
μ-law log synchronous data
sourcepub const A_LAW_LOG_SYNCHRONOUS_DATA: Self = _
pub const A_LAW_LOG_SYNCHRONOUS_DATA: Self = _
A-law log synchronous data
sourcepub const CVSD_SYNCHRONOUS_DATA: Self = _
pub const CVSD_SYNCHRONOUS_DATA: Self = _
CVSD synchronous data
sourcepub const PAGING_PARAMETER_NEGOTIATION: Self = _
pub const PAGING_PARAMETER_NEGOTIATION: Self = _
Paging parameter negotiation
sourcepub const POWER_CONTROL: Self = _
pub const POWER_CONTROL: Self = _
Power control
sourcepub const TRANSPARENT_SYNCHRONOUS_DATA: Self = _
pub const TRANSPARENT_SYNCHRONOUS_DATA: Self = _
Transparent synchronous data
sourcepub const FLOW_CONTROL_LAG_LSB: Self = _
pub const FLOW_CONTROL_LAG_LSB: Self = _
Flow control lag (least significant bit)
sourcepub const FLOW_CONTROL_LAG_MID: Self = _
pub const FLOW_CONTROL_LAG_MID: Self = _
Flow control lag (middle bit)
sourcepub const FLOW_CONTROL_LAG_MSB: Self = _
pub const FLOW_CONTROL_LAG_MSB: Self = _
Flow control lag (most significant bit)
sourcepub const BROADCAST_ENCRYPTION: Self = _
pub const BROADCAST_ENCRYPTION: Self = _
Broadcast Encryption
sourcepub const ENHANCED_DATA_RATE_ACL_2_MB_PER_S_MODE: Self = _
pub const ENHANCED_DATA_RATE_ACL_2_MB_PER_S_MODE: Self = _
Enhanced Data Rate ACL 2 Mb/s mode
sourcepub const ENHANCED_DATA_RATE_ACL_3_MB_PER_S_MODE: Self = _
pub const ENHANCED_DATA_RATE_ACL_3_MB_PER_S_MODE: Self = _
Enhanced Data Rate ACL 3 Mb/s mode
sourcepub const ENHANCED_INQUIRY_SCAN: Self = _
pub const ENHANCED_INQUIRY_SCAN: Self = _
Enhanced inquiry scan
sourcepub const INTERLACED_INQUIRY_SCAN: Self = _
pub const INTERLACED_INQUIRY_SCAN: Self = _
Interlaced inquiry scan
sourcepub const INTERLACED_PAGE_SCAN: Self = _
pub const INTERLACED_PAGE_SCAN: Self = _
Interlaced page scan
sourcepub const RSSI_WITH_INQUIRY_RESULTS: Self = _
pub const RSSI_WITH_INQUIRY_RESULTS: Self = _
RSSI with inquiry results
sourcepub const EXTENDED_SCO_LINK_EV3_PACKETS: Self = _
pub const EXTENDED_SCO_LINK_EV3_PACKETS: Self = _
Extended SCO link (EV3 packets)
sourcepub const EV4_PACKETS: Self = _
pub const EV4_PACKETS: Self = _
EV4 packets
sourcepub const EV5_PACKETS: Self = _
pub const EV5_PACKETS: Self = _
EV5 packets
sourcepub const AFH_CAPABLE_PERIPHERAL: Self = _
pub const AFH_CAPABLE_PERIPHERAL: Self = _
AFH capable peripheral
sourcepub const AFH_CLASSIFICATION_PERIPHERAL: Self = _
pub const AFH_CLASSIFICATION_PERIPHERAL: Self = _
AFH classification peripheral
sourcepub const BR_EDR_NOT_SUPPORTED: Self = _
pub const BR_EDR_NOT_SUPPORTED: Self = _
BR/EDR Not Supported
sourcepub const LE_SUPPORTED_BY_CONTROLLER: Self = _
pub const LE_SUPPORTED_BY_CONTROLLER: Self = _
LE Supported (Controller)
sourcepub const THREE_SLOT_ENHANCED_DATA_RATE_ACL_PACKETS: Self = _
pub const THREE_SLOT_ENHANCED_DATA_RATE_ACL_PACKETS: Self = _
3-slot Enhanced Data Rate ACL packets
sourcepub const FIVE_SLOT_ENHANCED_DATA_RATE_ACL_PACKETS: Self = _
pub const FIVE_SLOT_ENHANCED_DATA_RATE_ACL_PACKETS: Self = _
5-slot Enhanced Data Rate ACL packets
sourcepub const SNIFF_SUBRATING: Self = _
pub const SNIFF_SUBRATING: Self = _
Sniff subrating
sourcepub const PAUSE_ENCRYPTION: Self = _
pub const PAUSE_ENCRYPTION: Self = _
Pause encryption
sourcepub const AFH_CAPABLE_CENTRAL_DEVICE: Self = _
pub const AFH_CAPABLE_CENTRAL_DEVICE: Self = _
AFH capable central device
sourcepub const AFH_CLASSIFICATION_CENTRAL_DEVICE: Self = _
pub const AFH_CLASSIFICATION_CENTRAL_DEVICE: Self = _
AFH classification central device
sourcepub const ENHANCED_DATA_RATE_ESCO_2_MB_PER_S_MODE: Self = _
pub const ENHANCED_DATA_RATE_ESCO_2_MB_PER_S_MODE: Self = _
Enhanced Data Rate eSCO 2 Mb/s mode
sourcepub const ENHANCED_DATA_RATE_ESCO_3_MB_PER_S_MODE: Self = _
pub const ENHANCED_DATA_RATE_ESCO_3_MB_PER_S_MODE: Self = _
Enhanced Data Rate eSCO 3 Mb/s mode
sourcepub const THREE_SLOT_ENHANCED_DATA_RATE_ESCO_PACKETS: Self = _
pub const THREE_SLOT_ENHANCED_DATA_RATE_ESCO_PACKETS: Self = _
3-slot Enhanced Data Rate eSCO packets
sourcepub const EXTENDED_INQUIRY_RESPONSE: Self = _
pub const EXTENDED_INQUIRY_RESPONSE: Self = _
Extended Inquiry Response
sourcepub const SIMULTANEOUS_LE_AND_BR_EDR_TO_SAME_DEVICE_CAPABLE: Self = _
pub const SIMULTANEOUS_LE_AND_BR_EDR_TO_SAME_DEVICE_CAPABLE: Self = _
Simultaneous LE and BR/EDR to Same Device Capable (Controller)
sourcepub const SECURE_SIMPLE_PAIRING: Self = _
pub const SECURE_SIMPLE_PAIRING: Self = _
Secure Simple Pairing
sourcepub const ENCAPSULATED_PDU: Self = _
pub const ENCAPSULATED_PDU: Self = _
Encapsulated PDU
sourcepub const ERRONEOUS_DATA_REPORTING: Self = _
pub const ERRONEOUS_DATA_REPORTING: Self = _
Erroneous Data Reporting
sourcepub const NON_FLUSHABLE_PACKET_BOUNDARY_FLAG: Self = _
pub const NON_FLUSHABLE_PACKET_BOUNDARY_FLAG: Self = _
Non-flushable Packet Boundary Flag
sourcepub const LINK_SUPERVISION_TIMEOUT_CHANGED_EVENT: Self = _
pub const LINK_SUPERVISION_TIMEOUT_CHANGED_EVENT: Self = _
Link Supervision Timeout Changed Event
sourcepub const INQUIRY_TX_POWER_LEVEL: Self = _
pub const INQUIRY_TX_POWER_LEVEL: Self = _
Inquiry TX Power Level
sourcepub const ENHANCED_POWER_CONTROL: Self = _
pub const ENHANCED_POWER_CONTROL: Self = _
Enhanced Power Control
sourcepub const EXTENDED_FEATURES: Self = _
pub const EXTENDED_FEATURES: Self = _
Extended features
sourcepub const fn from_bits(bits: u64) -> Option<Self>
pub const fn from_bits(bits: u64) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u64) -> Self
pub const fn from_bits_truncate(bits: u64) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u64) -> Self
pub const unsafe fn from_bits_unchecked(bits: u64) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Safety
The caller of the bitflags! macro can chose to allow or
disallow extra bits for their bitflags type.
The caller of from_bits_unchecked() has to ensure that
all bits correspond to a defined flag or that extra bits
are valid for this bitflags type.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true if there are flags common to both self and other.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true if all of the flags in other are contained within self.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self and
other.
Specifically, the returned set contains only the flags which are
present in both self and other.
This is equivalent to using the & operator (e.g.
ops::BitAnd), as in flags & other.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self and other.
Specifically, the returned set contains all flags which are
present in either self or other, including any which are
present in both (see Self::symmetric_difference if that
is undesirable).
This is equivalent to using the | operator (e.g.
ops::BitOr), as in flags | other.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self and other.
Specifically, the returned set contains all flags present in
self, except for the ones present in other.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other (and this syntax is also supported).
This is equivalent to using the - operator (e.g.
ops::Sub), as in flags - other.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the symmetric difference between the flags
in self and other.
Specifically, the returned set contains the flags present which
are present in self or other, but that are not present in
both. Equivalently, it contains the flags present in exactly
one of the sets self and other.
This is equivalent to using the ^ operator (e.g.
ops::BitXor), as in flags ^ other.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Specifically, the returned set contains all the flags which are
not set in self, but which are allowed for this type.
Alternatively, it can be thought of as the set difference
between Self::all() and self (e.g. Self::all() - self)
This is equivalent to using the ! operator (e.g.
ops::Not), as in !flags.
Trait Implementations§
source§impl Binary for LmpFeatures
impl Binary for LmpFeatures
source§impl BitAnd<LmpFeatures> for LmpFeatures
impl BitAnd<LmpFeatures> for LmpFeatures
source§impl BitAndAssign<LmpFeatures> for LmpFeatures
impl BitAndAssign<LmpFeatures> for LmpFeatures
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
source§impl BitOr<LmpFeatures> for LmpFeatures
impl BitOr<LmpFeatures> for LmpFeatures
source§fn bitor(self, other: LmpFeatures) -> Self
fn bitor(self, other: LmpFeatures) -> Self
Returns the union of the two sets of flags.
§type Output = LmpFeatures
type Output = LmpFeatures
| operator.source§impl BitOrAssign<LmpFeatures> for LmpFeatures
impl BitOrAssign<LmpFeatures> for LmpFeatures
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXor<LmpFeatures> for LmpFeatures
impl BitXor<LmpFeatures> for LmpFeatures
source§impl BitXorAssign<LmpFeatures> for LmpFeatures
impl BitXorAssign<LmpFeatures> for LmpFeatures
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for LmpFeatures
impl Clone for LmpFeatures
source§fn clone(&self) -> LmpFeatures
fn clone(&self) -> LmpFeatures
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for LmpFeatures
impl Debug for LmpFeatures
source§impl Default for LmpFeatures
impl Default for LmpFeatures
source§fn default() -> LmpFeatures
fn default() -> LmpFeatures
source§impl Extend<LmpFeatures> for LmpFeatures
impl Extend<LmpFeatures> for LmpFeatures
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)source§impl Format for LmpFeatures
impl Format for LmpFeatures
source§impl FromIterator<LmpFeatures> for LmpFeatures
impl FromIterator<LmpFeatures> for LmpFeatures
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
source§impl Hash for LmpFeatures
impl Hash for LmpFeatures
source§impl LowerHex for LmpFeatures
impl LowerHex for LmpFeatures
source§impl Not for LmpFeatures
impl Not for LmpFeatures
source§impl Octal for LmpFeatures
impl Octal for LmpFeatures
source§impl Ord for LmpFeatures
impl Ord for LmpFeatures
source§fn cmp(&self, other: &LmpFeatures) -> Ordering
fn cmp(&self, other: &LmpFeatures) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<LmpFeatures> for LmpFeatures
impl PartialEq<LmpFeatures> for LmpFeatures
source§fn eq(&self, other: &LmpFeatures) -> bool
fn eq(&self, other: &LmpFeatures) -> bool
self and other values to be equal, and is used
by ==.source§impl PartialOrd<LmpFeatures> for LmpFeatures
impl PartialOrd<LmpFeatures> for LmpFeatures
source§fn partial_cmp(&self, other: &LmpFeatures) -> Option<Ordering>
fn partial_cmp(&self, other: &LmpFeatures) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read moresource§impl Sub<LmpFeatures> for LmpFeatures
impl Sub<LmpFeatures> for LmpFeatures
source§impl SubAssign<LmpFeatures> for LmpFeatures
impl SubAssign<LmpFeatures> for LmpFeatures
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.