summaryrefslogtreecommitdiff
path: root/altosuilib
Commit message (Collapse)AuthorAge
* altosuilib: Show indicator when they switch from invalid back to validKeith Packard2016-07-12
| | | | | | | | The 'hide' value wasn't getting reset to 'false' each time the state of the indicators was checked, so indicators would get hidden and then never shown again. 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>
* altosuilib: Track open frames, exit when none remainKeith Packard2016-06-15
| | | | | | | This will let us not have the altosui window open by causing the application to shut down when the last frame closes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Only display map debugging when serial_debug is enabledKeith Packard2016-06-05
| | | | | | This keeps the application quiet for most users. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Fill preload map on site or lat/lon changeKeith Packard2016-05-27
| | | | | | | | This loads the map view with the selected area when the site entry is changed or the user hits return in the lat/lon fields. This lets you see the target launch site without having to load the whole preload set. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Rename AltosUIMap*New.java to AltosUIMap*.javaKeith Packard2016-05-24
| | | | | | This code isn't really new anymore... Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Have map preload respond to units and font size changesKeith Packard2016-05-24
| | | | | | | Just add suitable listeners so that the display updates when preferences change. 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>
* altosuilib: Don't flicker missing voltages when changing unitsKeith Packard2016-05-11
| | | | | | | | For some reason, a value of MISSING -1 was getting used, which caused displays to light up briefly with a weird value when switching between metric and imperial units. 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>
* altosuilib: Rate limit map loading pacifier updatesKeith Packard2016-05-11
| | | | | | | Just updating the pacifier was consuming a huge amount of CPU. Update no more than once every 100ms. 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>
* 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>
* Update java library version numbersKeith Packard2016-04-21
| | | | | | Prepare for 1.6.3 release. 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>
* altosuilib: Control map debugging output with Serial.debugKeith Packard2016-03-26
| | | | | | This uses the same debug control as the serial output to monitor map downloading Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Note that Windows now supports BluetoothKeith Packard2016-03-20
| | | | 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>
* altosuilib: In display thread, set new state synchronouslyKeith Packard2015-10-13
| | | | | | | | | | | | | | | | | | When replaying telemetry, received_time gets set by both the telemetry reader (when the file is initially read) and by the replay reader (as the telemetry is processed). Because these two events are separated by the time it takes to play the file, the second time is the one we want for figuring out how long since the last telemetry packet. However, if we set the global state when pulling the state out of the telemetry reader, and then the replay reader pauses for a long time, then the voice output thread sees the intermediate time value and thinks that it has been a long time since the last packet was received and reports that the rocket may have crashed. Fix this by just holding the read state until it has been passed by the replay reader and had the received_time set to current time. 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>
* 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>
* altosuilib: Receiver battery voltage lives in listener_stateKeith Packard2015-06-25
| | | | | | | | The code to detect whether to show or hide this entry was using functions that weren't given the listener_state and hence returned MISSING all of the time. 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>
* altosuilib: Use AltosMap set_zoom_centre instead of in-line versionKeith Packard2015-06-22
| | | | | | Shares the same function with altosdroid this way. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Allow for no transform in map mouse wheel functionKeith Packard2015-06-22
| | | | 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>
* altosuilib: Create grid-bag helper functions in AltosUIFrameKeith Packard2015-06-17
| | | | | | This eases the burden of creating suitable GridBagConstraints values Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Show state.product if state.device_type isn't setKeith Packard2015-06-17
| | | | | | MonitorIdle doesn't get the device type, only the product. 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>
* altosuilib: Eliminate extra MapCache in AltosUIMapPreloadNewKeith Packard2015-05-28
| | | | | | Use the cache from the map. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Get rid of AltosUIMapNew.set_load_paramsKeith Packard2015-05-28
| | | | | | This isn't needed anywhere. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Switch to altoslib map loading codeKeith Packard2015-05-27
| | | | | | | Remove the map loading code from the UI bits and use the new altoslib version instead. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Use altoslib site list loaderKeith Packard2015-05-27
| | | | | | Removes the custom version and uses the shared code Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Get rid of AltosUIVersion.javaKeith Packard2015-05-26
| | | | | | It's been moved to altoslib/AltosVersion.java Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Remove old map bitsKeith Packard2015-05-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Use new map code for map preload UIKeith Packard2015-05-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Add AltosUIImage.javaKeith Packard2015-05-26
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib/altosuilib: Get new Map display code running in altosui and telegpsKeith Packard2015-05-26
| | | | | | | Looks like the display is all hooked up. Still need to replace the preload UIs. Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib/altosuilib: Update library version to 7Keith Packard2015-05-25
| | | | | | So many ABI/API changes Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: More frobbing with new map bitsKeith Packard2015-05-25
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altoslib: Expose locale and non-locale floating point parsing functionsKeith Packard2015-05-19
| | | | | | | | | UI bits use locale-specific floating point formats, so parsing those needs to use the locale. Network-based data, like .kml bits need to use non-locale-specific parsing code, so now we've got both APIs available, and each used as appropriate. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Detect pair programming by product name, not USB idKeith Packard2015-02-14
| | | | | | | | With TeleDongle, TeleBT and TeleMetrum coming in both pair- and self- programmable versions, we can't use the USB id to tell them apart. Instead, fetch the device name and use that instead. Signed-off-by: Keith Packard <keithp@keithp.com>
* Bump java library versionsKeith Packard2015-02-07
| | | | | | | Lots of minor API/ABI changes; make sure people can install both 1.5 and 1.6 at the same time. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Don't offer to graph some GPS details that TM doesn't logKeith Packard2015-02-07
| | | | | | | | When using a TM eeprom file, various minor GPS details are logged (course, ground speed, climb rate, etc). Make sure these aren't offered up for graphing. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Get the Eeprom download progress bar working againKeith Packard2015-02-07
| | | | | | | | | | | | The eeprom download code wasn't computing the start of each state transition correctly, so the progress bar was snapping to the end of the chunk for each state. Invalid state values would snap the bar to the right side. Landed state wasn't ever seen, so the bar would not ever fill. Signed-off-by: Keith Packard <keithp@keithp.com>
* altosuilib: Set the icon and title of the telemetry scanning dialogKeith Packard2015-02-07
| | | | | | Just need to call 'super' to get the window configured correctly. Signed-off-by: Keith Packard <keithp@keithp.com>