Struct autd3::Controller [−][src]
pub struct Controller<L: Link> { pub silent_mode: bool, pub reads_fpga_info: bool, // some fields omitted }
Expand description
Controller for AUTD3
Fields
silent_mode: bool
Silent mode flag. Default is true. The flags in the actual devices will be update after update_ctrl_flags or send functions is called.
reads_fpga_info: bool
If true, the devices return FPGA information in all frames. Default is false. The flags in the actual devices will be update after update_ctrl_flags or send functions is called.
Implementations
impl<L: Link> Controller<L>
[src]
impl<L: Link> Controller<L>
[src]pub fn open(geometry: Geometry, link: L) -> Result<Self>
[src]
pub fn open(geometry: Geometry, link: L) -> Result<Self>
[src]Construct controller with geometry
and open link
.
Arguments
geometry
- Geometry of the deviceslink
- Link to the device
pub fn geometry(&self) -> &Geometry
[src]
pub fn fpga_infos(&mut self) -> Result<&[u8]>
[src]
pub fn fpga_infos(&mut self) -> Result<&[u8]>
[src]Return FPGA information of the devices (the first bit represent whether the fan is running).
To use this function, set reads_fpga_info
true.
pub async fn update_ctrl_flags(&mut self) -> Result<bool>
[src]
pub async fn update_ctrl_flags(&mut self) -> Result<bool>
[src]Update control flags
pub async fn set_output_delay(&mut self, delay: &[DataArray]) -> Result<bool>
[src]
pub async fn set_output_delay(&mut self, delay: &[DataArray]) -> Result<bool>
[src]Set output delay
Arguments
delay
- delay for each transducer in units of ultrasound period (i.e. 25us).
pub async fn synchronize(&mut self, config: Configuration) -> Result<bool>
[src]
pub async fn synchronize(&mut self, config: Configuration) -> Result<bool>
[src]pub async fn send_modulation<M: Modulation>(
&mut self,
m: &mut M
) -> Result<bool>
[src]
pub async fn send_modulation<M: Modulation>(
&mut self,
m: &mut M
) -> Result<bool>
[src]pub async fn send_seq(&mut self, s: &mut PointSequence) -> Result<bool>
[src]
pub async fn send_seq(&mut self, s: &mut PointSequence) -> Result<bool>
[src]pub async fn firmware_infos(&mut self) -> Result<Vec<FirmwareInfo>>
[src]
pub async fn firmware_infos(&mut self) -> Result<Vec<FirmwareInfo>>
[src]Return firmware information of the devices
pub fn stm(self) -> StmController<L>
[src]
pub fn stm(self) -> StmController<L>
[src]Return Spatio-temporal controller
Auto Trait Implementations
impl<L> RefUnwindSafe for Controller<L> where
L: RefUnwindSafe,
L: RefUnwindSafe,
impl<L> Send for Controller<L>
impl<L> Sync for Controller<L> where
L: Sync,
L: Sync,
impl<L> Unpin for Controller<L> where
L: Unpin,
L: Unpin,
impl<L> UnwindSafe for Controller<L> where
L: UnwindSafe,
L: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.