altoslib: Hide 'state' member and use accessor function
[fw/altos] / altoslib / AltosCSV.java
index 4a9278d901fefd1348120d4a5d72d4f75991cf8f..150f5a6446e18018da3d7bf9bdb5d5d70a00441a 100644 (file)
@@ -15,7 +15,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_5;
+package org.altusmetrum.altoslib_8;
 
 import java.io.*;
 import java.util.*;
@@ -129,7 +129,7 @@ public class AltosCSV implements AltosWriter {
        }
 
        void write_flight(AltosState state) {
-               out.printf("%d,%8s", state.state, state.state_name());
+               out.printf("%d,%8s", state.state(), state.state_name());
        }
 
        void write_basic_header() {
@@ -158,21 +158,14 @@ public class AltosCSV implements AltosWriter {
        }
 
        void write_advanced_header() {
-               out.printf("accel_x,accel_y,accel_z,gyro_x,gyro_y,gyro_z");
+               out.printf("accel_x,accel_y,accel_z,gyro_x,gyro_y,gyro_z,mag_x,mag_y,mag_z");
        }
 
        void write_advanced(AltosState state) {
-               AltosIMU        imu = state.imu;
-               AltosMag        mag = state.mag;
-
-               if (imu == null)
-                       imu = new AltosIMU();
-               if (mag == null)
-                       mag = new AltosMag();
                out.printf("%7.2f,%7.2f,%7.2f,%7.2f,%7.2f,%7.2f,%7.2f,%7.2f,%7.2f",
-                          imu.accel_x, imu.accel_y, imu.accel_z,
-                          imu.gyro_x, imu.gyro_y, imu.gyro_z,
-                          mag.x, mag.y, mag.z);
+                          state.accel_along(), state.accel_across(), state.accel_through(),
+                          state.gyro_roll(), state.gyro_pitch(), state.gyro_yaw(),
+                          state.mag_along(), state.mag_across(), state.mag_through());
        }
 
        void write_gps_header() {
@@ -333,14 +326,14 @@ public class AltosCSV implements AltosWriter {
        }
 
        private void write(AltosState state) {
-               if (state.state == AltosLib.ao_flight_startup)
+               if (state.state() == AltosLib.ao_flight_startup)
                        return;
                if (!header_written) {
                        write_header();
                        header_written = true;
                }
                if (!seen_boost) {
-                       if (state.state >= AltosLib.ao_flight_boost) {
+                       if (state.state() >= AltosLib.ao_flight_boost) {
                                seen_boost = true;
                                boost_tick = state.tick;
                                flush_pad();
@@ -375,13 +368,13 @@ public class AltosCSV implements AltosWriter {
                has_gps_sat = false;
                has_companion = false;
                for (AltosState state : states) {
-                       if (state.state != AltosLib.ao_flight_stateless && state.state != AltosLib.ao_flight_invalid && state.state != AltosLib.ao_flight_startup)
+                       if (state.state() != AltosLib.ao_flight_stateless && state.state() != AltosLib.ao_flight_invalid && state.state() != AltosLib.ao_flight_startup)
                                has_flight_state = true;
                        if (state.acceleration() != AltosLib.MISSING || state.pressure() != AltosLib.MISSING)
                                has_basic = true;
                        if (state.battery_voltage != AltosLib.MISSING)
                                has_battery = true;
-                       if (state.imu != null || state.mag != null)
+                       if (state.accel_across() != AltosLib.MISSING)
                                has_advanced = true;
                        if (state.gps != null) {
                                has_gps = true;