autd3_driver/datagram/
reads_fpga_state.rs1use std::convert::Infallible;
2
3use autd3_core::{
4 datagram::{Datagram, DeviceMask},
5 environment::Environment,
6 geometry::{Device, Geometry},
7};
8
9#[derive(Debug)]
11pub struct ReadsFPGAState<F> {
12 #[doc(hidden)]
13 pub f: F,
14}
15
16impl<F: Fn(&Device) -> bool> ReadsFPGAState<F> {
17 #[must_use]
19 pub const fn new(f: F) -> Self {
20 Self { f }
21 }
22}
23
24impl<F: Fn(&Device) -> bool> Datagram<'_> for ReadsFPGAState<F> {
25 type G = Self;
26 type Error = Infallible;
27
28 fn operation_generator(
29 self,
30 _: &Geometry,
31 _: &Environment,
32 _: &DeviceMask,
33 ) -> Result<Self::G, Self::Error> {
34 Ok(self)
35 }
36}