altoslib: Allow for missing product when checking for mma655x inverted
[fw/altos] / altoslib / AltosConfigData.java
index c39a6c94680e6683907088e11b5c1685d898cd03..63c34310f6d12458338d08b2e3a46b8b4cffed06 100644 (file)
@@ -16,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_12;
 
 import java.util.*;
 import java.text.*;
@@ -451,8 +451,7 @@ public class AltosConfigData {
                        radio_frequency = (int) Math.floor (freq * 1000 + 0.5);
                        radio_channel = AltosLib.MISSING;
                } else if (setting != AltosLib.MISSING) {
-                       radio_setting =AltosConvert.radio_frequency_to_setting(freq,
-                                                                                   radio_calibration);
+                       radio_setting =AltosConvert.radio_frequency_to_setting(freq, radio_calibration);
                        radio_channel = AltosLib.MISSING;
                } else {
                        radio_channel = AltosConvert.radio_frequency_to_channel(freq);
@@ -463,12 +462,12 @@ public class AltosConfigData {
                int     channel = radio_channel;
                int     setting = radio_setting;
 
-               if (radio_frequency < 0 && channel < 0 && setting < 0)
+               if (radio_frequency == AltosLib.MISSING && channel == AltosLib.MISSING && setting == AltosLib.MISSING)
                        return AltosLib.MISSING;
 
-               if (channel < 0)
+               if (channel == AltosLib.MISSING)
                        channel = 0;
-               if (setting < 0)
+               if (setting == AltosLib.MISSING)
                        setting = 0;
 
                return AltosConvert.radio_to_frequency(radio_frequency,
@@ -489,14 +488,16 @@ public class AltosConfigData {
 
 
        public boolean mma655x_inverted() throws AltosUnknownProduct {
-               if (product.startsWith("EasyMega-v1"))
-                       return false;
-               if (product.startsWith("TeleMetrum-v2"))
-                       return true;
-               if (product.startsWith("TeleMega-v2"))
-                       return false;
-               if (product.startsWith("TeleMega-v1"))
-                       return false;
+               if (product != null) {
+                       if (product.startsWith("EasyMega-v1"))
+                               return false;
+                       if (product.startsWith("TeleMetrum-v2"))
+                               return true;
+                       if (product.startsWith("TeleMega-v2"))
+                               return false;
+                       if (product.startsWith("TeleMega-v1"))
+                               return false;
+               }
                throw new AltosUnknownProduct(product);
        }