projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos]
/
altosui
/
AltosTelemetryRecordRaw.java
diff --git
a/altosui/AltosTelemetryRecordRaw.java
b/altosui/AltosTelemetryRecordRaw.java
index e6c4cfc8af44ddf3ba5c3424df4b44b7cf7ef48e..39b2ba0772a2d3efdf56d897023ce5bd3718402c 100644
(file)
--- a/
altosui/AltosTelemetryRecordRaw.java
+++ b/
altosui/AltosTelemetryRecordRaw.java
@@
-33,6
+33,7
@@
public class AltosTelemetryRecordRaw implements AltosTelemetryRecord {
final static int packet_type_configuration = 0x04;
final static int packet_type_location = 0x05;
final static int packet_type_satellite = 0x06;
final static int packet_type_configuration = 0x04;
final static int packet_type_location = 0x05;
final static int packet_type_satellite = 0x06;
+ final static int packet_type_companion = 0x07;
final static int PKT_APPEND_STATUS_1_CRC_OK = (1 << 7);
final static int PKT_APPEND_STATUS_1_LQI_MASK = (0x7f);
final static int PKT_APPEND_STATUS_1_CRC_OK = (1 << 7);
final static int PKT_APPEND_STATUS_1_LQI_MASK = (0x7f);
@@
-72,7
+73,7
@@
public class AltosTelemetryRecordRaw implements AltosTelemetryRecord {
/* length, data ..., rssi, status, checksum -- 4 bytes extra */
switch (bytes.length) {
/* length, data ..., rssi, status, checksum -- 4 bytes extra */
switch (bytes.length) {
- case Altos.ao_telemetry_s
plit
_len + 4:
+ case Altos.ao_telemetry_s
tandard
_len + 4:
int type = Altos.uint8(bytes, 4 + 1);
switch (type) {
case packet_type_TM_sensor:
int type = Altos.uint8(bytes, 4 + 1);
switch (type) {
case packet_type_TM_sensor:
@@
-89,12
+90,18
@@
public class AltosTelemetryRecordRaw implements AltosTelemetryRecord {
case packet_type_satellite:
r = new AltosTelemetryRecordSatellite(bytes);
break;
case packet_type_satellite:
r = new AltosTelemetryRecordSatellite(bytes);
break;
+ case packet_type_companion:
+ r = new AltosTelemetryRecordCompanion(bytes);
+ break;
default:
r = new AltosTelemetryRecordRaw(bytes);
break;
}
break;
default:
r = new AltosTelemetryRecordRaw(bytes);
break;
}
break;
- case Altos.ao_telemetry_legacy_len + 4:
+ case Altos.ao_telemetry_0_9_len + 4:
+ r = new AltosTelemetryRecordLegacy(bytes, rssi, status);
+ break;
+ case Altos.ao_telemetry_0_8_len + 4:
r = new AltosTelemetryRecordLegacy(bytes, rssi, status);
break;
default:
r = new AltosTelemetryRecordLegacy(bytes, rssi, status);
break;
default:
@@
-136,9
+143,11
@@
public class AltosTelemetryRecordRaw implements AltosTelemetryRecord {
public AltosRecord update_state(AltosRecord previous) {
AltosRecord next;
public AltosRecord update_state(AltosRecord previous) {
AltosRecord next;
- if (previous != null)
+ if (previous != null)
{
next = new AltosRecord(previous);
next = new AltosRecord(previous);
- else
+ while (tick < previous.tick)
+ tick += 65536;
+ } else
next = new AltosRecord();
next.serial = serial;
next.tick = tick;
next = new AltosRecord();
next.serial = serial;
next.tick = tick;