blob: afdc893f077c2bce1a1479a325944b87faa5a852 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
use std::time;
use std::f64::consts::PI;
use std::thread;
fn main() {
let mut sensor_array_state: f64 = 1.0;
for step in 1.. {
pause(step);
let reading = take_reading(sensor_array_state);
print_reading(reading);
sensor_array_state += 0.05;
}
}
fn pause(step: usize) {
let delay_ms = if step % 4 == 0 {
500
} else if step % 7 == 0 {
1000
} else {
3
};
let delay = time::Duration::from_millis(delay_ms);
thread::sleep(delay);
}
fn take_reading(x: f64) -> f64 {
// sin(x) + sin(π / sin(πx))
x.sin() + (PI / (x*PI).sin()).sin()
}
fn print_reading(reading: f64) {
println!("{}", reading);
}
|