summaryrefslogtreecommitdiff
path: root/altosuilib
diff options
context:
space:
mode:
Diffstat (limited to 'altosuilib')
-rw-r--r--altosuilib/AltosBTDevice.java4
-rw-r--r--altosuilib/AltosBTDeviceIterator.java4
-rw-r--r--altosuilib/AltosBTKnown.java4
-rw-r--r--altosuilib/AltosBTManage.java4
-rw-r--r--altosuilib/AltosCSVUI.java4
-rw-r--r--altosuilib/AltosConfigFreqUI.java4
-rw-r--r--altosuilib/AltosDataChooser.java4
-rw-r--r--altosuilib/AltosDevice.java2
-rw-r--r--altosuilib/AltosDeviceDialog.java2
-rw-r--r--altosuilib/AltosDeviceUIDialog.java2
-rw-r--r--altosuilib/AltosDisplayThread.java8
-rw-r--r--altosuilib/AltosEepromDelete.java4
-rw-r--r--altosuilib/AltosEepromManage.java4
-rw-r--r--altosuilib/AltosEepromMonitor.java2
-rw-r--r--altosuilib/AltosEepromMonitorUI.java48
-rw-r--r--altosuilib/AltosEepromSelect.java4
-rw-r--r--altosuilib/AltosFlashUI.java8
-rw-r--r--altosuilib/AltosFlightDisplay.java4
-rw-r--r--altosuilib/AltosFlightInfoTableModel.java2
-rw-r--r--altosuilib/AltosFlightStatsTable.java4
-rw-r--r--altosuilib/AltosFontListener.java2
-rw-r--r--altosuilib/AltosGraph.java118
-rw-r--r--altosuilib/AltosGraphDataPoint.java93
-rw-r--r--altosuilib/AltosGraphDataSet.java4
-rw-r--r--altosuilib/AltosInfoTable.java6
-rw-r--r--altosuilib/AltosLed.java2
-rw-r--r--altosuilib/AltosLights.java2
-rw-r--r--altosuilib/AltosPositionListener.java2
-rw-r--r--altosuilib/AltosRomconfigUI.java4
-rw-r--r--altosuilib/AltosScanUI.java18
-rw-r--r--altosuilib/AltosSerial.java4
-rw-r--r--altosuilib/AltosSerialInUseException.java2
-rw-r--r--altosuilib/AltosUIAxis.java4
-rw-r--r--altosuilib/AltosUIConfigure.java2
-rw-r--r--altosuilib/AltosUIDataMissing.java2
-rw-r--r--altosuilib/AltosUIDataPoint.java2
-rw-r--r--altosuilib/AltosUIDataSet.java2
-rw-r--r--altosuilib/AltosUIDialog.java2
-rw-r--r--altosuilib/AltosUIEnable.java19
-rw-r--r--altosuilib/AltosUIFlightTab.java4
-rw-r--r--altosuilib/AltosUIFrame.java2
-rw-r--r--altosuilib/AltosUIFreqList.java4
-rw-r--r--altosuilib/AltosUIGraph.java4
-rw-r--r--altosuilib/AltosUIGrapher.java4
-rw-r--r--altosuilib/AltosUIIndicator.java4
-rw-r--r--altosuilib/AltosUILatLon.java4
-rw-r--r--altosuilib/AltosUILib.java20
-rw-r--r--altosuilib/AltosUIListener.java2
-rw-r--r--altosuilib/AltosUIMap.java4
-rw-r--r--altosuilib/AltosUIMapCache.java2
-rw-r--r--altosuilib/AltosUIMapCacheListener.java2
-rw-r--r--altosuilib/AltosUIMapImage.java2
-rw-r--r--altosuilib/AltosUIMapLine.java4
-rw-r--r--altosuilib/AltosUIMapMark.java4
-rw-r--r--altosuilib/AltosUIMapPath.java4
-rw-r--r--altosuilib/AltosUIMapPreload.java4
-rw-r--r--altosuilib/AltosUIMapRectangle.java2
-rw-r--r--altosuilib/AltosUIMapStore.java2
-rw-r--r--altosuilib/AltosUIMapStoreListener.java2
-rw-r--r--altosuilib/AltosUIMapTile.java4
-rw-r--r--altosuilib/AltosUIMapTileListener.java2
-rw-r--r--altosuilib/AltosUIMapTransform.java4
-rw-r--r--altosuilib/AltosUIMapView.java4
-rw-r--r--altosuilib/AltosUIMapZoomListener.java2
-rw-r--r--altosuilib/AltosUIMarker.java4
-rw-r--r--altosuilib/AltosUIPreferences.java4
-rw-r--r--altosuilib/AltosUIPreferencesBackend.java12
-rw-r--r--altosuilib/AltosUIRateList.java4
-rw-r--r--altosuilib/AltosUISeries.java4
-rw-r--r--altosuilib/AltosUITelemetryList.java4
-rw-r--r--altosuilib/AltosUIUnitsIndicator.java4
-rw-r--r--altosuilib/AltosUIVersion.java.in2
-rw-r--r--altosuilib/AltosUIVoltageIndicator.java4
-rw-r--r--altosuilib/AltosUSBDevice.java2
-rw-r--r--altosuilib/AltosVoice.java2
-rw-r--r--altosuilib/GrabNDrag.java2
-rwxr-xr-xaltosuilib/OSXAdapter.java2
77 files changed, 301 insertions, 257 deletions
diff --git a/altosuilib/AltosBTDevice.java b/altosuilib/AltosBTDevice.java
index 2c085021..0dd1cab2 100644
--- a/altosuilib/AltosBTDevice.java
+++ b/altosuilib/AltosBTDevice.java
@@ -15,10 +15,10 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import libaltosJNI.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosBTDevice extends altos_bt_device implements AltosDevice {
diff --git a/altosuilib/AltosBTDeviceIterator.java b/altosuilib/AltosBTDeviceIterator.java
index c99b27f9..eebad36b 100644
--- a/altosuilib/AltosBTDeviceIterator.java
+++ b/altosuilib/AltosBTDeviceIterator.java
@@ -15,11 +15,11 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.util.*;
import libaltosJNI.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosBTDeviceIterator implements Iterator<AltosBTDevice> {
AltosBTDevice current;
diff --git a/altosuilib/AltosBTKnown.java b/altosuilib/AltosBTKnown.java
index c526269d..73ee473f 100644
--- a/altosuilib/AltosBTKnown.java
+++ b/altosuilib/AltosBTKnown.java
@@ -15,10 +15,10 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.util.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosBTKnown implements Iterable<AltosBTDevice> {
LinkedList<AltosBTDevice> devices = new LinkedList<AltosBTDevice>();
diff --git a/altosuilib/AltosBTManage.java b/altosuilib/AltosBTManage.java
index b953ca92..c4ac363f 100644
--- a/altosuilib/AltosBTManage.java
+++ b/altosuilib/AltosBTManage.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -23,7 +23,7 @@ import javax.swing.*;
import javax.swing.plaf.basic.*;
import java.util.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosBTManage extends AltosUIDialog implements ActionListener, Iterable<AltosBTDevice> {
LinkedBlockingQueue<AltosBTDevice> found_devices;
diff --git a/altosuilib/AltosCSVUI.java b/altosuilib/AltosCSVUI.java
index 6328d37d..94d523fe 100644
--- a/altosuilib/AltosCSVUI.java
+++ b/altosuilib/AltosCSVUI.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosCSVUI
extends AltosUIDialog
diff --git a/altosuilib/AltosConfigFreqUI.java b/altosuilib/AltosConfigFreqUI.java
index a0525a00..6253e3e4 100644
--- a/altosuilib/AltosConfigFreqUI.java
+++ b/altosuilib/AltosConfigFreqUI.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
class AltosEditFreqUI extends AltosUIDialog implements ActionListener {
Frame frame;
diff --git a/altosuilib/AltosDataChooser.java b/altosuilib/AltosDataChooser.java
index 1990faf1..3fe76687 100644
--- a/altosuilib/AltosDataChooser.java
+++ b/altosuilib/AltosDataChooser.java
@@ -15,12 +15,12 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.io.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosDataChooser extends JFileChooser {
JFrame frame;
diff --git a/altosuilib/AltosDevice.java b/altosuilib/AltosDevice.java
index 1f5536ff..401387a4 100644
--- a/altosuilib/AltosDevice.java
+++ b/altosuilib/AltosDevice.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import libaltosJNI.*;
diff --git a/altosuilib/AltosDeviceDialog.java b/altosuilib/AltosDeviceDialog.java
index d2ccd5e7..5fb1331e 100644
--- a/altosuilib/AltosDeviceDialog.java
+++ b/altosuilib/AltosDeviceDialog.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
import java.awt.*;
diff --git a/altosuilib/AltosDeviceUIDialog.java b/altosuilib/AltosDeviceUIDialog.java
index 80a76d6d..9618895e 100644
--- a/altosuilib/AltosDeviceUIDialog.java
+++ b/altosuilib/AltosDeviceUIDialog.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
import java.awt.*;
diff --git a/altosuilib/AltosDisplayThread.java b/altosuilib/AltosDisplayThread.java
index 6b6e03e7..ccf8b3ef 100644
--- a/altosuilib/AltosDisplayThread.java
+++ b/altosuilib/AltosDisplayThread.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.text.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosDisplayThread extends Thread {
@@ -224,8 +224,10 @@ public class AltosDisplayThread extends Thread {
for (;;) {
try {
state = reader.read();
- if (state == null)
+ if (state == null) {
+ listener_state.running = false;
break;
+ }
reader.update(state);
show_safely();
told = tell();
diff --git a/altosuilib/AltosEepromDelete.java b/altosuilib/AltosEepromDelete.java
index 39585dad..9fb21cf4 100644
--- a/altosuilib/AltosEepromDelete.java
+++ b/altosuilib/AltosEepromDelete.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosEepromDelete implements Runnable {
AltosEepromList flights;
diff --git a/altosuilib/AltosEepromManage.java b/altosuilib/AltosEepromManage.java
index 81dd3d13..47a62ef7 100644
--- a/altosuilib/AltosEepromManage.java
+++ b/altosuilib/AltosEepromManage.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosEepromManage implements ActionListener {
diff --git a/altosuilib/AltosEepromMonitor.java b/altosuilib/AltosEepromMonitor.java
index 060d0474..83c5c1d0 100644
--- a/altosuilib/AltosEepromMonitor.java
+++ b/altosuilib/AltosEepromMonitor.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
diff --git a/altosuilib/AltosEepromMonitorUI.java b/altosuilib/AltosEepromMonitorUI.java
index 11dd4adb..ac39fb1d 100644
--- a/altosuilib/AltosEepromMonitorUI.java
+++ b/altosuilib/AltosEepromMonitorUI.java
@@ -15,12 +15,12 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosEepromMonitorUI extends AltosUIDialog implements AltosEepromMonitor {
JFrame owner;
@@ -37,6 +37,8 @@ public class AltosEepromMonitorUI extends AltosUIDialog implements AltosEepromMo
int min_state, max_state;
ActionListener listener;
+ static final int progress_max = 10000;
+
public AltosEepromMonitorUI(JFrame owner) {
super (owner, "Download Flight Data", false);
@@ -102,7 +104,7 @@ public class AltosEepromMonitorUI extends AltosUIDialog implements AltosEepromMo
pbar = new JProgressBar();
pbar.setMinimum(0);
- pbar.setMaximum(1000);
+ pbar.setMaximum(progress_max);
pbar.setValue(0);
pbar.setString("startup");
pbar.setStringPainted(true);
@@ -155,16 +157,40 @@ public class AltosEepromMonitorUI extends AltosUIDialog implements AltosEepromMo
}
private void set_value_internal(String state_name, int state, int state_block, int block) {
- if (state_block > 100)
- state_block = 100;
- if (state < min_state) state = min_state;
- if (state >= max_state) state = max_state - 1;
- state -= min_state;
+ double pos;
+ String s;
+
+ if (min_state == AltosLib.ao_flight_invalid) {
+ int lblock = block;
+ if (lblock > 1000)
+ lblock = 1000;
+ pos = lblock / 1000.0;
+ s = String.format("block %d", block);
+ } else {
+ if (state == AltosLib.ao_flight_invalid)
+ state = 0;
+ if (state_block > 100)
+ state_block = 100;
+ if (state < min_state) state = min_state;
+ if (state > max_state) state = max_state;
+
+ if (state == max_state)
+ state_block = 0;
+
+ state -= min_state;
- int pos = state * 100 + state_block;
+ int nstate = max_state - min_state;
+
+ double spos = (double) state / (double) nstate;
+ double bpos = state_block / 100.0;
+
+ pos = spos + bpos / nstate;
+
+ s = String.format("block %d state %s", block, state_name);
+ }
- pbar.setString(String.format("block %d state %s", block, state_name));
- pbar.setValue(pos);
+ pbar.setString(s);
+ pbar.setValue((int) (pos * progress_max));
}
public void set_value(String in_state_name, int in_state, int in_state_block, int in_block) {
diff --git a/altosuilib/AltosEepromSelect.java b/altosuilib/AltosEepromSelect.java
index 1adfdab5..b291c35a 100644
--- a/altosuilib/AltosEepromSelect.java
+++ b/altosuilib/AltosEepromSelect.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
class AltosEepromItem implements ActionListener {
AltosEepromLog log;
diff --git a/altosuilib/AltosFlashUI.java b/altosuilib/AltosFlashUI.java
index 44be2a90..6e497c42 100644
--- a/altosuilib/AltosFlashUI.java
+++ b/altosuilib/AltosFlashUI.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -23,7 +23,7 @@ import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.io.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosFlashUI
extends AltosUIDialog
@@ -56,8 +56,8 @@ public class AltosFlashUI
private static String[] pair_programmed = {
"teleballoon",
- "telebt",
- "teledongle",
+ "telebt-v1",
+ "teledongle-v0",
"telefire",
"telemetrum-v0",
"telemetrum-v1",
diff --git a/altosuilib/AltosFlightDisplay.java b/altosuilib/AltosFlightDisplay.java
index d0f20bb4..ac65c49e 100644
--- a/altosuilib/AltosFlightDisplay.java
+++ b/altosuilib/AltosFlightDisplay.java
@@ -15,9 +15,9 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public interface AltosFlightDisplay extends AltosUnitsListener, AltosFontListener {
void reset();
diff --git a/altosuilib/AltosFlightInfoTableModel.java b/altosuilib/AltosFlightInfoTableModel.java
index 0bc4f847..f9d7d180 100644
--- a/altosuilib/AltosFlightInfoTableModel.java
+++ b/altosuilib/AltosFlightInfoTableModel.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.table.*;
diff --git a/altosuilib/AltosFlightStatsTable.java b/altosuilib/AltosFlightStatsTable.java
index 1ec4a03e..8a686646 100644
--- a/altosuilib/AltosFlightStatsTable.java
+++ b/altosuilib/AltosFlightStatsTable.java
@@ -15,12 +15,12 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import javax.swing.*;
import java.util.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosFlightStatsTable extends JComponent implements AltosFontListener {
GridBagLayout layout;
diff --git a/altosuilib/AltosFontListener.java b/altosuilib/AltosFontListener.java
index a1b2170b..93625278 100644
--- a/altosuilib/AltosFontListener.java
+++ b/altosuilib/AltosFontListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosFontListener {
void font_size_changed(int font_size);
diff --git a/altosuilib/AltosGraph.java b/altosuilib/AltosGraph.java
index 522eea1e..d7739228 100644
--- a/altosuilib/AltosGraph.java
+++ b/altosuilib/AltosGraph.java
@@ -15,14 +15,14 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.util.ArrayList;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import org.jfree.ui.*;
import org.jfree.chart.*;
@@ -329,48 +329,54 @@ public class AltosGraph extends AltosUIGraph {
gps_nsat_solution_color,
false,
nsat_axis);
- addSeries("GPS Satellites in View",
- AltosGraphDataPoint.data_gps_nsat_view,
- nsat_units,
- gps_nsat_view_color,
- false,
- nsat_axis);
- addSeries("GPS Course",
- AltosGraphDataPoint.data_gps_course,
- orient_units,
- gps_course_color,
- false,
- course_axis);
- addSeries("GPS Ground Speed",
- AltosGraphDataPoint.data_gps_ground_speed,
- AltosConvert.speed,
- gps_ground_speed_color,
- enable_gps,
- speed_axis);
- addSeries("GPS Climb Rate",
- AltosGraphDataPoint.data_gps_climb_rate,
- AltosConvert.speed,
- gps_climb_rate_color,
- enable_gps,
- speed_axis);
+ if (stats.has_gps_sats) {
+ addSeries("GPS Satellites in View",
+ AltosGraphDataPoint.data_gps_nsat_view,
+ nsat_units,
+ gps_nsat_view_color,
+ false,
+ nsat_axis);
+ }
+ if (stats.has_gps_detail) {
+ addSeries("GPS Course",
+ AltosGraphDataPoint.data_gps_course,
+ orient_units,
+ gps_course_color,
+ false,
+ course_axis);
+ addSeries("GPS Ground Speed",
+ AltosGraphDataPoint.data_gps_ground_speed,
+ AltosConvert.speed,
+ gps_ground_speed_color,
+ enable_gps,
+ speed_axis);
+ addSeries("GPS Climb Rate",
+ AltosGraphDataPoint.data_gps_climb_rate,
+ AltosConvert.speed,
+ gps_climb_rate_color,
+ enable_gps,
+ speed_axis);
+ }
addSeries("GPS Position DOP",
AltosGraphDataPoint.data_gps_pdop,
dop_units,
gps_pdop_color,
false,
dop_axis);
- addSeries("GPS Horizontal DOP",
- AltosGraphDataPoint.data_gps_hdop,
- dop_units,
- gps_hdop_color,
- false,
- dop_axis);
- addSeries("GPS Vertical DOP",
- AltosGraphDataPoint.data_gps_vdop,
- dop_units,
- gps_vdop_color,
- false,
- dop_axis);
+ if (stats.has_gps_detail) {
+ addSeries("GPS Horizontal DOP",
+ AltosGraphDataPoint.data_gps_hdop,
+ dop_units,
+ gps_hdop_color,
+ false,
+ dop_axis);
+ addSeries("GPS Vertical DOP",
+ AltosGraphDataPoint.data_gps_vdop,
+ dop_units,
+ gps_vdop_color,
+ false,
+ dop_axis);
+ }
}
if (stats.has_rssi)
addSeries("Received Signal Strength",
@@ -410,58 +416,58 @@ public class AltosGraph extends AltosUIGraph {
}
if (stats.has_imu) {
- addSeries("Acceleration X",
- AltosGraphDataPoint.data_accel_x,
+ addSeries("Acceleration Along",
+ AltosGraphDataPoint.data_accel_along,
AltosConvert.accel,
accel_x_color,
false,
accel_axis);
- addSeries("Acceleration Y",
- AltosGraphDataPoint.data_accel_y,
+ addSeries("Acceleration Across",
+ AltosGraphDataPoint.data_accel_across,
AltosConvert.accel,
accel_y_color,
false,
accel_axis);
- addSeries("Acceleration Z",
- AltosGraphDataPoint.data_accel_z,
+ addSeries("Acceleration Through",
+ AltosGraphDataPoint.data_accel_through,
AltosConvert.accel,
accel_z_color,
false,
accel_axis);
- addSeries("Rotation Rate X",
- AltosGraphDataPoint.data_gyro_x,
+ addSeries("Roll Rate",
+ AltosGraphDataPoint.data_gyro_roll,
gyro_units,
gyro_x_color,
false,
gyro_axis);
- addSeries("Rotation Rate Y",
- AltosGraphDataPoint.data_gyro_y,
+ addSeries("Pitch Rate",
+ AltosGraphDataPoint.data_gyro_pitch,
gyro_units,
gyro_y_color,
false,
gyro_axis);
- addSeries("Rotation Rate Z",
- AltosGraphDataPoint.data_gyro_z,
+ addSeries("Yaw Rate",
+ AltosGraphDataPoint.data_gyro_yaw,
gyro_units,
gyro_z_color,
false,
gyro_axis);
}
if (stats.has_mag) {
- addSeries("Magnetometer X",
- AltosGraphDataPoint.data_mag_x,
+ addSeries("Magnetometer Along",
+ AltosGraphDataPoint.data_mag_along,
mag_units,
mag_x_color,
false,
mag_axis);
- addSeries("Magnetometer Y",
- AltosGraphDataPoint.data_mag_y,
+ addSeries("Magnetometer Across",
+ AltosGraphDataPoint.data_mag_across,
mag_units,
mag_y_color,
false,
mag_axis);
- addSeries("Magnetometer Z",
- AltosGraphDataPoint.data_mag_z,
+ addSeries("Magnetometer Through",
+ AltosGraphDataPoint.data_mag_through,
mag_units,
mag_z_color,
false,
diff --git a/altosuilib/AltosGraphDataPoint.java b/altosuilib/AltosGraphDataPoint.java
index 56dadb8b..47989d0e 100644
--- a/altosuilib/AltosGraphDataPoint.java
+++ b/altosuilib/AltosGraphDataPoint.java
@@ -15,9 +15,9 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosGraphDataPoint implements AltosUIDataPoint {
@@ -40,15 +40,15 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {
public static final int data_range = 14;
public static final int data_distance = 15;
public static final int data_pressure = 16;
- public static final int data_accel_x = 17;
- public static final int data_accel_y = 18;
- public static final int data_accel_z = 19;
- public static final int data_gyro_x = 20;
- public static final int data_gyro_y = 21;
- public static final int data_gyro_z = 22;
- public static final int data_mag_x = 23;
- public static final int data_mag_y = 24;
- public static final int data_mag_z = 25;
+ public static final int data_accel_along = 17;
+ public static final int data_accel_across = 18;
+ public static final int data_accel_through = 19;
+ public static final int data_gyro_roll = 20;
+ public static final int data_gyro_pitch = 21;
+ public static final int data_gyro_yaw = 22;
+ public static final int data_mag_along = 23;
+ public static final int data_mag_across = 24;
+ public static final int data_mag_through = 25;
public static final int data_orient = 26;
public static final int data_gps_course = 27;
public static final int data_gps_ground_speed = 28;
@@ -128,53 +128,32 @@ public class AltosGraphDataPoint implements AltosUIDataPoint {
y = state.pressure();
break;
- case data_accel_x:
- case data_accel_y:
- case data_accel_z:
- case data_gyro_x:
- case data_gyro_y:
- case data_gyro_z:
- AltosIMU imu = state.imu;
- if (imu == null)
- break;
- switch (index) {
- case data_accel_x:
- y = imu.accel_x;
- break;
- case data_accel_y:
- y = imu.accel_y;
- break;
- case data_accel_z:
- y = imu.accel_z;
- break;
- case data_gyro_x:
- y = imu.gyro_x;
- break;
- case data_gyro_y:
- y = imu.gyro_y;
- break;
- case data_gyro_z:
- y = imu.gyro_z;
- break;
- }
+ case data_accel_along:
+ y = state.accel_along();
break;
- case data_mag_x:
- case data_mag_y:
- case data_mag_z:
- AltosMag mag = state.mag;
- if (mag == null)
- break;
- switch (index) {
- case data_mag_x:
- y = mag.x;
- break;
- case data_mag_y:
- y = mag.y;
- break;
- case data_mag_z:
- y = mag.z;
- break;
- }
+ case data_accel_across:
+ y = state.accel_across();
+ break;
+ case data_accel_through:
+ y = state.accel_through();
+ break;
+ case data_gyro_roll:
+ y = state.gyro_roll();
+ break;
+ case data_gyro_pitch:
+ y = state.gyro_pitch();
+ break;
+ case data_gyro_yaw:
+ y = state.gyro_yaw();
+ break;
+ case data_mag_along:
+ y = state.mag_along();
+ break;
+ case data_mag_across:
+ y = state.mag_across();
+ break;
+ case data_mag_through:
+ y = state.mag_through();
break;
case data_orient:
y = state.orient();
diff --git a/altosuilib/AltosGraphDataSet.java b/altosuilib/AltosGraphDataSet.java
index 0845f20e..b9c9d2a8 100644
--- a/altosuilib/AltosGraphDataSet.java
+++ b/altosuilib/AltosGraphDataSet.java
@@ -15,12 +15,12 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.lang.*;
import java.io.*;
import java.util.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
class AltosGraphIterator implements Iterator<AltosUIDataPoint> {
AltosGraphDataSet dataSet;
diff --git a/altosuilib/AltosInfoTable.java b/altosuilib/AltosInfoTable.java
index 625fe76f..89a656c9 100644
--- a/altosuilib/AltosInfoTable.java
+++ b/altosuilib/AltosInfoTable.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosInfoTable extends JTable implements AltosFlightDisplay, HierarchyListener {
private AltosFlightInfoTableModel model;
@@ -207,7 +207,7 @@ public class AltosInfoTable extends JTable implements AltosFlightDisplay, Hierar
state.gps.climb_rate);
if (state.gps.h_error != AltosLib.MISSING && state.gps.v_error != AltosLib.MISSING)
- info_add_row(1, "GPS error", "%6d m(h)%3d m(v)",
+ info_add_row(1, "GPS error", "%6.0f m(h)%6.0f m(v)",
state.gps.h_error, state.gps.v_error);
if (state.gps.pdop != AltosLib.MISSING &&
state.gps.hdop != AltosLib.MISSING &&
diff --git a/altosuilib/AltosLed.java b/altosuilib/AltosLed.java
index 0dd5740c..fa33c4b6 100644
--- a/altosuilib/AltosLed.java
+++ b/altosuilib/AltosLed.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
diff --git a/altosuilib/AltosLights.java b/altosuilib/AltosLights.java
index 30934d96..05d06ac4 100644
--- a/altosuilib/AltosLights.java
+++ b/altosuilib/AltosLights.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import javax.swing.*;
diff --git a/altosuilib/AltosPositionListener.java b/altosuilib/AltosPositionListener.java
index dfc3c649..1274a64a 100644
--- a/altosuilib/AltosPositionListener.java
+++ b/altosuilib/AltosPositionListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosPositionListener {
public void position_changed(int position);
diff --git a/altosuilib/AltosRomconfigUI.java b/altosuilib/AltosRomconfigUI.java
index 481ce656..99e4d004 100644
--- a/altosuilib/AltosRomconfigUI.java
+++ b/altosuilib/AltosRomconfigUI.java
@@ -15,12 +15,12 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosRomconfigUI
extends AltosUIDialog
diff --git a/altosuilib/AltosScanUI.java b/altosuilib/AltosScanUI.java
index 7e51a55a..5a7e21b1 100644
--- a/altosuilib/AltosScanUI.java
+++ b/altosuilib/AltosScanUI.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -25,7 +25,7 @@ import java.io.*;
import java.util.*;
import java.text.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
class AltosScanResult {
String callsign;
@@ -159,6 +159,8 @@ public class AltosScanUI
Thread thread;
AltosFrequency[] frequencies;
int frequency_index;
+ int packet_count;
+ int tick_count;
void scan_exception(Exception e) {
if (e instanceof FileNotFoundException) {
@@ -200,6 +202,7 @@ public class AltosScanUI
AltosState state = reader.read();
if (state == null)
continue;
+ packet_count++;
if (state.flight != AltosLib.MISSING) {
final AltosScanResult result = new AltosScanResult(state.callsign,
state.serial,
@@ -251,9 +254,6 @@ public class AltosScanUI
void next() throws InterruptedException, TimeoutException {
reader.set_monitor(false);
- /* Let any pending input from the last configuration drain out */
- Thread.sleep(100);
-
if (select_rate) {
boolean wrapped = false;
do {
@@ -284,6 +284,8 @@ public class AltosScanUI
return;
}
}
+ packet_count = 0;
+ tick_count = 0;
++frequency_index;
if (frequency_index >= frequencies.length)
frequency_index = 0;
@@ -308,7 +310,9 @@ public class AltosScanUI
}
void tick_timer() throws InterruptedException, TimeoutException {
- next();
+ ++tick_count;
+ if (packet_count == 0 || tick_count > 5)
+ next();
}
public void actionPerformed(ActionEvent e) {
@@ -356,7 +360,6 @@ public class AltosScanUI
if (r != null) {
if (device != null) {
if (reader != null) {
- System.out.printf("frequency %g rate %d\n", r.frequency.frequency, r.rate);
reader.set_telemetry(r.telemetry);
reader.set_telemetry_rate(r.rate);
reader.set_frequency(r.frequency.frequency);
@@ -441,6 +444,7 @@ public class AltosScanUI
}
public AltosScanUI(AltosUIFrame in_owner, boolean in_select_telemetry) {
+ super(in_owner, "Scan Telemetry", false);
owner = in_owner;
select_telemetry = in_select_telemetry;
diff --git a/altosuilib/AltosSerial.java b/altosuilib/AltosSerial.java
index 0eba55fd..95815a7b 100644
--- a/altosuilib/AltosSerial.java
+++ b/altosuilib/AltosSerial.java
@@ -19,13 +19,13 @@
* Deal with TeleDongle on a serial port
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.util.*;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import libaltosJNI.*;
/*
diff --git a/altosuilib/AltosSerialInUseException.java b/altosuilib/AltosSerialInUseException.java
index cd19b101..0487e146 100644
--- a/altosuilib/AltosSerialInUseException.java
+++ b/altosuilib/AltosSerialInUseException.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public class AltosSerialInUseException extends Exception {
public AltosDevice device;
diff --git a/altosuilib/AltosUIAxis.java b/altosuilib/AltosUIAxis.java
index 9e98ddb7..89f5493b 100644
--- a/altosuilib/AltosUIAxis.java
+++ b/altosuilib/AltosUIAxis.java
@@ -15,14 +15,14 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.util.ArrayList;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import org.jfree.ui.*;
import org.jfree.chart.*;
diff --git a/altosuilib/AltosUIConfigure.java b/altosuilib/AltosUIConfigure.java
index 9c0f3bc7..b022aeec 100644
--- a/altosuilib/AltosUIConfigure.java
+++ b/altosuilib/AltosUIConfigure.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
diff --git a/altosuilib/AltosUIDataMissing.java b/altosuilib/AltosUIDataMissing.java
index 9a810a41..a0e41fef 100644
--- a/altosuilib/AltosUIDataMissing.java
+++ b/altosuilib/AltosUIDataMissing.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public class AltosUIDataMissing extends Exception {
public int id;
diff --git a/altosuilib/AltosUIDataPoint.java b/altosuilib/AltosUIDataPoint.java
index f72bbcd5..82ce862f 100644
--- a/altosuilib/AltosUIDataPoint.java
+++ b/altosuilib/AltosUIDataPoint.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosUIDataPoint {
public abstract double x() throws AltosUIDataMissing;
diff --git a/altosuilib/AltosUIDataSet.java b/altosuilib/AltosUIDataSet.java
index 9e048587..6293911d 100644
--- a/altosuilib/AltosUIDataSet.java
+++ b/altosuilib/AltosUIDataSet.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosUIDataSet {
public abstract String name();
diff --git a/altosuilib/AltosUIDialog.java b/altosuilib/AltosUIDialog.java
index 9fc5283e..77e549c4 100644
--- a/altosuilib/AltosUIDialog.java
+++ b/altosuilib/AltosUIDialog.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
diff --git a/altosuilib/AltosUIEnable.java b/altosuilib/AltosUIEnable.java
index e227d2b7..481e5b87 100644
--- a/altosuilib/AltosUIEnable.java
+++ b/altosuilib/AltosUIEnable.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -23,7 +23,7 @@ import javax.swing.*;
import java.io.*;
import java.util.concurrent.*;
import java.util.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import org.jfree.ui.*;
import org.jfree.chart.*;
@@ -37,12 +37,19 @@ import org.jfree.data.*;
public class AltosUIEnable extends Container {
- Insets il, ir;
- int y;
- int x;
+ Insets il, ir;
+ int y;
+ int x;
+ JCheckBox imperial_units;
static final int max_rows = 14;
+ public void units_changed(boolean imperial_units) {
+ if (this.imperial_units != null) {
+ this.imperial_units.setSelected(imperial_units);
+ }
+ }
+
class GraphElement implements ActionListener {
AltosUIGrapher grapher;
JCheckBox enable;
@@ -86,7 +93,7 @@ public class AltosUIEnable extends Container {
/* Imperial units setting */
/* Add label */
- JCheckBox imperial_units = new JCheckBox("Imperial Units", AltosUIPreferences.imperial_units());
+ imperial_units = new JCheckBox("Imperial Units", AltosUIPreferences.imperial_units());
imperial_units.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JCheckBox item = (JCheckBox) e.getSource();
diff --git a/altosuilib/AltosUIFlightTab.java b/altosuilib/AltosUIFlightTab.java
index 74161634..ea4f0cb0 100644
--- a/altosuilib/AltosUIFlightTab.java
+++ b/altosuilib/AltosUIFlightTab.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public abstract class AltosUIFlightTab extends JComponent implements AltosFlightDisplay, HierarchyListener {
public GridBagLayout layout;
diff --git a/altosuilib/AltosUIFrame.java b/altosuilib/AltosUIFrame.java
index 2e886932..39b1eb73 100644
--- a/altosuilib/AltosUIFrame.java
+++ b/altosuilib/AltosUIFrame.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
diff --git a/altosuilib/AltosUIFreqList.java b/altosuilib/AltosUIFreqList.java
index 84e6dce4..430069f5 100644
--- a/altosuilib/AltosUIFreqList.java
+++ b/altosuilib/AltosUIFreqList.java
@@ -15,10 +15,10 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIFreqList extends JComboBox<AltosFrequency> {
diff --git a/altosuilib/AltosUIGraph.java b/altosuilib/AltosUIGraph.java
index 870c4e93..d20aa54b 100644
--- a/altosuilib/AltosUIGraph.java
+++ b/altosuilib/AltosUIGraph.java
@@ -15,14 +15,14 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.util.ArrayList;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import org.jfree.ui.*;
import org.jfree.chart.*;
diff --git a/altosuilib/AltosUIGrapher.java b/altosuilib/AltosUIGrapher.java
index 39accab4..fcd3546f 100644
--- a/altosuilib/AltosUIGrapher.java
+++ b/altosuilib/AltosUIGrapher.java
@@ -15,14 +15,14 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.util.ArrayList;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import org.jfree.ui.*;
import org.jfree.chart.*;
diff --git a/altosuilib/AltosUIIndicator.java b/altosuilib/AltosUIIndicator.java
index d17078e7..f2e77218 100644
--- a/altosuilib/AltosUIIndicator.java
+++ b/altosuilib/AltosUIIndicator.java
@@ -15,11 +15,11 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public abstract class AltosUIIndicator implements AltosFontListener, AltosUnitsListener {
JLabel label;
diff --git a/altosuilib/AltosUILatLon.java b/altosuilib/AltosUILatLon.java
index a15bf19f..72ff74d8 100644
--- a/altosuilib/AltosUILatLon.java
+++ b/altosuilib/AltosUILatLon.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -25,7 +25,7 @@ import java.lang.Math;
import java.awt.geom.*;
import java.util.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUILatLon {
public double lat;
diff --git a/altosuilib/AltosUILib.java b/altosuilib/AltosUILib.java
index 8fa7dfe6..2fa6cbd6 100644
--- a/altosuilib/AltosUILib.java
+++ b/altosuilib/AltosUILib.java
@@ -15,12 +15,12 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import libaltosJNI.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUILib extends AltosLib {
@@ -82,11 +82,23 @@ public class AltosUILib extends AltosLib {
static public boolean loaded_library = false;
static public boolean has_bluetooth = false;
- static final String[] library_names = { "altos", "altos32", "altos64" };
+ static final String[] library_names_32 = { "altos", "altos32", "altos64" };
+ static final String[] library_names_64 = { "altos", "altos64", "altos32" };
public static boolean load_library() {
if (!initialized) {
- for (String name : library_names) {
+ String model = System.getProperty("sun.arch.data.model", "missing");
+ boolean is_64 = false;
+ if (model.equals("64")) {
+ is_64 = true;
+ } else if (model.equals("32")) {
+ ;
+ } else {
+ String arch = System.getProperty("os.arch", "missing");
+ if (arch.endsWith("64"))
+ is_64 = true;
+ }
+ for (String name : is_64 ? library_names_64 : library_names_32) {
try {
System.loadLibrary(name);
libaltos.altos_init();
diff --git a/altosuilib/AltosUIListener.java b/altosuilib/AltosUIListener.java
index a32d310c..9eec0b24 100644
--- a/altosuilib/AltosUIListener.java
+++ b/altosuilib/AltosUIListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosUIListener {
public void ui_changed(String look_and_feel);
diff --git a/altosuilib/AltosUIMap.java b/altosuilib/AltosUIMap.java
index c22801f8..5c6d5bdf 100644
--- a/altosuilib/AltosUIMap.java
+++ b/altosuilib/AltosUIMap.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -25,7 +25,7 @@ import java.lang.Math;
import java.awt.geom.*;
import java.util.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosUIMapZoomListener {
diff --git a/altosuilib/AltosUIMapCache.java b/altosuilib/AltosUIMapCache.java
index b9064cf4..73401e3c 100644
--- a/altosuilib/AltosUIMapCache.java
+++ b/altosuilib/AltosUIMapCache.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
import javax.imageio.ImageIO;
diff --git a/altosuilib/AltosUIMapCacheListener.java b/altosuilib/AltosUIMapCacheListener.java
index 680d123e..1eec7b0a 100644
--- a/altosuilib/AltosUIMapCacheListener.java
+++ b/altosuilib/AltosUIMapCacheListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosUIMapCacheListener {
public void map_cache_changed(int map_cache);
diff --git a/altosuilib/AltosUIMapImage.java b/altosuilib/AltosUIMapImage.java
index 77cd4299..97220a40 100644
--- a/altosuilib/AltosUIMapImage.java
+++ b/altosuilib/AltosUIMapImage.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
import javax.imageio.ImageIO;
diff --git a/altosuilib/AltosUIMapLine.java b/altosuilib/AltosUIMapLine.java
index 32437d4e..2634f843 100644
--- a/altosuilib/AltosUIMapLine.java
+++ b/altosuilib/AltosUIMapLine.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -25,7 +25,7 @@ import java.lang.Math;
import java.awt.geom.*;
import java.util.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIMapLine {
AltosUILatLon start, end;
diff --git a/altosuilib/AltosUIMapMark.java b/altosuilib/AltosUIMapMark.java
index 47fc4d5e..b4b98efa 100644
--- a/altosuilib/AltosUIMapMark.java
+++ b/altosuilib/AltosUIMapMark.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -25,7 +25,7 @@ import java.lang.Math;
import java.awt.geom.*;
import java.util.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIMapMark {
diff --git a/altosuilib/AltosUIMapPath.java b/altosuilib/AltosUIMapPath.java
index 705f4b6a..e77af580 100644
--- a/altosuilib/AltosUIMapPath.java
+++ b/altosuilib/AltosUIMapPath.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -25,7 +25,7 @@ import java.lang.Math;
import java.awt.geom.*;
import java.util.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
class PathPoint {
AltosUILatLon lat_lon;
diff --git a/altosuilib/AltosUIMapPreload.java b/altosuilib/AltosUIMapPreload.java
index 1c088a49..e82b6c60 100644
--- a/altosuilib/AltosUIMapPreload.java
+++ b/altosuilib/AltosUIMapPreload.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -26,7 +26,7 @@ import java.text.*;
import java.lang.Math;
import java.net.URL;
import java.net.URLConnection;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
class AltosUIMapPos extends Box {
AltosUIFrame owner;
diff --git a/altosuilib/AltosUIMapRectangle.java b/altosuilib/AltosUIMapRectangle.java
index 463ef3f2..dc0e4cc1 100644
--- a/altosuilib/AltosUIMapRectangle.java
+++ b/altosuilib/AltosUIMapRectangle.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public class AltosUIMapRectangle {
AltosUILatLon ul, lr;
diff --git a/altosuilib/AltosUIMapStore.java b/altosuilib/AltosUIMapStore.java
index dd8ace32..70bb6fed 100644
--- a/altosuilib/AltosUIMapStore.java
+++ b/altosuilib/AltosUIMapStore.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.net.*;
diff --git a/altosuilib/AltosUIMapStoreListener.java b/altosuilib/AltosUIMapStoreListener.java
index 0bbd2bc9..ccda8983 100644
--- a/altosuilib/AltosUIMapStoreListener.java
+++ b/altosuilib/AltosUIMapStoreListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosUIMapStoreListener {
abstract void notify_store(AltosUIMapStore store, int status);
diff --git a/altosuilib/AltosUIMapTile.java b/altosuilib/AltosUIMapTile.java
index 8b6a8f0a..afd1bbc6 100644
--- a/altosuilib/AltosUIMapTile.java
+++ b/altosuilib/AltosUIMapTile.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.image.*;
@@ -25,7 +25,7 @@ import java.awt.geom.*;
import java.io.*;
import java.util.*;
import java.awt.RenderingHints.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIMapTile {
AltosUIMapTileListener listener;
diff --git a/altosuilib/AltosUIMapTileListener.java b/altosuilib/AltosUIMapTileListener.java
index f58f55e0..dace5b76 100644
--- a/altosuilib/AltosUIMapTileListener.java
+++ b/altosuilib/AltosUIMapTileListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosUIMapTileListener {
abstract public void notify_tile(AltosUIMapTile tile, int status);
diff --git a/altosuilib/AltosUIMapTransform.java b/altosuilib/AltosUIMapTransform.java
index 89a3e9f6..25497403 100644
--- a/altosuilib/AltosUIMapTransform.java
+++ b/altosuilib/AltosUIMapTransform.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -25,7 +25,7 @@ import java.lang.Math;
import java.awt.geom.*;
import java.util.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIMapTransform {
diff --git a/altosuilib/AltosUIMapView.java b/altosuilib/AltosUIMapView.java
index 70b8e2e9..c8632b99 100644
--- a/altosuilib/AltosUIMapView.java
+++ b/altosuilib/AltosUIMapView.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
@@ -26,7 +26,7 @@ import java.lang.*;
import java.awt.geom.*;
import java.util.*;
import java.util.concurrent.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIMapView extends Component implements MouseMotionListener, MouseListener, MouseWheelListener, ComponentListener, AltosUIMapTileListener, AltosUIMapStoreListener {
diff --git a/altosuilib/AltosUIMapZoomListener.java b/altosuilib/AltosUIMapZoomListener.java
index 23498c89..9f74baca 100644
--- a/altosuilib/AltosUIMapZoomListener.java
+++ b/altosuilib/AltosUIMapZoomListener.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public interface AltosUIMapZoomListener {
abstract public void zoom_changed(int zoom);
diff --git a/altosuilib/AltosUIMarker.java b/altosuilib/AltosUIMarker.java
index 5e9809ee..843ee939 100644
--- a/altosuilib/AltosUIMarker.java
+++ b/altosuilib/AltosUIMarker.java
@@ -15,14 +15,14 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.util.ArrayList;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import org.jfree.ui.*;
import org.jfree.chart.*;
diff --git a/altosuilib/AltosUIPreferences.java b/altosuilib/AltosUIPreferences.java
index ecab20d4..9760494c 100644
--- a/altosuilib/AltosUIPreferences.java
+++ b/altosuilib/AltosUIPreferences.java
@@ -15,13 +15,13 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.util.*;
import java.awt.Component;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIPreferences extends AltosPreferences {
diff --git a/altosuilib/AltosUIPreferencesBackend.java b/altosuilib/AltosUIPreferencesBackend.java
index 4048fd83..91fe42ec 100644
--- a/altosuilib/AltosUIPreferencesBackend.java
+++ b/altosuilib/AltosUIPreferencesBackend.java
@@ -15,11 +15,11 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.File;
import java.util.prefs.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import javax.swing.filechooser.FileSystemView;
public class AltosUIPreferencesBackend implements AltosPreferencesBackend {
@@ -62,6 +62,14 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend {
_preferences.putBoolean(key, value);
}
+ public byte[] getBytes(String key, byte[] def) {
+ return _preferences.getByteArray(key, def);
+ }
+
+ public void putBytes(String key, byte[] value) {
+ _preferences.putByteArray(key, value);
+ }
+
public boolean nodeExists(String key) {
try {
return _preferences.nodeExists(key);
diff --git a/altosuilib/AltosUIRateList.java b/altosuilib/AltosUIRateList.java
index ee35ce6d..0c783a89 100644
--- a/altosuilib/AltosUIRateList.java
+++ b/altosuilib/AltosUIRateList.java
@@ -15,10 +15,10 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUIRateList extends JComboBox<String> {
diff --git a/altosuilib/AltosUISeries.java b/altosuilib/AltosUISeries.java
index 809020c4..4cd5ccd1 100644
--- a/altosuilib/AltosUISeries.java
+++ b/altosuilib/AltosUISeries.java
@@ -15,14 +15,14 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.io.*;
import java.util.ArrayList;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
import org.jfree.ui.*;
import org.jfree.chart.*;
diff --git a/altosuilib/AltosUITelemetryList.java b/altosuilib/AltosUITelemetryList.java
index facfdcde..77eef567 100644
--- a/altosuilib/AltosUITelemetryList.java
+++ b/altosuilib/AltosUITelemetryList.java
@@ -15,11 +15,11 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.util.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public class AltosUITelemetryList extends JComboBox<String> {
diff --git a/altosuilib/AltosUIUnitsIndicator.java b/altosuilib/AltosUIUnitsIndicator.java
index 50c30851..f86e274f 100644
--- a/altosuilib/AltosUIUnitsIndicator.java
+++ b/altosuilib/AltosUIUnitsIndicator.java
@@ -15,11 +15,11 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public abstract class AltosUIUnitsIndicator extends AltosUIIndicator {
diff --git a/altosuilib/AltosUIVersion.java.in b/altosuilib/AltosUIVersion.java.in
index 9fd5757b..beb62cbf 100644
--- a/altosuilib/AltosUIVersion.java.in
+++ b/altosuilib/AltosUIVersion.java.in
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
public class AltosUIVersion {
public final static String version = "@VERSION@";
diff --git a/altosuilib/AltosUIVoltageIndicator.java b/altosuilib/AltosUIVoltageIndicator.java
index 8e991856..44ad2ea2 100644
--- a/altosuilib/AltosUIVoltageIndicator.java
+++ b/altosuilib/AltosUIVoltageIndicator.java
@@ -15,11 +15,11 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import javax.swing.*;
-import org.altusmetrum.altoslib_5.*;
+import org.altusmetrum.altoslib_6.*;
public abstract class AltosUIVoltageIndicator extends AltosUIUnitsIndicator {
diff --git a/altosuilib/AltosUSBDevice.java b/altosuilib/AltosUSBDevice.java
index f4906a73..e940493f 100644
--- a/altosuilib/AltosUSBDevice.java
+++ b/altosuilib/AltosUSBDevice.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.util.*;
import libaltosJNI.*;
diff --git a/altosuilib/AltosVoice.java b/altosuilib/AltosVoice.java
index e02730ba..867f6619 100644
--- a/altosuilib/AltosVoice.java
+++ b/altosuilib/AltosVoice.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import com.sun.speech.freetts.Voice;
import com.sun.speech.freetts.VoiceManager;
diff --git a/altosuilib/GrabNDrag.java b/altosuilib/GrabNDrag.java
index 9bccb808..5d9ce2d9 100644
--- a/altosuilib/GrabNDrag.java
+++ b/altosuilib/GrabNDrag.java
@@ -15,7 +15,7 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.awt.*;
import java.awt.event.*;
diff --git a/altosuilib/OSXAdapter.java b/altosuilib/OSXAdapter.java
index 23aacd78..28b00ce1 100755
--- a/altosuilib/OSXAdapter.java
+++ b/altosuilib/OSXAdapter.java
@@ -55,7 +55,7 @@ Copyright © 2003-2007 Apple, Inc., All Rights Reserved
*/
-package org.altusmetrum.altosuilib_3;
+package org.altusmetrum.altosuilib_6;
import java.lang.reflect.*;
import java.util.HashMap;