SetPhaseCorrection
SetPhaseCorrection is a command that sets the phase offset added to each transducer.
The offset set here is added to all subsequent output phases.
SetPhaseCorrection { phases };SetPhaseCorrection(phases)new SetPhaseCorrection(phases);| Field | Type | Description |
|---|---|---|
phases |
Vec<Vec<Phase>> |
Phase offset table per device. |
Example
Section titled “Example”use autd3_rs::commands::{Clear, SetPhaseCorrection, Synchronize};use autd3_rs::geometry::{Autd3, Geometry};use autd3_rs::Client;use autd3_rs::udp::TransportOption;
let geometry = Geometry::new(vec![Autd3::default()]);let option = TransportOption::default();let mut client = Client::open(&geometry, &option).await?;client.send(Clear).await?;client.send(Synchronize).await?;
let phases = geometry.phase_buffer();
client.send(SetPhaseCorrection { phases }).await?;import asyncio
from autd3 import Client, TransportOptionfrom autd3.commands import Clear, SetPhaseCorrection, Synchronizefrom autd3.geometry import Autd3, Geometry
async def main() -> None: geometry = Geometry([Autd3()]) with await Client.open(geometry, TransportOption()) as client: await client.send(Clear()) await client.send(Synchronize())
phases = geometry.phase_buffer()
await client.send(SetPhaseCorrection(phases))
asyncio.run(main())using System.Threading.Tasks;using AUTD3;
var geometry = new Geometry(new[] { new Autd3() });using var client = await Client.OpenAsync(geometry, new TransportOption());await client.SendAsync(new Clear());await client.SendAsync(new Synchronize());
using var phases = geometry.PhaseBuffer();
await client.SendAsync(new SetPhaseCorrection(phases));