X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FTabPad.java;h=6fdd39dc4e817a28ea53171e7b290a2666bb814e;hb=a61217f0a6d0ef48b6471f632c4600255867e831;hp=f6204547686005b1f7e831cbff38049dbff22660;hpb=ed682ca39496849b6c0d6bdf81bee6263864895f;p=fw%2Faltos diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java index f6204547..6fdd39dc 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,30 +18,30 @@ package org.altusmetrum.AltosDroid; -import org.altusmetrum.altoslib_7.*; +import org.altusmetrum.altoslib_12.*; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; +import android.view.*; +import android.widget.*; import android.location.Location; public class TabPad extends AltosDroidTab { private TextView battery_voltage_view; private GoNoGoLights battery_lights; + private TableRow receiver_row; private TextView receiver_voltage_view; private TextView receiver_voltage_label; private GoNoGoLights receiver_voltage_lights; + private TableRow apogee_row; private TextView apogee_voltage_view; private TextView apogee_voltage_label; private GoNoGoLights apogee_lights; + private TableRow main_row; private TextView main_voltage_view; private TextView main_voltage_label; private GoNoGoLights main_lights; @@ -58,6 +59,7 @@ public class TabPad extends AltosDroidTab { private TextView receiver_longitude_view; private TextView receiver_altitude_view; + private TableRow[] ignite_row = new TableRow[4]; private TextView[] ignite_voltage_view = new TextView[4]; private TextView[] ignite_voltage_label = new TextView[4]; private GoNoGoLights[] ignite_lights = new GoNoGoLights[4]; @@ -71,18 +73,21 @@ public class TabPad extends AltosDroidTab { (ImageView) v.findViewById(R.id.battery_greenled), getResources()); + receiver_row = (TableRow) v.findViewById(R.id.receiver_row); receiver_voltage_view = (TextView) v.findViewById(R.id.receiver_voltage_value); receiver_voltage_label = (TextView) v.findViewById(R.id.receiver_voltage_label); receiver_voltage_lights = new GoNoGoLights((ImageView) v.findViewById(R.id.receiver_redled), (ImageView) v.findViewById(R.id.receiver_greenled), getResources()); + apogee_row = (TableRow) v.findViewById(R.id.apogee_row); apogee_voltage_view = (TextView) v.findViewById(R.id.apogee_voltage_value); apogee_voltage_label = (TextView) v.findViewById(R.id.apogee_voltage_label); apogee_lights = new GoNoGoLights((ImageView) v.findViewById(R.id.apogee_redled), (ImageView) v.findViewById(R.id.apogee_greenled), getResources()); + main_row = (TableRow) v.findViewById(R.id.main_row); main_voltage_view = (TextView) v.findViewById(R.id.main_voltage_value); main_voltage_label = (TextView) v.findViewById(R.id.main_voltage_label); main_lights = new GoNoGoLights((ImageView) v.findViewById(R.id.main_redled), @@ -105,35 +110,40 @@ public class TabPad extends AltosDroidTab { getResources()); for (int i = 0; i < 4; i++) { - int view_id, label_id, lights_id; + int row_id, view_id, label_id, lights_id; int red_id, green_id; switch (i) { case 0: default: + row_id = R.id.ignite_a_row; view_id = R.id.ignite_a_voltage_value; label_id = R.id.ignite_a_voltage_label; red_id = R.id.ignite_a_redled; green_id = R.id.ignite_a_greenled; break; case 1: + row_id = R.id.ignite_b_row; view_id = R.id.ignite_b_voltage_value; label_id = R.id.ignite_b_voltage_label; red_id = R.id.ignite_b_redled; green_id = R.id.ignite_b_greenled; break; case 2: + row_id = R.id.ignite_c_row; view_id = R.id.ignite_c_voltage_value; label_id = R.id.ignite_c_voltage_label; red_id = R.id.ignite_c_redled; green_id = R.id.ignite_c_greenled; break; case 3: + row_id = R.id.ignite_d_row; view_id = R.id.ignite_d_voltage_value; label_id = R.id.ignite_d_voltage_label; red_id = R.id.ignite_d_redled; green_id = R.id.ignite_d_greenled; break; } + ignite_row[i] = (TableRow) v.findViewById(row_id); ignite_voltage_view[i] = (TextView) v.findViewById(view_id); ignite_voltage_label[i] = (TextView) v.findViewById(label_id); ignite_lights[i] = new GoNoGoLights((ImageView) v.findViewById(red_id), @@ -154,50 +164,44 @@ public class TabPad extends AltosDroidTab { battery_voltage_view.setText(AltosDroid.number(" %4.2f V", state.battery_voltage)); battery_lights.set(state.battery_voltage >= AltosLib.ao_battery_good, state.battery_voltage == AltosLib.MISSING); if (state.apogee_voltage == AltosLib.MISSING) { - apogee_voltage_view.setVisibility(View.GONE); - apogee_voltage_label.setVisibility(View.GONE); + apogee_row.setVisibility(View.GONE); } else { apogee_voltage_view.setText(AltosDroid.number(" %4.2f V", state.apogee_voltage)); - apogee_voltage_view.setVisibility(View.VISIBLE); - apogee_voltage_label.setVisibility(View.VISIBLE); + apogee_row.setVisibility(View.VISIBLE); } apogee_lights.set(state.apogee_voltage >= AltosLib.ao_igniter_good, state.apogee_voltage == AltosLib.MISSING); if (state.main_voltage == AltosLib.MISSING) { - main_voltage_view.setVisibility(View.GONE); - main_voltage_label.setVisibility(View.GONE); + main_row.setVisibility(View.GONE); } else { main_voltage_view.setText(AltosDroid.number(" %4.2f V", state.main_voltage)); - main_voltage_view.setVisibility(View.VISIBLE); - main_voltage_label.setVisibility(View.VISIBLE); + main_row.setVisibility(View.VISIBLE); } main_lights.set(state.main_voltage >= AltosLib.ao_igniter_good, state.main_voltage == AltosLib.MISSING); - int num_igniter = state.ignitor_voltage == null ? 0 : state.ignitor_voltage.length; + int num_igniter = state.igniter_voltage == null ? 0 : state.igniter_voltage.length; for (int i = 0; i < 4; i++) { - double voltage = i >= num_igniter ? AltosLib.MISSING : state.ignitor_voltage[i]; + double voltage = i >= num_igniter ? AltosLib.MISSING : state.igniter_voltage[i]; if (voltage == AltosLib.MISSING) { - ignite_voltage_view[i].setVisibility(View.GONE); - ignite_voltage_label[i].setVisibility(View.GONE); + ignite_row[i].setVisibility(View.GONE); } else { ignite_voltage_view[i].setText(AltosDroid.number(" %4.2f V", voltage)); - ignite_voltage_view[i].setVisibility(View.VISIBLE); - ignite_voltage_label[i].setVisibility(View.VISIBLE); + ignite_row[i].setVisibility(View.VISIBLE); } ignite_lights[i].set(voltage >= AltosLib.ao_igniter_good, voltage == AltosLib.MISSING); } - if (state.flight != 0) { - if (state.state <= AltosLib.ao_flight_pad) + if (state.cal_data.flight != 0) { + if (state.state() <= AltosLib.ao_flight_pad) data_logging_view.setText("Ready to record"); - else if (state.state < AltosLib.ao_flight_landed) + else if (state.state() < AltosLib.ao_flight_landed) data_logging_view.setText("Recording data"); else data_logging_view.setText("Recorded data"); } else { data_logging_view.setText("Storage full"); } - data_logging_lights.set(state.flight != 0, state.flight == AltosLib.MISSING); + data_logging_lights.set(state.cal_data.flight != 0, state.cal_data.flight == AltosLib.MISSING); if (state.gps != null) { int soln = state.gps.nsat; @@ -215,12 +219,10 @@ public class TabPad extends AltosDroidTab { if (telem_state != null) { if (telem_state.receiver_battery == AltosLib.MISSING) { - receiver_voltage_view.setVisibility(View.GONE); - receiver_voltage_label.setVisibility(View.GONE); + receiver_row.setVisibility(View.GONE); } else { receiver_voltage_view.setText(AltosDroid.number(" %4.2f V", telem_state.receiver_battery)); - receiver_voltage_view.setVisibility(View.VISIBLE); - receiver_voltage_label.setVisibility(View.VISIBLE); + receiver_row.setVisibility(View.VISIBLE); } receiver_voltage_lights.set(telem_state.receiver_battery >= AltosLib.ao_battery_good, telem_state.receiver_battery == AltosLib.MISSING); }