auto-sync
This commit is contained in:
parent
b4a58c3d6d
commit
b3aafbb075
|
@ -59,7 +59,7 @@ public class AverageAngles {
|
||||||
System.out.println("Skipping due to NaN");
|
System.out.println("Skipping due to NaN");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
current.add(new AngleEvent(angle));
|
current.add(new AngleEvent(angle, signal));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < current.size(); i++) {
|
for (int i = 0; i < current.size(); i++) {
|
||||||
|
@ -73,7 +73,7 @@ public class AverageAngles {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void printReport(Appendable stream) throws IOException {
|
public void printReport(Appendable stream) throws IOException {
|
||||||
List<Double> angles = new ArrayList<>();
|
List<AngleEvent> angles = new ArrayList<>();
|
||||||
|
|
||||||
stream.append("Based on " + angleData.size() + " charts\r\n");
|
stream.append("Based on " + angleData.size() + " charts\r\n");
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ public class AverageAngles {
|
||||||
StandardDeviation sd = new StandardDeviation();
|
StandardDeviation sd = new StandardDeviation();
|
||||||
double sdv = sd.evaluate(values, mean);
|
double sdv = sd.evaluate(values, mean);
|
||||||
|
|
||||||
angles.add(mean);
|
angles.add(new AngleEvent(mean, v.get(0).signal));
|
||||||
|
|
||||||
double diff = mean - prev;
|
double diff = mean - prev;
|
||||||
prev = mean;
|
prev = mean;
|
||||||
|
@ -102,19 +102,28 @@ public class AverageAngles {
|
||||||
}
|
}
|
||||||
if (angleData.isEmpty())
|
if (angleData.isEmpty())
|
||||||
return;
|
return;
|
||||||
Double lastValue = angles.get(angles.size() - 1);
|
Double lastValue = angles.get(angles.size() - 1).angle;
|
||||||
stream.append("Last value = " + lastValue + "\r\n");
|
stream.append("Last value = " + lastValue + ", using it to offset...\r\n");
|
||||||
double delta = 720 - lastValue;
|
double delta = 720 - lastValue;
|
||||||
for (double v : angles) {
|
stream.append("And the " + angles.size() + " angles are:\r\n");
|
||||||
stream.append((delta + v) + "\r\n");
|
for (AngleEvent v : angles) {
|
||||||
|
stream.append((delta + v.angle) + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
stream.append("And the " + angles.size() + " lines of code are:\r\n");
|
||||||
|
for (AngleEvent v : angles) {
|
||||||
|
String signal = (v.signal / 1000) % 2 == 0 ? "TV_FALL" : "TV_RISE";
|
||||||
|
stream.append("s->addEvent(" + (delta + v.angle) + ", ch, " + signal + ");\r\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class AngleEvent {
|
private static class AngleEvent {
|
||||||
private final double angle;
|
private final double angle;
|
||||||
|
private final int signal;
|
||||||
|
|
||||||
public AngleEvent(double angle) {
|
public AngleEvent(double angle, int signal) {
|
||||||
this.angle = angle;
|
this.angle = angle;
|
||||||
|
this.signal = signal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getAngle() {
|
public double getAngle() {
|
||||||
|
|
Loading…
Reference in New Issue