Struct Io14fwProtocol

Source
pub struct Io14fwProtocol;
Expand description

Protocol implementation specific to iO 14 FireWire.

Trait Implementations§

Source§

impl AlesisOperation for Io14fwProtocol

Source§

fn read_params( req: &FwReq, node: &FwNode, offset: usize, raw: &mut [u8], timeout_ms: u32, ) -> Result<(), Error>

Read from specific range of address.
Source§

fn write_params( req: &FwReq, node: &FwNode, offset: usize, raw: &mut [u8], timeout_ms: u32, ) -> Result<(), Error>

Write to specific range of address.
Source§

impl Debug for Io14fwProtocol

Source§

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

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

impl Default for Io14fwProtocol

Source§

fn default() -> Io14fwProtocol

Returns the “default value” for a type. Read more
Source§

impl IofwMeterSpecification for Io14fwProtocol

Source§

const ANALOG_INPUT_COUNT: usize = 4usize

The number of analog inputs.
Source§

const DIGITAL_B_INPUT_COUNT: usize = 2usize

The number of digital B inputs.
Source§

const STREAM_INPUT_COUNT: usize = 8usize

The number of stream inputs.
Source§

const DIGITAL_A_INPUT_COUNT: usize = 8usize

The number of digital A inputs.
Source§

const MIXER_OUTPUT_COUNT: usize = 8usize

The number of mixer outputs.
Source§

const LEVEL_MIN: i32 = 0i32

The minimum value of detected signal level.
Source§

const LEVEL_MAX: i32 = 32_767i32

The maximum value of detected signal level.
Source§

fn create_meter_params() -> IofwMeterParams

Instantiate state of meters.
Source§

impl IofwMixerSpecification for Io14fwProtocol

Source§

const ANALOG_INPUT_PAIR_COUNT: usize = 2usize

The number of analog input pairs.
Source§

const DIGITAL_B_INPUT_PAIR_COUNT: usize = 1usize

The number of digital input B pairs.
Source§

const STREAM_INPUT_PAIR_COUNT: usize = 4usize

The number of stream input pairs.
Source§

const DIGITAL_A_INPUT_PAIR_COUNT: usize = 4usize

The number of digital input A pairs.
Source§

const MIXER_OUTPUT_PAIR_COUNT: usize = 4usize

The number of mixer output pairs.
Source§

const GAIN_MIN: i32 = 0i32

The minimum value of gain.
Source§

const GAIN_MAX: i32 = 8_388_607i32

The maximum value of gain.
Source§

const VOLUME_MIN: u32 = 0u32

The minimum value of volume, as well as minimum value of knob.
Source§

const VOLUME_MAX: u32 = 256u32

The maximum value of volume, as well as maximum value of knob.
Source§

fn create_mixer_params() -> IofwMixerParams

Instantiate mixer parameters.
Source§

impl IofwOutputSpecification for Io14fwProtocol

Source§

const ANALOG_OUTPUT_COUNT: usize = 4usize

The number of analog outputs.
Source§

const HAS_OPT_IFACE_B: bool = false

Whether optical interface B is available or not.
Source§

fn create_output_params() -> IofwOutputParams

Instantiate output parameters.
Source§

impl TcatGlobalSectionSpecification for Io14fwProtocol

Source§

const AVAILABLE_CLOCK_SOURCE_OVERRIDE: Option<&'static [ClockSource]> = None

Some models report invalid list for signal source of sampling clock.
Source§

const CLOCK_SOURCE_LABEL_TABLE: &'static [ClockSource] = _

Some models report list of labels for signal source of sampling clock with unexpected position.
Source§

impl TcatOperation for Io14fwProtocol

Source§

fn read( req: &FwReq, node: &FwNode, offset: usize, frames: &mut [u8], timeout_ms: u32, ) -> Result<(), Error>

Initiate read transaction to offset in specific address space and finish it.
Source§

fn write( req: &FwReq, node: &FwNode, offset: usize, frames: &mut [u8], timeout_ms: u32, ) -> Result<(), Error>

Initiate write transaction to offset in specific address space and finish it.
Source§

fn read_general_sections( req: &FwReq, node: &FwNode, sections: &mut GeneralSections, timeout_ms: u32, ) -> Result<(), Error>

Read section layout.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<O> AlesisFluctuatedParametersOperation<IofwMixerParams> for O

Source§

const FLUCTUATED_OFFSET_RANGES: &'static [Range<usize>] = const FLUCTUATED_OFFSET_RANGES: &'static [Range<usize>] = &[Range { start: MIXER_OUTPUT_VOLUME_OFFSET, end: MIXER_OUTPUT_VOLUME_OFFSET + 8 }, Range { start: KNOB_PARAMS_OFFSET, end: KNOB_PARAMS_OFFSET + KNOB_PARAMS_SIZE }];

The set of address offsets in which any value is changed apart from software operation.
Source§

fn cache_partial_params( req: &FwReq, node: &FwNode, params: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Cache part of offset ranges for fluctuated values, then deserialize for parameters.
Source§

impl<O> AlesisMutableParametersOperation<IofwMixerParams> for O

Source§

fn update_partial_params( req: &FwReq, node: &FwNode, params: &T, prev: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Update the hardware partially for any change of parameter.
Source§

impl<O> AlesisMutableParametersOperation<IofwOutputParams> for O

Source§

fn update_partial_params( req: &FwReq, node: &FwNode, params: &T, prev: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Update the hardware partially for any change of parameter.
Source§

impl<O, T> AlesisParametersOperation<T> for O

Source§

fn cache_whole_params( req: &FwReq, node: &FwNode, params: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Cache whole segment and deserialize for parameters.
Source§

impl<O> AlesisParametersSerdes<IofwMeterParams> for O

Source§

const NAME: &'static str = const NAME: &'static str = "meter";

The name of parameters
Source§

const OFFSET_RANGES: &'static [Range<usize>] = const OFFSET_RANGES: &'static [Range<usize>] = &[Range { start: METER_OFFSET, end: METER_OFFSET + METER_SIZE }];

The range of offset for parameters.
Source§

fn serialize_params( params: &IofwMeterParams, raw: &mut [u8], ) -> Result<(), String>

Serialize parameters to raw layout of data.
Source§

fn deserialize_params( params: &mut IofwMeterParams, raw: &[u8], ) -> Result<(), String>

Deserialize parameters from raw layout of data.
Source§

impl<O> AlesisParametersSerdes<IofwMixerParams> for O

Source§

const NAME: &'static str = const NAME: &'static str = "mixer";

The name of parameters
Source§

const OFFSET_RANGES: &'static [Range<usize>] = const OFFSET_RANGES: &'static [Range<usize>] = &[Range { start: MIXER_PARAMS_OFFSET, end: MIXER_PARAMS_OFFSET + MIXER_PARAMS_SIZE }, Range { start: KNOB_PARAMS_OFFSET, end: KNOB_PARAMS_OFFSET + KNOB_PARAMS_SIZE }];

The range of offset for parameters.
Source§

fn serialize_params( params: &IofwMixerParams, raw: &mut [u8], ) -> Result<(), String>

Serialize parameters to raw layout of data.
Source§

fn deserialize_params( params: &mut IofwMixerParams, raw: &[u8], ) -> Result<(), String>

Deserialize parameters from raw layout of data.
Source§

impl<O> AlesisParametersSerdes<IofwOutputParams> for O

Source§

const NAME: &'static str = const NAME: &'static str = "output-params";

The name of parameters
Source§

const OFFSET_RANGES: &'static [Range<usize>] = const OFFSET_RANGES: &'static [Range<usize>] = &[Range { start: OUT_LEVEL_OFFSET, end: OUT_LEVEL_OFFSET + 16 }];

The range of offset for parameters.
Source§

fn serialize_params( params: &IofwOutputParams, raw: &mut [u8], ) -> Result<(), String>

Serialize parameters to raw layout of data.
Source§

fn deserialize_params( params: &mut IofwOutputParams, raw: &[u8], ) -> Result<(), String>

Deserialize parameters from raw layout of data.
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> 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<O> TcatFluctuatedSectionOperation<GlobalParameters> for O

Source§

const FLUCTUATED_OFFSETS: &'static [usize] = const FLUCTUATED_OFFSETS: &'static [usize] = &[88];

The set of address offsets in which any value is changed apart from software operation; e.g. hardware metering.
Source§

fn partial_cache( req: &FwReq, node: &FwNode, section: &Section, params: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Cache part of section for fluctuated values, then deserialize for parameters.
Source§

impl<O> TcatMutableSectionOperation<GlobalParameters> for O

Source§

fn whole_update( req: &FwReq, node: &FwNode, section: &Section, params: &T, timeout_ms: u32, ) -> Result<(), Error>

Update whole section by the parameters.
Source§

fn partial_update( req: &FwReq, node: &FwNode, section: &Section, params: &T, prev: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Update part of section for any change at the parameters.
Source§

impl<O> TcatMutableSectionOperation<RxStreamFormatParameters> for O

Source§

fn whole_update( req: &FwReq, node: &FwNode, section: &Section, params: &T, timeout_ms: u32, ) -> Result<(), Error>

Update whole section by the parameters.
Source§

fn partial_update( req: &FwReq, node: &FwNode, section: &Section, params: &T, prev: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Update part of section for any change at the parameters.
Source§

impl<O> TcatMutableSectionOperation<TxStreamFormatParameters> for O

Source§

fn whole_update( req: &FwReq, node: &FwNode, section: &Section, params: &T, timeout_ms: u32, ) -> Result<(), Error>

Update whole section by the parameters.
Source§

fn partial_update( req: &FwReq, node: &FwNode, section: &Section, params: &T, prev: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Update part of section for any change at the parameters.
Source§

impl<O> TcatNotifiedSectionOperation<GlobalParameters> for O

Source§

const NOTIFY_FLAG: u32 = 112u32

Flag in message notified for any change in section.
Source§

fn notified(_: &T, msg: u32) -> bool

Check message to be notified or not.
Source§

impl<O> TcatNotifiedSectionOperation<RxStreamFormatParameters> for O

Source§

const NOTIFY_FLAG: u32 = 1u32

Flag in message notified for any change in section.
Source§

fn notified(_: &T, msg: u32) -> bool

Check message to be notified or not.
Source§

impl<O> TcatNotifiedSectionOperation<TxStreamFormatParameters> for O

Source§

const NOTIFY_FLAG: u32 = 2u32

Flag in message notified for any change in section.
Source§

fn notified(_: &T, msg: u32) -> bool

Check message to be notified or not.
Source§

impl<O> TcatSectionOperation<ExtendedSyncParameters> for O
where O: TcatOperation,

Source§

fn whole_cache( req: &FwReq, node: &FwNode, section: &Section, params: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Cache whole section and deserialize for parameters.
Source§

impl<O> TcatSectionOperation<GlobalParameters> for O

Source§

fn whole_cache( req: &FwReq, node: &FwNode, section: &Section, params: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Cache whole section and deserialize for parameters.
Source§

impl<O> TcatSectionOperation<RxStreamFormatParameters> for O
where O: TcatOperation,

Source§

fn whole_cache( req: &FwReq, node: &FwNode, section: &Section, params: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Cache whole section and deserialize for parameters.
Source§

impl<O> TcatSectionOperation<TxStreamFormatParameters> for O
where O: TcatOperation,

Source§

fn whole_cache( req: &FwReq, node: &FwNode, section: &Section, params: &mut T, timeout_ms: u32, ) -> Result<(), Error>

Cache whole section and deserialize for parameters.
Source§

impl<O> TcatSectionSerdes<ExtendedSyncParameters> for O
where O: TcatOperation,

Source§

const MIN_SIZE: usize = 16usize

Minimum size of section for parameters.
Source§

const ERROR_TYPE: GeneralProtocolError = const ERROR_TYPE: GeneralProtocolError = GeneralProtocolError::ExtendedSync;

The type of error.
Source§

fn serialize(_: &ExtendedSyncParameters, _: &mut [u8]) -> Result<(), String>

Serialize parameters for section.
Source§

fn deserialize( params: &mut ExtendedSyncParameters, raw: &[u8], ) -> Result<(), String>

Deserialize section for parameters.
Source§

impl<O> TcatSectionSerdes<GlobalParameters> for O

Source§

const MIN_SIZE: usize = 96usize

Minimum size of section for parameters.
Source§

const ERROR_TYPE: GeneralProtocolError = const ERROR_TYPE: GeneralProtocolError = GeneralProtocolError::Global;

The type of error.
Source§

fn serialize(params: &GlobalParameters, raw: &mut [u8]) -> Result<(), String>

Serialize parameters for section.
Source§

fn deserialize(params: &mut GlobalParameters, raw: &[u8]) -> Result<(), String>

Deserialize section for parameters.
Source§

impl<O> TcatSectionSerdes<RxStreamFormatParameters> for O
where O: TcatOperation,

Source§

const MIN_SIZE: usize = 8usize

Minimum size of section for parameters.
Source§

const ERROR_TYPE: GeneralProtocolError = const ERROR_TYPE: GeneralProtocolError = GeneralProtocolError::RxStreamFormat;

The type of error.
Source§

fn serialize( params: &RxStreamFormatParameters, raw: &mut [u8], ) -> Result<(), String>

Serialize parameters for section.
Source§

fn deserialize( params: &mut RxStreamFormatParameters, raw: &[u8], ) -> Result<(), String>

Deserialize section for parameters.
Source§

impl<O> TcatSectionSerdes<TxStreamFormatParameters> for O
where O: TcatOperation,

Source§

const MIN_SIZE: usize = 8usize

Minimum size of section for parameters.
Source§

const ERROR_TYPE: GeneralProtocolError = const ERROR_TYPE: GeneralProtocolError = GeneralProtocolError::TxStreamFormat;

The type of error.
Source§

fn serialize( params: &TxStreamFormatParameters, raw: &mut [u8], ) -> Result<(), String>

Serialize parameters for section.
Source§

fn deserialize( params: &mut TxStreamFormatParameters, raw: &[u8], ) -> Result<(), String>

Deserialize section for parameters.
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.