From: Keith Packard Date: Mon, 20 Sep 2021 02:01:34 +0000 (-0700) Subject: altosdroid: Add tilt angle to pad and flight tabs X-Git-Tag: 1.9.8~1^2~11 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=07fa6611080cc7a4ae2815e9867afde5be7a3f89 altosdroid: Add tilt angle to pad and flight tabs Useful for monitoring attitude Signed-off-by: Keith Packard --- diff --git a/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabFlight.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabFlight.java index 8230757c..0346f71c 100644 --- a/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabFlight.java +++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabFlight.java @@ -29,6 +29,8 @@ public class TabFlight extends AltosDroidTab { private TextView speed_view; private TextView height_view; private TextView altitude_view; + private View tilt_view; + private TextView tilt_value; private TextView max_speed_view; private TextView max_height_view; private TextView max_altitude_view; @@ -52,11 +54,13 @@ public class TabFlight extends AltosDroidTab { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.tab_flight, container, false); - speed_view = (TextView) v.findViewById(R.id.speed_value); - height_view = (TextView) v.findViewById(R.id.height_value); - altitude_view = (TextView) v.findViewById(R.id.altitude_value); - max_speed_view = (TextView) v.findViewById(R.id.max_speed_value); - max_height_view= (TextView) v.findViewById(R.id.max_height_value); + speed_view = (TextView) v.findViewById(R.id.speed_value); + height_view = (TextView) v.findViewById(R.id.height_value); + altitude_view = (TextView) v.findViewById(R.id.altitude_value); + tilt_view = (View) v.findViewById(R.id.tilt_view); + tilt_value = (TextView) v.findViewById(R.id.tilt_value); + max_speed_view = (TextView) v.findViewById(R.id.max_speed_value); + max_height_view = (TextView) v.findViewById(R.id.max_height_value); max_altitude_view= (TextView) v.findViewById(R.id.max_altitude_value); elevation_view = (TextView) v.findViewById(R.id.elevation_value); range_view = (TextView) v.findViewById(R.id.range_value); @@ -90,6 +94,13 @@ public class TabFlight extends AltosDroidTab { set_value(speed_view, AltosConvert.speed, 1, state.speed()); set_value(height_view, AltosConvert.height, 1, state.height()); set_value(altitude_view, AltosConvert.height, 1, state.altitude()); + double orient = state.orient(); + if (orient == AltosLib.MISSING) { + tilt_view.setVisibility(View.GONE); + } else { + tilt_value.setText(AltosDroid.number("%1.0f°", orient)); + tilt_view.setVisibility(View.VISIBLE); + } set_value(max_speed_view, AltosConvert.speed, 1, state.max_speed()); set_value(max_height_view, AltosConvert.height, 1, state.max_height()); set_value(max_altitude_view, AltosConvert.height, 1, state.max_altitude()); diff --git a/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabPad.java b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabPad.java index f526857f..4a8b3f86 100644 --- a/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabPad.java +++ b/altosdroid/app/src/main/java/org/altusmetrum/AltosDroid/TabPad.java @@ -62,6 +62,8 @@ public class TabPad extends AltosDroidTab { private TextView[] ignite_voltage_label = new TextView[4]; private GoNoGoLights[] ignite_lights = new GoNoGoLights[4]; + private View tilt_view; + private TextView tilt_value; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -107,6 +109,9 @@ public class TabPad extends AltosDroidTab { (ImageView) v.findViewById(R.id.gps_ready_greenled), getResources()); + tilt_view = (View) v.findViewById(R.id.tilt_view); + tilt_value = (TextView) v.findViewById(R.id.tilt_value); + for (int i = 0; i < 4; i++) { int row_id, view_id, label_id, lights_id; int red_id, green_id; @@ -213,8 +218,18 @@ public class TabPad extends AltosDroidTab { } else gps_locked_lights.set(false, true); gps_ready_lights.set(state.gps_ready, state.gps == null); + + double orient = state.orient(); + + if (orient == AltosLib.MISSING) { + tilt_view.setVisibility(View.GONE); + } else { + tilt_value.setText(AltosDroid.number("%1.0f°", orient)); + tilt_view.setVisibility(View.VISIBLE); + } } + if (telem_state != null) { if (telem_state.receiver_battery == AltosLib.MISSING) { receiver_row.setVisibility(View.GONE); diff --git a/altosdroid/app/src/main/res/layout/tab_flight.xml b/altosdroid/app/src/main/res/layout/tab_flight.xml index db655270..c588de16 100644 --- a/altosdroid/app/src/main/res/layout/tab_flight.xml +++ b/altosdroid/app/src/main/res/layout/tab_flight.xml @@ -98,6 +98,31 @@ android:textAppearance="?android:attr/textAppearanceSmall" /> + + + + + + + + + + + + + + Altitude Speed Acceleration + Tilt Bearing Direction Elevation