| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
Much of this is now in AltosCalData.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This avoids having the lat/lon values blank out when the GPS receiver
looses lock.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Even annotate the states with avg speed/accel for fun.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
After all of the raw data is captured, the derived data needs to be
computed by calling the 'finish' function.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
The Altos UI needs to see 'pad' state and then 'boost' state so that
it will automatically switch tabs during the flight. When reading from
eeprom files, the only way that is going to happen is if the reader
thread waits until the UI has definitely seen 'pad' state, which we do
by simply delaying the reader thread until after that has happened.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Stats are really easy with all of the data in memory.
Replay takes a special thread to run the data and dump it into a
single state.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
analysis
Graphing and CSV seem complete now; stats still missing lots of stuff.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Use AltosFlightSeries instead of a sequence of AltosState records when
processing saved data. This provides a better way of doing filtering
and plotting.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
These values are only needed once, so there's no reason to save them.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
| |
Provides a way for the graph API to see raw data values, instead of
those cooked by AltosState.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
|
| |
Provides the basis for offering a sequence of time/value datasets for
graphing instead of using AltosState.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
Before we stashed the config data in the log file, altoslib had to
"known" what the accelerometer calibration values should be set
to.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Ancient log files don't even have a product name in them, so we'll
guess TeleMetrum v1.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Instead of using -1 or 0 randomly, use MISSING consistently.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
The device reports raw ADC values, which mean AltosLib needs to
translate them.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
| |
|
|
|
|
|
|
| |
The new code appears to work in minor testing; time to try it all the time.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
A chunk of json for the config values followed by hex numbers for the data.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Redirect when asked to read an eeprom file using the "Reader" type.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Useful if you want to actually use these.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Generic .eeprom file parsing, simpler per-type eeprom data extraction.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Initialize all config-data related state values.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Use for making Ms5607 from eeprom files.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Useful for TeleFireTwo.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This lets some structures which would otherwise recurse (and crash)
get converted to json, assuming the hidden members aren't relevant.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The MS5607 sensor provides raw 24-bit ADC outputs to the host along
with calibration constants necessary to convert those into temperature
and pressure values. The datasheet has a flow chart indicating how to
perform this computation. There are two parts of the algorithm which
adjust the result based on the ambient temperature, temperatures below
20°C get one compensation factor and temperatures below -15°C get an
additional factor.
The ground station version of this function mistakenly applied the
second compensation factor for all temperatures below +15°C. The
result was that the pressure computed on the ground when the measured
temperature was between -15°C and +15°C was incorrect, resulting in
altitudes which were several hundred meters off in some situations.
This can be seen when displaying any .eeprom (or .mpd) data
files for flights with temperatures in that range. The datafiles
themselves are not corrupted, only the display operation.
This is not seen for telemetry data, where the pressure and associated
altitude is computed in the airframe using the correct algorithm.
Thanks much to Miguel and the rest of the Vanguard School TARC team
for identifying the problem and providing this fix.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
| |
|
|
|
|
|
|
| |
Because Java found the old installed version of this library. Thanks!
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
| |
eeprom, telemetry and monitor idle. This is just like TeleMini v2,
except the ADC ranges are all difference as the voltage dividers are
different and the ADC itself has a different range.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This computes the time in seconds since the epoch from GPS time
information.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
| |
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
Android has classes above Object which are all tied together which
cause the object walking to fail in pretty spectacular ways. As Object
has no interesting fields, that serves as a fine barrier to the super
class walk and works on both android and real java.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
These make it possible to figure out where the JSON code went wrong.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
AltosCompanion has an array of ints, which was missed until I tried a
telemetry file with companion data.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This lets it be used by the JSON code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Now that the reflective JSON stuff is working, we can delete all of
the manual code.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
When save/restore generate different values, write out the two
versions to one.json and two.json for easy comparison.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This replaces the non-reflective JSON code with reflective code, which
is much shorter.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This uses Java reflection to construct JSON strings for
most Java objects.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
These will be used in the reflection-based JSON code
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Everything has switched to JSON now.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This is much easier to debug than the icky strings with backslashes everywhere.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This makes both the map line and the other distance displays use miles
for distances greater than 1000 feet.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This provides an AltosFlightReader interface for monitor idle mode,
making that easier to provide in TeleGPS
Signed-off-by: Keith Packard <keithp@keithp.com>
|