From: Keith Packard Date: Mon, 9 Dec 2013 03:48:27 +0000 (-0800) Subject: altoslib: Publish mapping from product name back to USB id X-Git-Tag: 1.3~61 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=e0af4569446b12c026aa0ffd52c55839d69af0e1 altoslib: Publish mapping from product name back to USB id This lets us choose which device to flash based on the filename Signed-off-by: Keith Packard --- diff --git a/altoslib/AltosLib.java b/altoslib/AltosLib.java index 46031912..36a2ab32 100644 --- a/altoslib/AltosLib.java +++ b/altoslib/AltosLib.java @@ -104,6 +104,42 @@ public class AltosLib { public final static int product_basestation = 0x10000 + 1; public final static int product_altimeter = 0x10000 + 2; + private static class Product { + final String name; + final int product; + + Product (String name, int product) { + this.name = name; + this.product = product; + } + } + + private static Product[] products = { + new Product("telemetrum", product_telemetrum), + new Product("teleballoon", product_telemetrum), + new Product("teledongle", product_teledongle), + new Product("teleterra", product_teledongle), + new Product("telebt", product_telebt), + new Product("telelaunch", product_telelaunch), + new Product("telelco", product_telelco), + new Product("telescience", product_telescience), + new Product("telepyro", product_telepyro), + new Product("telemega", product_telemega), + new Product("megadongle", product_megadongle), + new Product("telegps", product_telegps), + new Product("easymini", product_easymini), + new Product("telemini", product_telemini) + }; + + public static int name_to_product(String name) { + String low = name.toLowerCase(); + + for (int i = 0; i < products.length; i++) + if (low.startsWith(products[i].name)) + return products[i].product; + return product_any; + } + /* Bluetooth "identifier" (bluetooth sucks) */ public final static String bt_product_telebt = "TeleBT";