summaryrefslogtreecommitdiff
path: root/altoslib
Commit message (Collapse)AuthorAge
* 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>
* altoslib: Deal with TeleMetrum v2.0 MMA6555 being invertedKeith Packard2016-05-02
| | | | | | | | | | | | | | | | Dumping the MMA655X data with the 'A' command provides the raw sensor value. On TM v2.0 boards, the sensor is inverted, and all of the firmware uses the inverted value except for the 'dump the raw data' command. As a result, MonitorIdle was using the un-inverted value and displaying mystic values. I've fixed this in the ground station code by checking the product name and conditionally inverting the value (4095 - value) for TeleMetrum v2.0 products. Unknown products will generate a warning dialog on AltosUI so we'll catch places where we've failed to add a new product name. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Flush during set_state. Don't store listener state.Keith Packard2016-04-30
| | | | | | | | The listener state wasn't used anyways, so don't bother storing it. Also, flush the state during set_state, which actually causes the state to be written out. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Correct stats for flights without a real landingKeith Packard2016-04-30
| | | | | | | | | | | | The landing time was miscomputed when the flight ended without entering the landed state, as when the recording terminates at apogee. This led to an uncomputed average boost accel, so that is now checked separately from max accel (which is done over the whole flight, not just boost). Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Make AltosPreferencesBackend abstract. Add set/put SerializableKeith Packard2016-04-28
| | | | | | | This lets us add functionality to this directly, such as the new serializable APIs. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosdroid: Add configurable frequency setKeith Packard2016-04-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* Fix key in AndroidManifest.xml.inKeith Packard2016-04-27
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altosdroid: Split setup functions to separate dialogKeith Packard2016-04-26
| | | | | | | Remove them from the options menu, handle all preferences through listeners. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosdroid: Add idle mode monitoring, reboot. Start ignitersKeith Packard2016-04-25
| | | | | | | This adds three idle mode operations -- monitor idle, reboot flight computer and test igniters. The igniter test isn't quite wired up. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Don't try to drag lines around until map is loadedKeith Packard2016-04-22
| | | | | | When the transform is null, it's hard to draw lines. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Report exceptions caught while opening launch sites URLKeith Packard2016-04-22
| | | | | | This just dumps them to stdout, which helps debug on Linux at least. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Use feet per second for imperial speedKeith Packard2016-04-22
| | | | | | This is more useful during descent than miles per hour... Signed-off-by: Keith Packard <keithp@keithp.com>
* Fix java class differing only by caseJustin Vreeland2016-04-21
| | | | | | | | | | | | OSX and Windows cannot handle files with names differing only by case. When these files are present in either there's a constant unfixable change viewable in git status and git diff. Since this code can be run and compiled on both platforms names different only by case should be avoided. Signed-off-by: Justin Vreeland <vreeland.justin@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com>
* Update java library version numbersKeith Packard2016-04-21
| | | | | | Prepare for 1.6.3 release. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: switch from keySet() to keys() in altos map tilesKeith Packard2016-04-19
| | | | | | | Android appears to not have the keySet() API in the same way that regular java does, so use the alternate older keys() api instead. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Make AltosGPSSat implement SerializableKeith Packard2016-04-19
| | | | | | This is required to save state values in AltosDroid. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add debugging to AltosPreferences.state() etcKeith Packard2016-04-19
| | | | | | | This let me find why AltosDroid was losing the last state information for each target. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosui,telegps: Do not allow radio calibration to be editedKeith Packard2016-03-26
| | | | | | | This leads to sorrow for almost everyone. If you want to edit this, use a terminal program. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: use env var LAUNCH_SITES to override default URLKeith Packard2016-03-26
| | | | | | This makes it easier to debug new launch site data before uploading. Signed-off-by: Keith Packard <keithp@keithp.com>
* Update java library versionsKeith Packard2016-01-10
| | | | | | altoslib is API incompatible with 1.6.1 release due to altos.state updates. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Remove debug message from AltosMapKeith Packard2016-01-10
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Keep downloading when a parse error occursKeith Packard2015-10-13
| | | | | | | Eventually, we'll hit a block with no valid data and give up. Until then, keep going in case the flight computer glitched and wrote bad data. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Make sure .eeprom download file is flushed on exceptionKeith Packard2015-10-13
| | | | | | | Flush and close the eeprom file even if an exception occurs to make sure that contents of the file aren't lost. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Rotation off by factor of twoKeith Packard2015-10-13
| | | | | | | | | The rotation computation was off by a factor of two when converting the rates to a quaternion (the quaternion needs to be half of the actual rotation amount). This ended up presenting a tilt angle of twice what it should be. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Hide 'state' member and use accessor functionKeith Packard2015-10-13
| | | | | | | | Someone was smashing the state to 'landed' when no packets had been received for a while. Found that by making it impossible for anyone outside of AltosState to change the value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add companion telemetry data supportKeith Packard2015-08-20
| | | | | | This got lost in the great telemetry rewrite Signed-off-by: Keith Packard <keithp@keithp.com>
* Bump Java library versionsKeith Packard2015-07-15
| | | | | | Avoid problems if you have an old version of the library installed Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Preload maps based on distance rather than number of tilesKeith Packard2015-07-11
| | | | | | | This lets you get the specific area requested at all zoom levels, rather than having further detail only at lower resolution zooms. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Convert longitude from distance in AltosMapTransformKeith Packard2015-07-11
| | | | | | | This computes the longitude cooresponding to a specific distance at a specific latitude. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Limit simultanous map tile downloads to 128Keith Packard2015-07-11
| | | | | | | | | Before this change, every tile requested would get downloaded at the same time. With moving to distance-based offline map loading radius values, the number of tiles at closer zooms was in the thousands, overwhelming the network. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Make earth size constants publicKeith Packard2015-07-11
| | | | | | This lets other code share the values. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Make AltosMap floor/ceil static. Check transform in paintKeith Packard2015-07-11
| | | | | | This avoids crashing in paint when no transform has been set yet. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Support TeleBT v3.0 battery voltage conversionKeith Packard2015-06-25
| | | | | | | TeleBT v3.0 uses an STM32 instead of a cc1111, so it needs a different voltage computation from the raw ADC value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Don't crash if dragging a map view without any tilesKeith Packard2015-06-25
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Fix replay to run in realtime againKeith Packard2015-06-23
| | | | | | At some point, this got sped up to 10x normal speedx Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Typo slipped into AltosState.javaKeith Packard2015-06-23
| | | | | | Oops. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Use a longer filter for descent valuesKeith Packard2015-06-23
| | | | | | This makes descent speeds almost useful, a huge improvement Signed-off-by: Keith Packard <keithp@keithp.com>
* altosdroid: Select tracker by clicking on mapKeith Packard2015-06-22
| | | | | | | This lets you pick a tracker from the map, rather than having to use the menu. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add set_zoom_centre to AltosMapKeith Packard2015-06-22
| | | | | | | This zooms around a specific point, keeping it at the same place on the screen. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Clean up map tile removalKeith Packard2015-06-22
| | | | | | | Remove them while walking the hash table, rather than creating a list to remove. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib/altosuilib: Fix equals methods, add hashCodeKeith Packard2015-06-22
| | | | | | | | Whenever we use a class as a HashMap key, that class needs to override the equals(Object) and hashCode() methods. Otherwise, the hash table won't work right. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Remove debug output from AltosMapKeith Packard2015-06-17
| | | | | | It's just annoying now. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Expose public function to set state.productKeith Packard2015-06-17
| | | | | | Just adds a setter function for this value. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Let the application disable the link cancel dialogKeith Packard2015-06-17
| | | | | | | This lets the application control whether to pop up the cancel dialog when the link isn't working. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Set product for idle monitorKeith Packard2015-06-17
| | | | | | This lets the UI show the product name Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add preferences for saving/restoring multiple flight statesKeith Packard2015-06-06
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Require 'debug' hook in AltosMapInterfaceKeith Packard2015-05-29
| | | | | | This lets the map users redirect debug messages as appropriate Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Pass all map loader params to set_load_paramsKeith Packard2015-05-28
| | | | | | | | Add zoom and map type to the param list so we don't call set_zoom and set_maptype separately, which only causes lots of extra image loads to get started unnecessarily. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Add map loading helper classKeith Packard2015-05-27
| | | | | | | This adds the AltosMapLoader class, which iterates over a sequence of zoom levels and formats to get local copies of a desired launch site. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Provide toString method for AltosLatLonKeith Packard2015-05-27
| | | | | | Makes printing them easier. Signed-off-by: Keith Packard <keithp@keithp.com>