altoslib: Map log format back to USB device id
authorKeith Packard <keithp@keithp.com>
Fri, 28 Oct 2022 03:59:20 +0000 (20:59 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 28 Oct 2022 03:59:20 +0000 (20:59 -0700)
This lets us use the device_id for both telem and eeprom files.

Signed-off-by: Keith Packard <keithp@keithp.com>
altoslib/AltosDataListener.java
altoslib/AltosLib.java

index db2c14faba1e11f17b735b65388c358679273c4c..b19cbedbbdb513b914a6edf1bbe55cf58af2608f 100644 (file)
@@ -59,6 +59,8 @@ public abstract class AltosDataListener {
 
        public void set_log_format(int log_format) {
                cal_data().set_log_format(log_format);
+               if (cal_data().device_type == AltosLib.MISSING)
+                       cal_data().set_device_type(AltosLib.product_id_from_log_format(log_format));
                switch (log_format) {
                case AltosLib.AO_LOG_FORMAT_TELEGPS:
                        set_state(AltosLib.ao_flight_stateless);
index 07ed31e1997c50aae4f73027f82ee3c6ffbad610..47c10cbf2fdac279f9a9cfe4b4607c221d691421 100644 (file)
@@ -617,6 +617,59 @@ public class AltosLib {
                }
        }
 
+       public static int product_id_from_log_format(int log_format) {
+               switch (log_format){
+               case AO_LOG_FORMAT_UNKNOWN:
+                       return product_altusmetrum;
+               case AO_LOG_FORMAT_FULL:
+                       return product_telemetrum;
+               case AO_LOG_FORMAT_TINY:
+                       return product_telemini;
+               case AO_LOG_FORMAT_TELEMETRY:
+                       return product_altusmetrum;
+               case AO_LOG_FORMAT_TELESCIENCE:
+                       return product_telescience;
+               case AO_LOG_FORMAT_TELEMEGA_OLD:
+                       return product_telemega;
+               case AO_LOG_FORMAT_EASYMINI1:
+                       return product_easymini;
+               case AO_LOG_FORMAT_TELEMETRUM:
+                       return product_telemetrum;
+               case AO_LOG_FORMAT_TELEMINI2:
+                       return product_telemini;
+               case AO_LOG_FORMAT_TELEGPS:
+                       return product_telegps;
+               case AO_LOG_FORMAT_TELEMEGA:
+                       return product_telemega;
+               case AO_LOG_FORMAT_DETHERM:
+                       return product_altusmetrum;
+               case AO_LOG_FORMAT_TELEMINI3:
+                       return product_telemini;
+               case AO_LOG_FORMAT_TELEFIRETWO:
+                       return product_altusmetrum;
+               case AO_LOG_FORMAT_EASYMINI2:
+                       return product_easymini;
+               case AO_LOG_FORMAT_TELEMEGA_3:
+                       return product_telemega;
+               case AO_LOG_FORMAT_EASYMEGA_2:
+                       return product_easymega;
+               case AO_LOG_FORMAT_TELESTATIC:
+                       return product_altusmetrum;
+               case AO_LOG_FORMAT_MICROPEAK2:
+                       return product_altusmetrum;
+               case AO_LOG_FORMAT_TELEMEGA_4:
+                       return product_telemega;
+               case AO_LOG_FORMAT_EASYMOTOR:
+                       return product_easymotor;
+               case AO_LOG_FORMAT_TELEMEGA_5:
+                       return product_telemega;
+               case AO_LOG_FORMAT_NONE:
+                       return product_altusmetrum;
+               default:
+                       return product_altusmetrum;
+               }
+       }
+
        public static String igniter_name(int i) {
                return String.format("Igniter %c", 'A' + i);
        }