Struct VS1053

Source
pub struct VS1053<BUS, CS, DC, REQ, DELAY> { /* private fields */ }

Implementations§

Source§

impl<BUS, CS, DC, REQ, DELAY> VS1053<BUS, CS, DC, REQ, DELAY>
where BUS: SpiBus, CS: OutputPin, DC: OutputPin, REQ: InputPin, DELAY: DelayNs,

Source

pub type Error = VS1053Error<<BUS as ErrorType>::Error, <CS as ErrorType>::Error, <DC as ErrorType>::Error>

Source

pub fn new(spi: BUS, cs: CS, dc: DC, req: REQ, delay: DELAY) -> Self

Source

pub fn get_data_request(&mut self) -> bool

can be used to external check if chip is ready to accept new data

Source

pub fn init(&mut self) -> Result<(), Self::Error>

Source

pub fn write(&mut self, buf: &[u8]) -> Result<(), Self::Error>

Source

pub fn get_volume_raw(&mut self) -> Result<u16, Self::Error>

direct read of SCI_VOL register

Source

pub fn set_volume_raw(&mut self, vol: u16) -> Result<(), Self::Error>

direct write to SCI_VOL register can be used to turn audio output off

Source

pub fn set_volume(&mut self, vol: u8) -> Result<(), Self::Error>

Set volume as % value. Both left and right. Input value is 0..100. 100 is the loudest.

Source

pub fn soft_reset(&mut self) -> Result<(), Self::Error>

Source

pub fn stop_play(&mut self) -> Result<(), Self::Error>

Stop/cancel playing current

Source

pub fn get_chip_connected(&mut self) -> Result<bool, Self::Error>

Test communication with chip

Source

pub fn get_chip_version(&mut self) -> Result<u16, Self::Error>

Get the Version Number for the VLSI chip from VLSI datasheet: 0 for VS1001, 1 for VS1011, 2 for VS1002, 3 for VS1003, 4 for VS1053 and VS8053, 5 for VS1033, 7 for VS1103, and 6 for VS1063.

Source

pub fn set_mp3_mode_on(&mut self) -> Result<(), Self::Error>

Depends on board defaults and can be optional Calls soft_reset

Source

pub fn set_stream_mode_on(&mut self) -> Result<(), Self::Error>

Source

pub fn set_stream_mode_off(&mut self) -> Result<(), Self::Error>

Source

pub fn load_default_patches(&mut self) -> Result<(), Self::Error>

Should only be called if chip version is 4

Trait Implementations§

Source§

impl<BUS: Clone, CS: Clone, DC: Clone, REQ: Clone, DELAY: Clone> Clone for VS1053<BUS, CS, DC, REQ, DELAY>

Source§

fn clone(&self) -> VS1053<BUS, CS, DC, REQ, DELAY>

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<BUS: Debug, CS: Debug, DC: Debug, REQ: Debug, DELAY: Debug> Debug for VS1053<BUS, CS, DC, REQ, DELAY>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<BUS: Copy, CS: Copy, DC: Copy, REQ: Copy, DELAY: Copy> Copy for VS1053<BUS, CS, DC, REQ, DELAY>

Auto Trait Implementations§

§

impl<BUS, CS, DC, REQ, DELAY> Freeze for VS1053<BUS, CS, DC, REQ, DELAY>
where BUS: Freeze, CS: Freeze, DC: Freeze, REQ: Freeze, DELAY: Freeze,

§

impl<BUS, CS, DC, REQ, DELAY> RefUnwindSafe for VS1053<BUS, CS, DC, REQ, DELAY>

§

impl<BUS, CS, DC, REQ, DELAY> Send for VS1053<BUS, CS, DC, REQ, DELAY>
where BUS: Send, CS: Send, DC: Send, REQ: Send, DELAY: Send,

§

impl<BUS, CS, DC, REQ, DELAY> Sync for VS1053<BUS, CS, DC, REQ, DELAY>
where BUS: Sync, CS: Sync, DC: Sync, REQ: Sync, DELAY: Sync,

§

impl<BUS, CS, DC, REQ, DELAY> Unpin for VS1053<BUS, CS, DC, REQ, DELAY>
where BUS: Unpin, CS: Unpin, DC: Unpin, REQ: Unpin, DELAY: Unpin,

§

impl<BUS, CS, DC, REQ, DELAY> UnwindSafe for VS1053<BUS, CS, DC, REQ, DELAY>
where BUS: UnwindSafe, CS: UnwindSafe, DC: UnwindSafe, REQ: UnwindSafe, DELAY: UnwindSafe,

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 u8)

🔬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.