forked from farrellf/Telemetry-Viewer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTester.java
85 lines (66 loc) · 2.29 KB
/
Tester.java
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import java.awt.Color;
public class Tester {
private static Thread transmitter;
/**
* Simulates the transmission of 3 numbers every 1ms.
* The numbers are pseudo random, and scaled to form a sort of sawtooth waveform.
* This is used to check for proper autoscaling of charts, etc.
*/
@SuppressWarnings("deprecation")
public static void startTransmission() {
if(transmitter != null)
transmitter.stop();
transmitter = new Thread(new Runnable() {
@Override public void run() {
while(true) {
double scalar = ((System.currentTimeMillis() % 30000) - 15000) / 100.0;
double[] newSamples = new double[] {
(System.nanoTime() % 100) * scalar * 1.0,
(System.nanoTime() % 100) * scalar * 0.8,
(System.nanoTime() % 100) * scalar * 0.6
};
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
Controller.insertSamples(newSamples);
try { Thread.sleep(1); } catch(Exception e) {} // wait 1ms
}
}
});
transmitter.setName("Test Transmitter");
transmitter.start();
}
@SuppressWarnings("deprecation")
public static void stopTransmission() {
if(transmitter != null)
transmitter.stop();
}
public static void populateDataStructure() {
Controller.removeAllDatasets();
int location = 0;
BinaryProcessor processor = Controller.getBinaryProcessors()[0];
String name = "";
Color color = null;
String unit = "Volts";
double conversionFactorA = 1;
double conversionFactorB = 1;
location = 0;
name = "Waveform A";
color = Color.RED;
Controller.insertDataset(location, processor, name, color, unit, conversionFactorA, conversionFactorB);
location = 1;
name = "Waveform B";
color = Color.GREEN;
Controller.insertDataset(location, processor, name, color, unit, conversionFactorA, conversionFactorB);
location = 2;
name = "Waveform C";
color = Color.BLUE;
Controller.insertDataset(location, processor, name, color, unit, conversionFactorA, conversionFactorB);
}
}