test_stable_signal/
test_stable_signal.rs1use rusty_tip::{stability, ActionDriver};
2use std::{error::Error, time::Duration};
3
4fn main() -> Result<(), Box<dyn Error>> {
5 let mut driver = ActionDriver::new("127.0.0.1", 6501)?;
6
7 let _freq_shift = rusty_tip::SignalIndex(76);
8
9 let z_pos = rusty_tip::SignalIndex(30);
10
11 driver.execute(rusty_tip::Action::Withdraw {
12 wait_until_finished: true,
13 timeout: Duration::from_secs(5),
14 })?;
15
16 driver.execute(rusty_tip::Action::AutoApproach {
17 wait_until_finished: true,
18 timeout: Duration::from_secs(300),
19 })?;
20
21 if let Some(osci_data) = driver.read_oscilloscope_with_stability(
22 z_pos,
23 None,
30 rusty_tip::types::DataToGet::Stable {
31 readings: 1,
32 timeout: Duration::from_secs(2),
33 },
34 stability::trend_analysis_stability,
35 )? {
36 rusty_tip::plot_values(&osci_data.data, Some("Z-Position Oscilloscope Data"), None, None)?;
38
39 let is_stable = stability::trend_analysis_stability(&osci_data.data);
40 println!("Stability result: {}", is_stable);
41 };
42
43 Ok(())
44}