summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altosui/Altos.java8
-rw-r--r--altosui/AltosBTDevice.java59
-rw-r--r--altosui/AltosUSBDevice.java2
3 files changed, 32 insertions, 37 deletions
diff --git a/altosui/Altos.java b/altosui/Altos.java
index 5df004c5..d221077e 100644
--- a/altosui/Altos.java
+++ b/altosui/Altos.java
@@ -301,4 +301,12 @@ public class Altos {
public final static int product_any = 0x10000;
public final static int product_basestation = 0x10000 + 1;
+
+ static String bt_product_telebt() {
+ if (load_library())
+ return libaltosConstants.BLUETOOTH_PRODUCT_TELEBT;
+ return "TeleBT";
+ }
+
+ public final static String bt_product_telebt = bt_product_telebt();
}
diff --git a/altosui/AltosBTDevice.java b/altosui/AltosBTDevice.java
index 233037de..5e946415 100644
--- a/altosui/AltosBTDevice.java
+++ b/altosui/AltosBTDevice.java
@@ -20,36 +20,9 @@ import java.lang.*;
import java.util.*;
import libaltosJNI.*;
-public class AltosBTDevice extends altos_bt_device {
-
- static public boolean initialized = false;
- static public boolean loaded_library = false;
-
- public static boolean load_library() {
- if (!initialized) {
- try {
- System.loadLibrary("altos");
- libaltos.altos_init();
- loaded_library = true;
- } catch (UnsatisfiedLinkError e) {
- loaded_library = false;
- }
- initialized = true;
- }
- return loaded_library;
- }
-
- static String bt_product_telebt() {
- if (load_library())
- return libaltosConstants.BLUETOOTH_PRODUCT_TELEBT;
- return "TeleBT";
- }
-
- public final static String bt_product_telebt = bt_product_telebt();
- public final static String bt_product_any = "Any";
- public final static String bt_product_basestation = "Basestation";
+public class AltosBTDevice extends altos_bt_device implements AltosDevice {
- public String getProduct() {
+ public String getProductName() {
String name = getName();
if (name == null)
return "Altus Metrum";
@@ -59,6 +32,16 @@ public class AltosBTDevice extends altos_bt_device {
return name.substring(0,dash);
}
+ public int getProduct() {
+ if (Altos.bt_product_telebt.equals(getProductName()))
+ return Altos.product_telebt;
+ return 0;
+ }
+
+ public String getPath() {
+ return getAddr();
+ }
+
public int getSerial() {
String name = getName();
if (name == null)
@@ -91,24 +74,28 @@ public class AltosBTDevice extends altos_bt_device {
}
- public boolean isAltusMetrum() {
- if (getName().startsWith(bt_product_telebt))
+ public SWIGTYPE_p_altos_file open() {
+ return libaltos.altos_bt_open(this);
+ }
+
+ private boolean isAltusMetrum() {
+ if (getName().startsWith(Altos.bt_product_telebt))
return true;
return false;
}
- public boolean matchProduct(String want_product) {
+ public boolean matchProduct(int want_product) {
if (!isAltusMetrum())
return false;
- if (want_product.equals(bt_product_any))
+ if (want_product == Altos.product_any)
return true;
- if (want_product.equals(bt_product_basestation))
- return matchProduct(bt_product_telebt);
+ if (want_product == Altos.product_basestation)
+ return matchProduct(Altos.product_telebt);
- if (want_product.equals(getProduct()))
+ if (want_product == getProduct())
return true;
return false;
diff --git a/altosui/AltosUSBDevice.java b/altosui/AltosUSBDevice.java
index 03ddf5a8..deed0056 100644
--- a/altosui/AltosUSBDevice.java
+++ b/altosui/AltosUSBDevice.java
@@ -43,7 +43,7 @@ public class AltosUSBDevice extends altos_device implements AltosDevice {
return libaltos.altos_open(this);
}
- public boolean isAltusMetrum() {
+ private boolean isAltusMetrum() {
if (getVendor() != Altos.vendor_altusmetrum)
return false;
if (getProduct() < Altos.product_altusmetrum_min)