X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=altoslib%2FAltosFlightSeries.java;h=ef4ef4dfc6dcebb8432a5192b793e06b0b650006;hb=76b288f8d02e0a48f04de9455a2dd0b77e48bd63;hp=cfd8a0bff2bb79aa37b39b2b108d6e406bc3ebd5;hpb=58e7fccc24f933fd64e272207f783ca79002b7ba;p=fw%2Faltos diff --git a/altoslib/AltosFlightSeries.java b/altoslib/AltosFlightSeries.java index cfd8a0bf..ef4ef4df 100644 --- a/altoslib/AltosFlightSeries.java +++ b/altoslib/AltosFlightSeries.java @@ -12,7 +12,7 @@ * General Public License for more details. */ -package org.altusmetrum.altoslib_13; +package org.altusmetrum.altoslib_14; import java.util.*; @@ -380,8 +380,10 @@ public class AltosFlightSeries extends AltosDataListener { } public AltosTimeSeries orient_series; + public AltosTimeSeries azimuth_series; public static final String orient_name = "Tilt Angle"; + public static final String azimuth_name = "Azimuth Angle"; private void compute_orient() { @@ -408,6 +410,9 @@ public class AltosFlightSeries extends AltosDataListener { orient_series = add_series(orient_name, AltosConvert.orient); orient_series.add(ground_time, rotation.tilt()); + azimuth_series = add_series(azimuth_name, AltosConvert.orient); + azimuth_series.add(ground_time, rotation.azimuth()); + for (AltosTimeValue roll_v : gyro_roll) { double time = roll_v.time; double dt = time - prev_time; @@ -419,6 +424,7 @@ public class AltosFlightSeries extends AltosDataListener { rotation.rotate(pitch, yaw, roll); orient_series.add(time, rotation.tilt()); + azimuth_series.add(time, rotation.azimuth()); } prev_time = time; } @@ -622,8 +628,10 @@ public class AltosFlightSeries extends AltosDataListener { public static final String mag_along_name = "Magnetic Field Along"; public static final String mag_across_name = "Magnetic Field Across"; public static final String mag_through_name = "Magnetic Field Through"; + public static final String mag_total_name = "Magnetic Field Strength"; + public static final String compass_name = "Compass"; - public AltosTimeSeries mag_along, mag_across, mag_through; + public AltosTimeSeries mag_along, mag_across, mag_through, mag_total, compass; public void set_accel(double along, double across, double through) { if (accel_along == null) { @@ -665,10 +673,14 @@ public class AltosFlightSeries extends AltosDataListener { mag_along = add_series(mag_along_name, AltosConvert.magnetic_field); mag_across = add_series(mag_across_name, AltosConvert.magnetic_field); mag_through = add_series(mag_through_name, AltosConvert.magnetic_field); + mag_total = add_series(mag_total_name, AltosConvert.magnetic_field); + compass = add_series(compass_name, AltosConvert.orient); } mag_along.add(time(), along); mag_across.add(time(), across); mag_through.add(time(), through); + mag_total.add(time(), Math.sqrt(along * along + across * across + through *through)); + compass.add(time(), Math.atan2(across, through) * 180 / Math.PI); } public void set_orient(double orient) {