コンテンツにスキップ

SetPhaseCorrection

SetPhaseCorrection は, 各振動子へ加える位相オフセットを設定するコマンド. ここで設定したオフセットは以降のすべての出力位相へ加算される.

SetPhaseCorrection { phases: &phases };
フィールド 説明
phases &[Vec<Phase>] デバイスごとの位相オフセット表.
use autd3_rs::commands::SetPhaseCorrection;
use autd3_rs::geometry::{Autd3, Geometry};
use autd3_rs::value::Phase;
use autd3_rs::{Client, ClientConfig};
use autd3_rs_link_nop::Nop;
let geometry = Geometry::new(vec![Autd3::default()]);
let client = Client::open(&geometry, Nop, ClientConfig::default()).await?;
let phases: Vec<Vec<Phase>> = geometry
.iter()
.map(|dev| vec![Phase::ZERO; dev.num_transducers()])
.collect();
let mut builder = client.datagram_builder();
builder.push(SetPhaseCorrection { phases: &phases });
let frames = builder.build()?;
for frame in &frames {
client.send_checked(frame).await?;
}
client.close().await?;