Add version numbers to java libraries
[fw/altos] / altoslib / AltosTelemetryRecordRaw.java
1 /*
2  * Copyright © 2011 Keith Packard <keithp@keithp.com>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 2 of the License.
7  *
8  * This program is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11  * General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License along
14  * with this program; if not, write to the Free Software Foundation, Inc.,
15  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
16  */
17
18 package org.altusmetrum.altoslib_1;
19
20 public class AltosTelemetryRecordRaw extends AltosTelemetryRecord {
21         int[]   bytes;
22         int     serial;
23         int     tick;
24         int     type;
25
26         long    received_time;
27
28         public int int8(int off) {
29                 return AltosLib.int8(bytes, off + 1);
30         }
31
32         public int uint8(int off) {
33                 return AltosLib.uint8(bytes, off + 1);
34         }
35
36         public int int16(int off) {
37                 return AltosLib.int16(bytes, off + 1);
38         }
39
40         public int uint16(int off) {
41                 return AltosLib.uint16(bytes, off + 1);
42         }
43
44         public int uint32(int off) {
45                 return AltosLib.uint32(bytes, off + 1);
46         }
47
48         public int int32(int off) {
49                 return AltosLib.int32(bytes, off + 1);
50         }
51
52         public String string(int off, int l) {
53                 return AltosLib.string(bytes, off + 1, l);
54         }
55
56         public AltosTelemetryRecordRaw(int[] in_bytes) {
57                 bytes = in_bytes;
58                 serial = uint16(0);
59                 tick   = uint16(2);
60                 type   = uint8(4);
61         }
62
63         public AltosRecord update_state(AltosRecord previous) {
64                 AltosRecord     next;
65
66                 if (previous != null && previous.serial == serial)
67                         next = previous.clone();
68                 else
69                         next = new AltosRecordNone();
70                 next.serial = serial;
71                 next.tick = tick;
72                 return next;
73         }
74
75         public long received_time() {
76                 return received_time;
77         }
78 }