Trait autd3_driver::datagram::Datagram

source ·
pub trait Datagram {
    type O1: Operation;
    type O2: Operation;

    // Required method
    fn operation(self) -> (Self::O1, Self::O2);

    // Provided method
    fn timeout(&self) -> Option<Duration> { ... }
}
Expand description

Datagram to be sent to devices

Required Associated Types§

Required Methods§

source

fn operation(self) -> (Self::O1, Self::O2)

Provided Methods§

Implementations on Foreign Types§

source§

impl<D1, D2> Datagram for (D1, D2)
where D1: Datagram<O2 = NullOp>, D2: Datagram<O2 = NullOp>,

§

type O1 = <D1 as Datagram>::O1

§

type O2 = <D2 as Datagram>::O1

source§

fn operation(self) -> (Self::O1, Self::O2)

source§

fn timeout(&self) -> Option<Duration>

Implementors§

source§

impl Datagram for Clear

§

type O1 = ClearOp

§

type O2 = NullOp

source§

impl Datagram for ConfigureFPGAClock

source§

impl Datagram for PulseWidthEncoder

source§

impl Datagram for Silencer<FixedCompletionSteps>

source§

impl Datagram for Silencer<FixedUpdateRate>

source§

impl Datagram for Synchronize

§

type O1 = SyncOp

§

type O2 = NullOp

source§

impl<D: Datagram> Datagram for DatagramWithTimeout<D>

§

type O1 = <D as Datagram>::O1

§

type O2 = <D as Datagram>::O2

source§

impl<D: DatagramS> Datagram for DatagramWithSegment<D>

§

type O1 = <D as DatagramS>::O1

§

type O2 = <D as DatagramS>::O2

source§

impl<D: DatagramST> Datagram for DatagramWithSegmentTransition<D>

§

type O1 = <D as DatagramST>::O1

§

type O2 = <D as DatagramST>::O2

source§

impl<D: DatagramST> Datagram for D

§

type O1 = <D as DatagramST>::O1

§

type O2 = <D as DatagramST>::O2

source§

impl<F: Fn(&Device) -> bool> Datagram for ForceFan<F>

§

type O1 = ForceFanOp<F>

§

type O2 = NullOp

source§

impl<F: Fn(&Device) -> bool> Datagram for ReadsFPGAState<F>

source§

impl<F: Fn(&Device, GPIOIn) -> bool> Datagram for EmulateGPIOIn<F>

source§

impl<F: Fn(&Device, GPIOOut) -> DebugType<'_>> Datagram for DebugSettings<F>

§

type O1 = DebugSettingOp<F>

§

type O2 = NullOp

source§

impl<G: Gain + 'static> Datagram for Cache<G>
where GainOp<Self>: Operation,

§

type O1 = GainOp<Cache<G>>

§

type O2 = NullOp

source§

impl<G: Gain + 'static, F: Fn(&Device, &Transducer, Drive) -> Drive + 'static> Datagram for Transform<G, F>
where GainOp<Self>: Operation,

§

type O1 = GainOp<Transform<G, F>>

§

type O2 = NullOp

source§

impl<K, F> Datagram for Group<K, F>
where GainOp<Self>: Operation, K: Hash + Eq + Clone + Debug + 'static, F: Fn(&Device, &Transducer) -> Option<K> + 'static,

§

type O1 = GainOp<Group<K, F>>

§

type O2 = NullOp

source§

impl<P: Into<Phase>, FT: Fn(&Transducer) -> P, F: Fn(&Device) -> FT> Datagram for PhaseFilter<P, FT, F>

§

type O1 = PhaseFilterOp<P, FT, F>

§

type O2 = NullOp

source§

impl<T: SwapSegmentDatagram> Datagram for SwapSegment<T>

§

type O1 = <T as SwapSegmentDatagram>::O

§

type O2 = NullOp