projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: ao_radio_recv needs byte count *including* rssi and status
[fw/altos]
/
altosui
/
AltosEepromIterable.java
diff --git
a/altosui/AltosEepromIterable.java
b/altosui/AltosEepromIterable.java
index f8e6d7e5a2e16126755d4d7568be479d42445074..16349b884ec8729e52b9ad18fe4c7373f6c8eee7 100644
(file)
--- a/
altosui/AltosEepromIterable.java
+++ b/
altosui/AltosEepromIterable.java
@@
-57,6
+57,11
@@
class AltosOrderedRecord extends AltosEepromRecord implements Comparable<AltosOr
index = in_index;
}
index = in_index;
}
+ public String toString() {
+ return String.format("%d.%d %04x %04x %04x",
+ cmd, index, tick, a, b);
+ }
+
public int compareTo(AltosOrderedRecord o) {
int tick_diff = tick - o.tick;
if (tick_diff != 0)
public int compareTo(AltosOrderedRecord o) {
int tick_diff = tick - o.tick;
if (tick_diff != 0)
@@
-75,7
+80,11
@@
public class AltosEepromIterable extends AltosRecordIterable {
static final int seen_gps_lat = 32;
static final int seen_gps_lon = 64;
static final int seen_gps_lat = 32;
static final int seen_gps_lon = 64;
- static final int seen_basic = seen_flight|seen_sensor|seen_temp_volt|seen_deploy;
+ static final int seen_basic = seen_flight|seen_sensor;
+
+ boolean has_accel;
+ boolean has_gps;
+ boolean has_ignite;
AltosEepromRecord flight_record;
AltosEepromRecord gps_date_record;
AltosEepromRecord flight_record;
AltosEepromRecord gps_date_record;
@@
-123,6
+132,16
@@
public class AltosEepromIterable extends AltosRecordIterable {
state.flight_vel += (state.accel_plus_g - state.accel);
}
eeprom.seen |= seen_sensor;
state.flight_vel += (state.accel_plus_g - state.accel);
}
eeprom.seen |= seen_sensor;
+ has_accel = true;
+ break;
+ case Altos.AO_LOG_PRESSURE:
+ state.pres = record.b;
+ state.flight_pres = state.pres;
+ if (eeprom.n_pad_samples == 0) {
+ eeprom.n_pad_samples++;
+ state.ground_pres = state.pres;
+ }
+ eeprom.seen |= seen_sensor;
break;
case Altos.AO_LOG_TEMP_VOLT:
state.temp = record.a;
break;
case Altos.AO_LOG_TEMP_VOLT:
state.temp = record.a;
@@
-133,6
+152,7
@@
public class AltosEepromIterable extends AltosRecordIterable {
state.drogue = record.a;
state.main = record.b;
eeprom.seen |= seen_deploy;
state.drogue = record.a;
state.main = record.b;
eeprom.seen |= seen_deploy;
+ has_ignite = true;
break;
case Altos.AO_LOG_STATE:
state.state = record.a;
break;
case Altos.AO_LOG_STATE:
state.state = record.a;
@@
-155,9
+175,9
@@
public class AltosEepromIterable extends AltosRecordIterable {
int flags = (record.b >> 8);
state.gps.connected = (flags & Altos.AO_GPS_RUNNING) != 0;
state.gps.locked = (flags & Altos.AO_GPS_VALID) != 0;
int flags = (record.b >> 8);
state.gps.connected = (flags & Altos.AO_GPS_RUNNING) != 0;
state.gps.locked = (flags & Altos.AO_GPS_VALID) != 0;
- state.gps.date_valid = (flags & Altos.AO_GPS_DATE_VALID) != 0;
state.gps.nsat = (flags & Altos.AO_GPS_NUM_SAT_MASK) >>
Altos.AO_GPS_NUM_SAT_SHIFT;
state.gps.nsat = (flags & Altos.AO_GPS_NUM_SAT_MASK) >>
Altos.AO_GPS_NUM_SAT_SHIFT;
+ has_gps = true;
break;
case Altos.AO_LOG_GPS_LAT:
int lat32 = record.a | (record.b << 16);
break;
case Altos.AO_LOG_GPS_LAT:
int lat32 = record.a | (record.b << 16);
@@
-251,6
+271,10
@@
public class AltosEepromIterable extends AltosRecordIterable {
return list.iterator();
}
return list.iterator();
}
+ public boolean has_gps() { return has_gps; }
+ public boolean has_accel() { return has_accel; }
+ public boolean has_ignite() { return has_ignite; }
+
public void write_comments(PrintStream out) {
Iterator<AltosOrderedRecord> iterator = records.iterator();
out.printf("# Comments\n");
public void write_comments(PrintStream out) {
Iterator<AltosOrderedRecord> iterator = records.iterator();
out.printf("# Comments\n");
@@
-278,6
+302,9
@@
public class AltosEepromIterable extends AltosRecordIterable {
case Altos.AO_LOG_RADIO_CAL:
out.printf ("# Radio cal: %d\n", record.a);
break;
case Altos.AO_LOG_RADIO_CAL:
out.printf ("# Radio cal: %d\n", record.a);
break;
+ case Altos.AO_LOG_MAX_FLIGHT_LOG:
+ out.printf ("# Max flight log: %d\n", record.a);
+ break;
case Altos.AO_LOG_MANUFACTURER:
out.printf ("# Manufacturer: %s\n", record.data);
break;
case Altos.AO_LOG_MANUFACTURER:
out.printf ("# Manufacturer: %s\n", record.data);
break;