altoslib: Start moving eeprom download logic to altoslib
[fw/altos] / altoslib / AltosFile.java
index 54c5482435b18e75d3e173498b664240c82007ed..f39c3962a3f42b7e56dd2510a9c05dee871ff2b6 100644 (file)
@@ -15,7 +15,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_1
+package org.altusmetrum.altoslib_2
 
 import java.io.File;
 import java.util.*;
@@ -23,16 +23,36 @@ import java.util.*;
 public class AltosFile extends File {
 
        static String number(int n) {
-               if (n == AltosRecord.MISSING)
-                       return "unk";
+               if (n == AltosLib.MISSING)
+                       return "unkn";
                else
-                       return String.format("%03d", n);
+                       return String.format("%04d", n);
        }
 
-       public AltosFile(int year, int month, int day, int serial, int flight, String extension) {
+       static String receiver(int receiver) {
+               if (receiver == AltosLib.MISSING)
+                       return "";
+               return String.format("-via-%04d", receiver);
+       }
+
+       public AltosFile(int year, int month, int day, int serial, int flight, int receiver, String extension) {
                super (AltosPreferences.logdir(),
-                      String.format("%04d-%02d-%02d-serial-%s-flight-%s.%s",
-                                    year, month, day, number(serial), number(flight), extension));
+                      String.format("%04d-%02d-%02d-serial-%s-flight-%s%s.%s",
+                                    year, month, day, number(serial), number(flight), receiver(receiver), extension));
+       }
+
+       public AltosFile(int year, int month, int day, int serial, int flight, String extension) {
+               this(year, month, day, serial, flight, AltosLib.MISSING, extension);
+       }
+
+       public AltosFile(int serial, int flight, int receiver, String extension) {
+               this(Calendar.getInstance().get(Calendar.YEAR),
+                    Calendar.getInstance().get(Calendar.MONTH) + 1,
+                    Calendar.getInstance().get(Calendar.DAY_OF_MONTH),
+                    serial,
+                    flight,
+                    receiver,
+                    extension);
        }
 
        public AltosFile(int serial, int flight, String extension) {
@@ -41,10 +61,11 @@ public class AltosFile extends File {
                     Calendar.getInstance().get(Calendar.DAY_OF_MONTH),
                     serial,
                     flight,
+                    AltosLib.MISSING,
                     extension);
        }
 
        public AltosFile(AltosState state) {
-               this(state.serial, state.flight, "telem");
+               this(state.serial, state.flight, state.receiver_serial, "telem");
        }
 }