summaryrefslogtreecommitdiff
path: root/altoslib
Commit message (Collapse)AuthorAge
...
* altoslib: Trim stale bits of AltosStateKeith Packard2017-05-26
| | | | | | Much of this is now in AltosCalData. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Preserve old GPS data during operationKeith Packard2017-05-26
| | | | | | | This avoids having the lat/lon values blank out when the GPS receiver looses lock. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Get KML export working againKeith Packard2017-05-26
| | | | | | Even annotate the states with avg speed/accel for fun. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Make sure AltosFlightSeries is filled in before useKeith Packard2017-05-26
| | | | | | | 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>
* altoslib: Make AltosReplayReader start synchronously enough to track statesKeith Packard2017-05-26
| | | | | | | | | | 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>
* altoslib,altosuilib,altosui: Get stats and replay working again.Keith Packard2017-05-26
| | | | | | | | 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>
* altoslib/altosuilib/altosui: More work towards using AltosFlightSeries for ↵Keith Packard2017-05-25
| | | | | | | | analysis Graphing and CSV seem complete now; stats still missing lots of stuff. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Do data analysis on raw values rather than AltosStateKeith Packard2017-05-25
| | | | | | | | 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>
* altoslib: Don't store computed telemetry fieldsKeith Packard2017-05-23
| | | | | | These values are only needed once, so there's no reason to save them. Signed-off-by: Keith Packard <keithp@keithp.com>
* add thrust as a graphable time series typeBdale Garbee2017-05-19
|
* altoslib: Create new abstraction underneath AltosState for recording valuesKeith Packard2017-05-19
| | | | | | | 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>
* altoslib: include TimeSeries code in buildBdale Garbee2017-05-19
|
* altoslib: Add initial time series functionsKeith Packard2017-05-19
| | | | | | | 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>
* altoslib: Set default accel cal for old TeleMetrum v1 filesKeith Packard2017-05-15
| | | | | | | | 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>
* altoslib: Set default log format to FULL until we learn differentKeith Packard2017-05-15
| | | | | | | 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>
* altoslib: Mark AltosConfigData fields as MISSING until setKeith Packard2017-05-15
| | | | | | Instead of using -1 or 0 randomly, use MISSING consistently. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Handle TeleBT v4.0 battery voltageKeith Packard2017-05-13
| | | | | | | The device reports raw ADC values, which mean AltosLib needs to translate them. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Another bit of altoslib for the old eeprom stuffKeith Packard2017-05-13
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* initial tests made using Terry's stand with a 2500psi sensorBdale Garbee2017-05-11
|
* telefiretwo: don't try to record pre-burn sensor values in FLIGHT recordBdale Garbee2017-05-11
|
* altoslib: Remove older eeprom handling codeKeith Packard2017-05-09
| | | | | | The new code appears to work in minor testing; time to try it all the time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Save eeprom data in new .eeprom formatKeith Packard2017-05-09
| | | | | | A chunk of json for the config values followed by hex numbers for the data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Hack up AltosEepromFile to support new eeprom codeKeith Packard2017-05-09
| | | | | | Redirect when asked to read an eeprom file using the "Reader" type. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Compile AltosForce and AltosPressureKeith Packard2017-05-09
| | | | | | Useful if you want to actually use these. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add new eeprom management codeKeith Packard2017-05-09
| | | | | | Generic .eeprom file parsing, simpler per-type eeprom data extraction. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add set_config_data to AltosStateKeith Packard2017-05-09
| | | | | | Initialize all config-data related state values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add empty constructor for AltosPyro for JSONKeith Packard2017-05-09
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add Ms5607 constructor that just takes config_dataKeith Packard2017-05-09
| | | | | | Use for making Ms5607 from eeprom files. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add AltosForce and AltosPressure unitsKeith Packard2017-05-09
| | | | | | Useful for TeleFireTwo. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Hide members from json by prefixing with __Keith Packard2017-05-09
| | | | | | | 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>
* altoslib: Fix MS5607 raw data to pressure conversion functionMiguel Benavidez2017-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Fake thrust data as accel for nowKeith Packard2017-04-25
|
* altoslib: renamed AltosSensorTMini2, but didn't update AltosIdleFetchKeith Packard2017-04-24
| | | | | | Because Java found the old installed version of this library. Thanks! Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add TeleFireTwo eeprom supportKeith Packard2017-04-22
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add TeleMini v3 supportKeith Packard2017-02-20
| | | | | | | | 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>
* altoslib: Add a 'seconds' method to AltosGPSKeith Packard2016-08-02
| | | | | | | This computes the time in seconds since the epoch from GPS time information. Signed-off-by: Keith Packard <keithp@keithp.com>
* Switch from GPLv2 to GPLv2+Keith Packard2016-07-12
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Stop reflective JSON class walk at Object instead of nullKeith Packard2016-06-17
| | | | | | | | | 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>
* altoslib: Add back some JSON exception debugging printfsKeith Packard2016-06-17
| | | | | | These make it possible to figure out where the JSON code went wrong. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add construction for remaining primitive array types to JSONKeith Packard2016-06-17
| | | | | | | 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>
* altoslib: Add null constructor for AltosCompanionKeith Packard2016-06-17
| | | | | | This lets it be used by the JSON code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Get rid of manual JSON encoding stuffKeith Packard2016-06-17
| | | | | | | Now that the reflective JSON stuff is working, we can delete all of the manual code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Improve AltosState save/restore debuggingKeith Packard2016-06-17
| | | | | | | 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>
* altoslib: Use reflection JSON code for frequency preferencesKeith Packard2016-06-17
| | | | | | | This replaces the non-reflective JSON code with reflective code, which is much shorter. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add JSON-based object saving/restoring codeKeith Packard2016-06-17
| | | | | | | This uses Java reflection to construct JSON strings for most Java objects. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add null constructors to AltosQuaternion and AltosRotationKeith Packard2016-06-16
| | | | | | These will be used in the reflection-based JSON code Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Remove AltosHashSet codeKeith Packard2016-06-15
| | | | | | Everything has switched to JSON now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Switch preserved state format to JSONKeith Packard2016-06-15
| | | | | | This is much easier to debug than the icky strings with backslashes everywhere. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: use miles for distances > 1000ft.Keith Packard2016-05-24
| | | | | | | 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>
* altoslib: Add AltosIdleReaderKeith Packard2016-05-15
| | | | | | | This provides an AltosFlightReader interface for monitor idle mode, making that easier to provide in TeleGPS Signed-off-by: Keith Packard <keithp@keithp.com>