summaryrefslogtreecommitdiff
path: root/altoslib
Commit message (Collapse)AuthorAge
* 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>
* altoslib: Add log_space to AltosStateKeith Packard2016-05-15
| | | | | | | TeleGPS doesn't have flight_log_max value, but does have log_space which we can use for the same thing in monitor idle mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Set version and log space from AltosIdleFetchKeith Packard2016-05-15
| | | | | | Just more data for monitor idle mode Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Allow empty values in AltosHashSet representationKeith Packard2016-05-15
| | | | | | Check for value termination before appending the first character. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Store saved state in version-independent formatKeith Packard2016-05-12
| | | | | | | Use AltosHashSet for AltosState so that AltosDroid doesn't lose tracker information when the application is upgraded. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Store common frequencies in library version-independent formKeith Packard2016-05-12
| | | | | | | | | | | | | | | Serializable Objects in java are very specific to the class being serialized. As we bump the name of the library on a regular basis to note API/ABI issues, this mean a saved a Serializable object in the preferences database will fail to load across library version upgrades. The saved tracker state and saved common frequencies were the only objects saved in this form; this patch adds infrastructure for writing objects in a version-independent form, and then adds support for saving frequencies in that form. Signed-off-by: Keith Packard <keithp@keithp.com>
* Bump java library versionsKeith Packard2016-05-12
| | | | | | Prepare for 1.6.4 release Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Get rid of AltosMap from AltosMapLoaderKeith Packard2016-05-11
| | | | | | | Cleans up the loader API and eliminates a AltosMapTile for every chunk of map data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Clean up map file and url handlingKeith Packard2016-05-11
| | | | | | move it all to AltosMapStore.java Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Allow map preloading to be abortedKeith Packard2016-05-11
| | | | | | | Close the map preload dialog and it would be nice to stop loading map bits. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Remove some debug printf callsKeith Packard2016-05-11
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Switch distance from m/ft to km/miles for large valuesKeith Packard2016-05-11
| | | | | | | This adds lots of infrastructure to deal with making the unit used depend on the value itself, and then uses it only for distances. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Fix map preloading callbacks, run in separate threadKeith Packard2016-05-05
| | | | | | | | | | | | | | | | | The map storage and tile callbacks were muddled together. Create clearly separate states for map data and have status updates be delivered when registering for new status events so that registration is sufficient to track the state without an explicit call to get the current state. Run the map tile creation in a separate thread so that even checking status of files on disk runs out of the UI thread. These fixes serve to make the pacifier update more smoothly, and also not over/under count tile loading so that the loading actually completes when all of the tiles are loaded. Signed-off-by: Keith Packard <keithp@keithp.com>