altos: remove usbtrng support (chaoskey prototypes)
[fw/altos] / altoslib / AltosTelemetryStandard.java
index 4f0d7130543d43e5d953fb130aca588a2fe008f9..3f585ceafb49f5721ceef61907231342fc1a4a12 100644 (file)
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_13;
 
 public abstract class AltosTelemetryStandard extends AltosTelemetry {
-       int[]   bytes;
-       int     type;
-
        public int int8(int off) {
                return AltosLib.int8(bytes, off + 1);
        }
@@ -50,10 +47,16 @@ public abstract class AltosTelemetryStandard extends AltosTelemetry {
                return AltosLib.string(bytes, off + 1, l);
        }
 
-       public static AltosTelemetry parse_hex(int[] bytes) {
-               int     type = AltosLib.uint8(bytes, 4 + 1);
+       public int type() { return uint8(4); }
+
+       public int serial() { return uint16(0); }
+
+       public int tick() { return uint16(2); }
 
+       public static AltosTelemetry parse_hex(int[] bytes) throws AltosCRCException {
                AltosTelemetry  telem;
+
+               int type = AltosLib.uint8(bytes, 4+1);
                switch (type) {
                case packet_type_TM_sensor:
                case packet_type_Tm_sensor:
@@ -84,8 +87,11 @@ public abstract class AltosTelemetryStandard extends AltosTelemetry {
                case packet_type_metrum_data:
                        telem = new AltosTelemetryMetrumData(bytes);
                        break;
-               case packet_type_mini:
-                       telem = new AltosTelemetryMini(bytes);
+               case packet_type_mini2:
+                       telem = new AltosTelemetryMini2(bytes);
+                       break;
+               case packet_type_mini3:
+                       telem = new AltosTelemetryMini3(bytes);
                        break;
                default:
                        telem = new AltosTelemetryRaw(bytes);
@@ -94,15 +100,11 @@ public abstract class AltosTelemetryStandard extends AltosTelemetry {
                return telem;
        }
 
-       public AltosTelemetryStandard(int[] bytes) {
-               this.bytes = bytes;
-
-               serial = uint16(0);
-               tick   = uint16(2);
-               type   = uint8(4);
+       public AltosTelemetryStandard(int[] bytes) throws AltosCRCException {
+               super(bytes);
        }
 
-       public void update_state(AltosState state) {
-               super.update_state(state);
+       public void provide_data(AltosDataListener listener) {
+               super.provide_data(listener);
        }
 }