We've now got a USB vendor ID called 'altusmetrum' for generic
altusmetrum devices (old USB ID 0x000A) while the general vendor name
for all devices is 'altusmetrum' as well.
This patch splits vendors and products into separate name spaces,
products are prefixed with product_ and vendor with (oddly) vendor_.
Signed-off-by: Keith Packard <keithp@keithp.com>
version = new string_ref("unknown");
product = new string_ref("unknown");
version = new string_ref("unknown");
product = new string_ref("unknown");
- device = AltosDeviceDialog.show(owner, AltosDevice.Any);
+ device = AltosDeviceDialog.show(owner, AltosDevice.product_any);
serial_line = new AltosSerial();
if (device != null) {
try {
serial_line.open(device);
serial_line = new AltosSerial();
if (device != null) {
try {
serial_line.open(device);
- if (!device.matchProduct(AltosDevice.TeleMetrum))
+ if (!device.matchProduct(AltosDevice.product_telemetrum))
remote = true;
config_thread = new Thread(this);
config_thread.start();
remote = true;
config_thread = new Thread(this);
config_thread.start();
+ static int usb_vendor_altusmetrum() {
+ if (load_library())
+ return libaltosConstants.USB_VENDOR_ALTUSMETRUM;
+ return 0x000a;
+ }
+
static int usb_product_altusmetrum() {
if (load_library())
return libaltosConstants.USB_PRODUCT_ALTUSMETRUM;
static int usb_product_altusmetrum() {
if (load_library())
return libaltosConstants.USB_PRODUCT_ALTUSMETRUM;
static int usb_product_teledongle() {
if (load_library())
static int usb_product_teledongle() {
if (load_library())
- return libaltosConstants.USB_PRODUCT_ALTUSMETRUM;
+ return libaltosConstants.USB_PRODUCT_TELEDONGLE;
return 0x000c;
}
static int usb_product_teleterra() {
if (load_library())
return 0x000c;
}
static int usb_product_teleterra() {
if (load_library())
- return libaltosConstants.USB_PRODUCT_ALTUSMETRUM;
+ return libaltosConstants.USB_PRODUCT_TELETERRA;
- public final static int AltusMetrum = usb_product_altusmetrum();
- public final static int TeleMetrum = usb_product_telemetrum();
- public final static int TeleDongle = usb_product_teledongle();
- public final static int TeleTerra = usb_product_teleterra();
- public final static int AltusMetrumMin = usb_product_altusmetrum_min();
- public final static int AltusMetrumMax = usb_product_altusmetrum_max();
+ public final static int vendor_altusmetrum = usb_vendor_altusmetrum();
+ public final static int product_altusmetrum = usb_product_altusmetrum();
+ public final static int product_telemetrum = usb_product_telemetrum();
+ public final static int product_teledongle = usb_product_teledongle();
+ public final static int product_teleterra = usb_product_teleterra();
+ public final static int product_altusmetrum_min = usb_product_altusmetrum_min();
+ public final static int product_altusmetrum_max = usb_product_altusmetrum_max();
- public final static int Any = 0x10000;
- public final static int BaseStation = 0x10000 + 1;
+ public final static int product_any = 0x10000;
+ public final static int product_basestation = 0x10000 + 1;
public String toString() {
String name = getName();
public String toString() {
String name = getName();
}
public boolean isAltusMetrum() {
}
public boolean isAltusMetrum() {
- if (getVendor() != AltusMetrum)
+ if (getVendor() != vendor_altusmetrum)
- if (getProduct() < AltusMetrumMin)
+ if (getProduct() < product_altusmetrum_min)
- if (getProduct() > AltusMetrumMax)
+ if (getProduct() > product_altusmetrum_max)
return false;
return true;
}
public boolean matchProduct(int want_product) {
return false;
return true;
}
public boolean matchProduct(int want_product) {
+ System.out.printf("vendor %x product %x want %x\n",
+ getVendor(), getProduct(), want_product);
+ System.out.printf("vendor_altusmetrum: %d\n", vendor_altusmetrum);
+ System.out.printf("telemetrum: %d\n", product_telemetrum);
+
if (!isAltusMetrum())
return false;
if (!isAltusMetrum())
return false;
- if (want_product == Any)
+ if (want_product == product_any)
- if (want_product == BaseStation)
- return matchProduct(TeleDongle) || matchProduct(TeleTerra);
+ if (want_product == product_basestation)
+ return matchProduct(product_teledongle) || matchProduct(product_teleterra);
int have_product = getProduct();
int have_product = getProduct();
- if (have_product == AltusMetrum) /* old devices match any request */
+ if (have_product == product_altusmetrum) /* old devices match any request */
return true;
if (want_product == have_product)
return true;
if (want_product == have_product)
}
static AltosDevice[] list(int product) {
}
static AltosDevice[] list(int product) {
+ if (!load_library()) {
+ System.out.printf("no library\n");
SWIGTYPE_p_altos_list list = libaltos.altos_list_start();
ArrayList<AltosDevice> device_list = new ArrayList<AltosDevice>();
if (list != null) {
SWIGTYPE_p_altos_list list = libaltos.altos_list_start();
ArrayList<AltosDevice> device_list = new ArrayList<AltosDevice>();
if (list != null) {
+ System.out.printf("got device list\n");
SWIGTYPE_p_altos_file file;
for (;;) {
AltosDevice device = new AltosDevice();
if (libaltos.altos_list_next(list, device) == 0)
break;
SWIGTYPE_p_altos_file file;
for (;;) {
AltosDevice device = new AltosDevice();
if (libaltos.altos_list_next(list, device) == 0)
break;
+ System.out.printf("got device\n");
if (device.matchProduct(product))
device_list.add(device);
}
if (device.matchProduct(product))
device_list.add(device);
}
public AltosEepromDownload(JFrame given_frame) {
frame = given_frame;
public AltosEepromDownload(JFrame given_frame) {
frame = given_frame;
- device = AltosDeviceDialog.show(frame, AltosDevice.Any);
+ device = AltosDeviceDialog.show(frame, AltosDevice.product_any);
serial_line = new AltosSerial();
remote = false;
serial_line = new AltosSerial();
remote = false;
if (device != null) {
try {
serial_line.open(device);
if (device != null) {
try {
serial_line.open(device);
- if (!device.matchProduct(AltosDevice.TeleMetrum))
+ if (!device.matchProduct(AltosDevice.product_telemetrum))
remote = true;
eeprom_thread = new Thread(this);
eeprom_thread.start();
remote = true;
eeprom_thread = new Thread(this);
eeprom_thread.start();
- debug_dongle = AltosDeviceDialog.show(frame, AltosDevice.Any);
+ debug_dongle = AltosDeviceDialog.show(frame, AltosDevice.product_any);
if (debug_dongle == null)
return;
if (debug_dongle == null)
return;
}
private void ConnectToDevice() {
}
private void ConnectToDevice() {
- AltosDevice device = AltosDeviceDialog.show(AltosUI.this, AltosDevice.BaseStation);
+ AltosDevice device = AltosDeviceDialog.show(AltosUI.this,
+ AltosDevice.product_basestation);
if (device != null) {
try {
if (device != null) {
try {