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
source§impl LmpFeatures
impl LmpFeatures
sourcepub const fn bits(&self) -> u64
pub const fn bits(&self) -> u64
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
sourcepub const fn from_bits(bits: u64) -> Option<Self>
pub const fn from_bits(bits: u64) -> Option<Self>
Convert from a bits value.
This method will return None if any unknown bits are set.
sourcepub const fn from_bits_truncate(bits: u64) -> Self
pub const fn from_bits_truncate(bits: u64) -> Self
Convert from a bits value, unsetting any unknown bits.
sourcepub const fn from_bits_retain(bits: u64) -> Self
pub const fn from_bits_retain(bits: u64) -> Self
Convert from a bits value exactly.
sourcepub fn from_name(name: &str) -> Option<Self>
pub fn from_name(name: &str) -> Option<Self>
Get a flags value with the bits of a flag with the given name set.
This method will return None if name is empty or doesn’t
correspond to any named flag.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
remove won’t truncate other, but the ! operator will.
sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Call insert when value is true or remove when value is false.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
The bitwise and (&) of the bits in two flags values.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
The bitwise or (|) of the bits in two flags values.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
The bitwise exclusive-or (^) of the bits in two flags values.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
The bitwise negation (!) of the bits in a flags value, truncating the result.
source§impl LmpFeatures
impl LmpFeatures
sourcepub const fn iter(&self) -> Iter<LmpFeatures>
pub const fn iter(&self) -> Iter<LmpFeatures>
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
sourcepub const fn iter_names(&self) -> IterNames<LmpFeatures>
pub const fn iter_names(&self) -> IterNames<LmpFeatures>
Yield a set of contained named flags values.
This method is like iter, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations§
source§impl Binary for LmpFeatures
impl Binary for LmpFeatures
source§impl BitAnd for LmpFeatures
impl BitAnd for LmpFeatures
source§impl BitAndAssign for LmpFeatures
impl BitAndAssign for LmpFeatures
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&) of the bits in two flags values.
source§impl BitOr for LmpFeatures
impl BitOr for LmpFeatures
source§fn bitor(self, other: LmpFeatures) -> Self
fn bitor(self, other: LmpFeatures) -> Self
The bitwise or (|) of the bits in two flags values.
§type Output = LmpFeatures
type Output = LmpFeatures
| operator.source§impl BitOrAssign for LmpFeatures
impl BitOrAssign for LmpFeatures
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|) of the bits in two flags values.
source§impl BitXor for LmpFeatures
impl BitXor for LmpFeatures
source§impl BitXorAssign for LmpFeatures
impl BitXorAssign for LmpFeatures
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^) of the bits in two flags values.
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)
The bitwise or (|) of the bits in each flags value.
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_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<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,
source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|) of the bits in two flags values.source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!). Read moresource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^) of the bits in two flags values.source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&) of the bits in two flags values.source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!). Read moresource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^) of the bits in two flags values.source§fn complement(self) -> Self
fn complement(self) -> Self
!) of the bits in a flags value, truncating the result.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
The bitwise or (|) of the bits in each flags value.
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 for LmpFeatures
impl PartialEq 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 for LmpFeatures
impl Sub for LmpFeatures
source§fn sub(self, other: Self) -> Self
fn sub(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
§type Output = LmpFeatures
type Output = LmpFeatures
- operator.source§impl SubAssign for LmpFeatures
impl SubAssign for LmpFeatures
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.