Struct IonixProtocol

Source
pub struct IonixProtocol;
Expand description

Protocol implementation specific to Lexicon I-ONIX FW810s.

Implementations§

Source§

impl IonixProtocol

Source

pub const ANALOG_INPUT_COUNT: usize = 8usize

The number of analog inputs.

Source

pub const SPDIF_INPUT_COUNT: usize = 2usize

The number of S/PDIF inputs.

Source

pub const STREAM_INPUT_COUNT: usize = 10usize

The number of stream inputs.

Source

pub const MIXER_ANALOG_INPUT_COUNT: usize = 8usize

The number of analog inputs for mixer.

Source

pub const MIXER_SPDIF_INPUT_COUNT: usize = 2usize

The number of S/PDIF inputs for mixer.

Source

pub const MIXER_STREAM_INPUT_COUNT: usize = 8usize

The number of stream inputs for mixer.

Source

pub const MIXER_BUS_COUNT: usize = 8usize

The number of channels in bus mixer.

Source

pub const MIXER_MAIN_COUNT: usize = 2usize

The number of channels in main mixer.

Source

pub const MIXER_REVERB_COUNT: usize = 2usize

The number of channels in reverb mixer.

Trait Implementations§

Source§

impl Debug for IonixProtocol

Source§

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

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

impl Default for IonixProtocol

Source§

fn default() -> IonixProtocol

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

impl LexiconOperation for IonixProtocol

Source§

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

Read parameters from specific address range.
Source§

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

Write parameters to specific address range.
Source§

impl TcatGlobalSectionSpecification for IonixProtocol

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 IonixProtocol

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<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> LexiconMutableParametersOperation<IonixMixerParameters> for O

Source§

fn update_partial_parameters( 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> LexiconParametersOperation<T> for O

Source§

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

Cache parameters.
Source§

impl<O> LexiconParametersSerdes<IonixMeter> for O

Source§

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

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 }];

List of offset ranges for parameters.
Source§

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

Serialize parameters.
Source§

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

Deserialize parameters.
Source§

impl<O> LexiconParametersSerdes<IonixMixerParameters> for O

Source§

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

Name of parameters.
Source§

const OFFSET_RANGES: &'static [Range<usize>] = const OFFSET_RANGES: &'static [Range<usize>] = &[Range { start: MIXER_BUS_SRC_OFFSET, end: MIXER_BUS_SRC_OFFSET + MIXER_BUS_SRC_SIZE }, Range { start: MIXER_MAIN_SRC_OFFSET, end: MIXER_MAIN_SRC_OFFSET + MIXER_MAIN_SRC_SIZE }, Range { start: MIXER_REVERB_SRC_OFFSET, end: MIXER_REVERB_SRC_OFFSET + MIXER_REVERB_SRC_SIZE }];

List of offset ranges for parameters.
Source§

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

Serialize parameters.
Source§

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

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