autd3-driver 38.1.0

AUTD3 driver
Documentation
use std::convert::Infallible;

use autd3_core::{
    datagram::{Datagram, DeviceMask},
    environment::Environment,
    geometry::Geometry,
};

#[repr(u8)]
#[derive(Debug, Clone, Copy)]
#[doc(hidden)]
pub enum FirmwareVersionType {
    CPUMajor = 0x01,
    CPUMinor = 0x02,
    FPGAMajor = 0x03,
    FPGAMinor = 0x04,
    FPGAFunctions = 0x05,
    Clear = 0x06,
}

pub struct FetchFirmwareInfoOpGenerator {
    pub(crate) inner: FirmwareVersionType,
}

impl Datagram<'_> for FirmwareVersionType {
    type G = FetchFirmwareInfoOpGenerator;
    type Error = Infallible;

    fn operation_generator(
        self,
        _: &Geometry,
        _: &Environment,
        _: &DeviceMask,
    ) -> Result<Self::G, Self::Error> {
        Ok(Self::G { inner: self })
    }
}