Struct stm32wb_hci::event::command::LmpFeatures
source · pub struct LmpFeatures(_);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
source§impl LmpFeatures
impl LmpFeatures
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 fn from_bits_retain(bits: u64) -> Self
pub const fn from_bits_retain(bits: u64) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
sourcepub fn from_name(name: &str) -> Option<Self>
pub fn from_name(name: &str) -> Option<Self>
Get the value for a flag from its stringified name.
Names are case-sensitive, so must correspond exactly to the identifier given to the flag.
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 insert(&mut self, other: Self)
pub fn insert(&mut self, other: Self)
Inserts the specified flags in-place.
This method is equivalent to union.
sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
Removes the specified flags in-place.
This method is equivalent to difference.
sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
Toggles the specified flags in-place.
This method is equivalent to symmetric_difference.
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.
Calculating self bitwise and (&) other, including
any bits that don’t correspond to a defined flag.
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.
Calculates self bitwise or (|) other, including
any bits that don’t correspond to a defined flag.
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.
Calculates self bitwise and (&!) the bitwise negation of other,
including any bits that don’t correspond to a defined flag.
This method is not equivalent to a & !b when there are bits set that
don’t correspond to a defined flag. The ! operator will unset any
bits that don’t correspond to a flag, so they’ll always be unset by a &! b,
but respected by a.difference(b).
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.
Calculates self bitwise exclusive or (^) other,
including any bits that don’t correspond to a defined flag.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Calculates the bitwise negation (!) of self,
unsetting any bits that don’t correspond to a defined flag.
source§impl LmpFeatures
impl LmpFeatures
sourcepub const fn iter(&self) -> Iter<LmpFeatures>
pub const fn iter(&self) -> Iter<LmpFeatures>
Iterate over enabled flag values.
sourcepub const fn iter_names(&self) -> IterNames<LmpFeatures>
pub const fn iter_names(&self) -> IterNames<LmpFeatures>
Iterate over enabled flag values with their stringified names.
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 Flags for LmpFeatures
impl Flags for LmpFeatures
source§const FLAGS: &'static [Flag<LmpFeatures>] = _
const FLAGS: &'static [Flag<LmpFeatures>] = _
source§fn from_bits_retain(bits: u64) -> LmpFeatures
fn from_bits_retain(bits: u64) -> LmpFeatures
source§fn from_bits(bits: Self::Bits) -> Option<Self>
fn from_bits(bits: Self::Bits) -> Option<Self>
source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere Self: Sized,
true if there are flags common to both self and other.source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere Self: Sized,
true if all of the flags in other are contained within self.source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where Self: Sized,
source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where Self: Sized,
source§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where Self: Sized,
source§fn set(&mut self, other: Self, value: bool)where
Self: Sized,
fn set(&mut self, other: Self, value: bool)where Self: Sized,
source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
self and other.source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
self and other.source§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
self and other.source§fn complement(self) -> Self
fn complement(self) -> Self
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 IntoIterator for LmpFeatures
impl IntoIterator 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 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 PublicFlags for LmpFeatures
impl PublicFlags for LmpFeatures
source§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.