Struct K8Protocol

Source
pub struct K8Protocol;
Expand description

Protocol implementation of Konnekt 8.

Trait Implementations§

Source§

impl Debug for K8Protocol

Source§

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

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

impl Default for K8Protocol

Source§

fn default() -> K8Protocol

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

impl ShellKnob0TargetSpecification for K8Protocol

Source§

const KNOB0_TARGETS: &'static [ShellKnob0Target]

The list of targets supported for 1st knob.
Source§

impl ShellKnob1TargetSpecification for K8Protocol

Source§

const KNOB1_TARGETS: &'static [ShellKnob1Target]

The list of targets supported for 2nd knob.
Source§

impl ShellMixerMeterSpecification for K8Protocol

Source§

impl ShellMixerStateSpecification for K8Protocol

Source§

const MONITOR_SRC_MAP: [Option<ShellMixerMonitorSrcType>; 10]

The sources of monitor.
Source§

fn analog_input_pair_count() -> usize

The number of analog input pairs.
Source§

fn digital_input_pair_count() -> usize

The number of digital input pairs.
Source§

fn create_mixer_state() -> ShellMixerState

Instantiate state of mixer.
Source§

impl ShellStandaloneClockSpecification for K8Protocol

Source§

const STANDALONE_CLOCK_SOURCES: &'static [ShellStandaloneClockSource]

The list of available sources.
Source§

impl TcKonnektMutableSegmentOperation<K8Config> for K8Protocol

Source§

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

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

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

Update whole segment by the parameters.
Source§

impl TcKonnektMutableSegmentOperation<K8HwState> for K8Protocol

Source§

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

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

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

Update whole segment by the parameters.
Source§

impl TcKonnektMutableSegmentOperation<K8Knob> for K8Protocol

Source§

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

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

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

Update whole segment by the parameters.
Source§

impl TcKonnektMutableSegmentOperation<K8MixerState> for K8Protocol

Source§

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

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

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

Update whole segment by the parameters.
Source§

impl TcKonnektNotifiedSegmentOperation<K8Config> for K8Protocol

Source§

const NOTIFY_FLAG: u32 = 131_072u32

Source§

fn is_notified_segment(_: &TcKonnektSegment<T>, msg: u32) -> bool

Check message to be notified or not.
Source§

impl TcKonnektNotifiedSegmentOperation<K8HwState> for K8Protocol

Source§

const NOTIFY_FLAG: u32 = 16_777_216u32

Source§

fn is_notified_segment(_: &TcKonnektSegment<T>, msg: u32) -> bool

Check message to be notified or not.
Source§

impl TcKonnektNotifiedSegmentOperation<K8Knob> for K8Protocol

Source§

const NOTIFY_FLAG: u32 = 65_536u32

Source§

fn is_notified_segment(_: &TcKonnektSegment<T>, msg: u32) -> bool

Check message to be notified or not.
Source§

impl TcKonnektNotifiedSegmentOperation<K8MixerState> for K8Protocol

Source§

const NOTIFY_FLAG: u32 = 262_144u32

Source§

fn is_notified_segment(_: &TcKonnektSegment<T>, msg: u32) -> bool

Check message to be notified or not.
Source§

impl TcKonnektSegmentSerdes<K8Config> for K8Protocol

Source§

const NAME: &'static str = "configuration"

The name of segment.
Source§

const OFFSET: usize = 40usize

The offset of segment.
Source§

const SIZE: usize = 76usize

The size of segment.
Source§

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

Serialize for parameter.
Source§

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

Deserialize for parameter.
Source§

impl TcKonnektSegmentSerdes<K8HwState> for K8Protocol

Source§

const NAME: &'static str = "hardware-state"

The name of segment.
Source§

const OFFSET: usize = 4_108usize

The offset of segment.
Source§

const SIZE: usize = 28usize

The size of segment.
Source§

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

Serialize for parameter.
Source§

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

Deserialize for parameter.
Source§

impl TcKonnektSegmentSerdes<K8Knob> for K8Protocol

Source§

const NAME: &'static str = "knob"

The name of segment.
Source§

const OFFSET: usize = 4usize

The offset of segment.
Source§

const SIZE: usize = 36usize

The size of segment.
Source§

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

Serialize for parameter.
Source§

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

Deserialize for parameter.
Source§

impl TcKonnektSegmentSerdes<K8MixerMeter> for K8Protocol

Source§

const NAME: &'static str = "mixer-meter"

The name of segment.
Source§

const OFFSET: usize = 4_108usize

The offset of segment.
Source§

const SIZE: usize = 92usize

The size of segment.
Source§

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

Serialize for parameter.
Source§

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

Deserialize for parameter.
Source§

impl TcKonnektSegmentSerdes<K8MixerState> for K8Protocol

Source§

const NAME: &'static str = "mixer-state"

The name of segment.
Source§

const OFFSET: usize = 116usize

The offset of segment.
Source§

const SIZE: usize = 348usize

The size of segment.
Source§

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

Serialize for parameter.
Source§

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

Deserialize for parameter.
Source§

impl TcatGlobalSectionSpecification for K8Protocol

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 K8Protocol

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, T> TcKonnektSegmentOperation<T> for O

Source§

fn cache_whole_segment( req: &FwReq, node: &FwNode, segment: &mut TcKonnektSegment<T>, timeout_ms: u32, ) -> Result<(), Error>

Cache whole segment and deserialize for 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.