SetPhaseCorrection
SetPhaseCorrection は, 各振動子へ加える位相オフセットを設定するコマンド.
ここで設定したオフセットは以降のすべての出力位相へ加算される.
SetPhaseCorrection { phases };SetPhaseCorrection(phases)new SetPhaseCorrection(phases);| フィールド | 型 | 説明 |
|---|---|---|
phases |
Vec<Vec<Phase>> |
デバイスごとの位相オフセット表. |
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));