embassy-stm32

Crates

git

Versions

stm32u5g9nj

Flavors

๐Ÿ“ฃ We want to hear from you! Fill the Rust Embedded 2024 micro-survey.

Struct embassy_stm32::usb::Config

ยท
#[non_exhaustive]
pub struct Config { pub vbus_detection: bool, pub xcvrdly: bool, }
Expand description

USB driver config.

Fields (Non-exhaustive)ยง

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
ยงvbus_detection: bool

Enable VBUS detection.

The USB spec requires USB devices monitor for USB cable plug/unplug and react accordingly. This is done by checking whether there is 5V on the VBUS pin or not.

If your device is bus-powered (powers itself from the USB host via VBUS), then this is optional. (If thereโ€™s no power in VBUS your device would be off anyway, so itโ€™s fine to always assume thereโ€™s power in VBUS, i.e. the USB cable is always plugged in.)

If your device is self-powered (i.e. it gets power from a source other than the USB cable, and therefore can stay powered through USB cable plug/unplug) then you MUST set this to true.

If you set this to true, you must connect VBUS to PA9 for FS, PB13 for HS, possibly with a voltage divider. See ST application note AN4879 and the reference manual for more details.

ยงxcvrdly: bool

Enable transceiver delay.

Some ULPI PHYs like the Microchip USB334x series require a delay between the ULPI register write that initiates the HS Chirp and the subsequent transmit command, otherwise the HS Chirp does not get executed and the deivce enumerates in FS mode. Some USB Link IP like those in the STM32H7 series support adding this delay to work with the affected PHYs.

Trait Implementationsยง

sourceยง

impl Clone for Config

sourceยง

fn clone(&self) -> Config

Returns a copy of the value. Read more
1.0.0 ยท sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
sourceยง

impl Debug for Config

sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
sourceยง

impl Default for Config

sourceยง

fn default() -> Config

Returns the โ€œdefault valueโ€ for a type. Read more
sourceยง

impl PartialEq for Config

sourceยง

fn eq(&self, other: &Config) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
sourceยง

impl Copy for Config

sourceยง

impl Eq for Config

sourceยง

impl StructuralPartialEq for Config

Auto Trait Implementationsยง

Blanket Implementationsยง

sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
sourceยง

impl<T> CloneToUninit for T
where T: Clone,

sourceยง

unsafe fn clone_to_uninit(&self, dst: *mut T)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
sourceยง

impl<T> From<T> for T

sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.