minidsp::commands

Enum Commands

Source
pub enum Commands {
Show 21 variants ReadHardwareId, ReadFloats { addr: u16, len: u8, }, WriteMemory { addr: u16, data: BytesWrap, }, ReadMemory { addr: u16, size: u8, }, SetConfig { config: u8, reset: bool, }, SetSource { source: u8, }, SetMute { value: bool, }, SetVolume { value: Gain, }, WriteBiquad { addr: Addr, data: [Value; 5], }, WriteBiquadBypass { addr: Addr, value: bool, }, Read { addr: Addr, len: u8, }, Write { addr: Addr, value: Value, }, FirLoadStart { index: u8, }, FirLoadData { index: u8, data: Vec<f32>, }, FirLoadEnd, DiracBypass { value: u8, }, BulkLoad { payload: BytesWrap, }, BulkLoadFilterData { payload: BytesWrap, }, Unk07 { payload: u8, }, SwitchMux { addr: Addr, max: u8, arg: bool, slot: u8, }, Unknown { cmd_id: u8, payload: BytesWrap, },
}

Variants§

§

ReadHardwareId

0x31: Read hardware id

§

ReadFloats

0x14: Reads float data from a given base address. Max length is 14

Fields

§addr: u16
§len: u8
§

WriteMemory

0x04: Writes byte data to the given address

Fields

§addr: u16
§

ReadMemory

0x05: Reads byte data from the given address. Max read sizes are 61 bytes. (64 - crc - len - cmd)

Fields

§addr: u16
§size: u8
§

SetConfig

0x25: Sets the current configuration

Fields

§config: u8
§reset: bool
§

SetSource

0x34: Unary command to set the current source

Fields

§source: u8
§

SetMute

0x17 Unary command to set the master mute setting

Fields

§value: bool
§

SetVolume

0x42: Set master volume

Fields

§value: Gain
§

WriteBiquad

0x30: Write biquad data

Fields

§addr: Addr
§data: [Value; 5]
§

WriteBiquadBypass

0x19: Toggle biquad filter bypass

Fields

§addr: Addr
§value: bool
§

Read

0x02: Read DSP data

Fields

§addr: Addr
§len: u8
§

Write

0x13: Write dsp data

Fields

§addr: Addr
§value: Value
§

FirLoadStart

0x39: Start FIR load

Fields

§index: u8
§

FirLoadData

0x3a: FIR Data

Fields

§index: u8
§data: Vec<f32>
§

FirLoadEnd

0x3b: FIR Data Completed

§

DiracBypass

Fields

§value: u8
§

BulkLoad

0x12: Seen when restoring a configuration

Fields

§payload: BytesWrap
§

BulkLoadFilterData

0x06: Seen after 0x12 in configuration restore

Fields

§payload: BytesWrap
§

Unk07

Fields

§payload: u8
§

SwitchMux

Fields

§addr: Addr
§max: u8
§arg: bool
§slot: u8
§

Unknown

Fields

§cmd_id: u8
§payload: BytesWrap

Implementations§

Source§

impl Commands

Source

pub fn from_bytes(frame: Bytes) -> Result<Commands, ProtocolError>

Source

pub fn to_bytes(&self) -> Bytes

Source

pub fn matches_response(&self, response: &Responses) -> bool

Source

pub fn mute(addr: Addr, value: bool) -> Commands

Trait Implementations§

Source§

impl Clone for Commands

Source§

fn clone(&self) -> Commands

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 Commands

Source§

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

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

impl Service<Commands> for MultiplexerService

Source§

type Response = Responses

Responses given by the service.
Source§

type Error = MiniDSPError

Errors produced by the service.
Source§

type Future = Pin<Box<dyn Future<Output = Result<<MultiplexerService as Service<Commands>>::Response, <MultiplexerService as Service<Commands>>::Error>> + Send>>

The future response value.
Source§

fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>

Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
Source§

fn call(&mut self, req: Commands) -> Self::Future

Process the request and return the response asynchronously. Read more
Source§

impl<Backend> Sink<Commands> for FrameCodec<Backend>
where Backend: Sink<Bytes>,

Source§

type Error = <Backend as Sink<Bytes>>::Error

The type of value produced by the sink when an error occurs.
Source§

fn poll_ready( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>

Attempts to prepare the Sink to receive a value. Read more
Source§

fn start_send(self: Pin<&mut Self>, item: Commands) -> Result<(), Self::Error>

Begin the process of sending a value to the sink. Each call to this function must be preceded by a successful call to poll_ready which returned Poll::Ready(Ok(())). Read more
Source§

fn poll_flush( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>

Flush any remaining output from this sink. Read more
Source§

fn poll_close( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<(), Self::Error>>

Flush any remaining output and close this sink, if necessary. Read more

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T