autd3_driver/datagram/
segment.rs1use std::convert::Infallible;
2
3use autd3_core::{
4 datagram::{Datagram, DeviceFilter, Segment, TransitionMode},
5 derive::FirmwareLimits,
6 environment::Environment,
7 geometry::Geometry,
8};
9
10#[derive(Debug, Clone, Copy)]
14pub enum SwapSegment {
15 Gain(Segment, TransitionMode),
19 Modulation(Segment, TransitionMode),
23 FociSTM(Segment, TransitionMode),
27 GainSTM(Segment, TransitionMode),
31}
32
33impl Datagram for SwapSegment {
34 type G = Self;
35 type Error = Infallible;
36
37 fn operation_generator(
38 self,
39 _: &Geometry,
40 _: &Environment,
41 _: &DeviceFilter,
42 _: &FirmwareLimits,
43 ) -> Result<Self::G, Self::Error> {
44 Ok(self)
45 }
46}