fw/altos
7 years agoupdate changelog for Debian build debian/1.6.4-1
Bdale Garbee [Fri, 17 Jun 2016 16:03:10 +0000 (10:03 -0600)]
update changelog for Debian build

7 years agoMerge branch 'branch-1.6' into debian
Bdale Garbee [Fri, 17 Jun 2016 16:02:00 +0000 (10:02 -0600)]
Merge branch 'branch-1.6' into debian

7 years agoreleasing 1.6.4 1.6.4
Bdale Garbee [Fri, 17 Jun 2016 16:01:17 +0000 (10:01 -0600)]
releasing 1.6.4

7 years agoMerge branch 'master' into branch-1.6
Bdale Garbee [Fri, 17 Jun 2016 16:00:10 +0000 (10:00 -0600)]
Merge branch 'master' into branch-1.6

7 years agoBump version to 1.6.4
Keith Packard [Fri, 17 Jun 2016 15:58:06 +0000 (08:58 -0700)]
Bump version to 1.6.4

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Stop reflective JSON class walk at Object instead of null
Keith Packard [Fri, 17 Jun 2016 15:54:19 +0000 (08:54 -0700)]
altoslib: Stop reflective JSON class walk at Object instead of null

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>
7 years agoaltosui: Print filename before attempting to parse in --summary mode
Keith Packard [Fri, 17 Jun 2016 15:27:12 +0000 (08:27 -0700)]
altosui: Print filename before attempting to parse in --summary mode

Any problems handling the file are easier to debug if the filename is
visible above the error message.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Add back some JSON exception debugging printfs
Keith Packard [Fri, 17 Jun 2016 15:26:31 +0000 (08:26 -0700)]
altoslib: Add back some JSON exception debugging printfs

These make it possible to figure out where the JSON code went wrong.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Add construction for remaining primitive array types to JSON
Keith Packard [Fri, 17 Jun 2016 15:17:57 +0000 (08:17 -0700)]
altoslib: Add construction for remaining primitive array types to JSON

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>
7 years agoaltoslib: Add null constructor for AltosCompanion
Keith Packard [Fri, 17 Jun 2016 15:17:15 +0000 (08:17 -0700)]
altoslib: Add null constructor for AltosCompanion

This lets it be used by the JSON code.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Get rid of manual JSON encoding stuff
Keith Packard [Fri, 17 Jun 2016 07:52:38 +0000 (00:52 -0700)]
altoslib: Get rid of manual JSON encoding stuff

Now that the reflective JSON stuff is working, we can delete all of
the manual code.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Improve AltosState save/restore debugging
Keith Packard [Fri, 17 Jun 2016 07:02:05 +0000 (00:02 -0700)]
altoslib: Improve AltosState save/restore debugging

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>
7 years agoaltoslib: Use reflection JSON code for frequency preferences
Keith Packard [Fri, 17 Jun 2016 07:01:15 +0000 (00:01 -0700)]
altoslib: Use reflection JSON code for frequency preferences

This replaces the non-reflective JSON code with reflective code, which
is much shorter.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Add JSON-based object saving/restoring code
Keith Packard [Fri, 17 Jun 2016 07:00:09 +0000 (00:00 -0700)]
altoslib: Add JSON-based object saving/restoring code

This uses Java reflection to construct JSON strings for
most Java objects.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Add null constructors to AltosQuaternion and AltosRotation
Keith Packard [Fri, 17 Jun 2016 06:59:06 +0000 (23:59 -0700)]
altoslib: Add null constructors to AltosQuaternion and AltosRotation

These will be used in the reflection-based JSON code

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Remove AltosHashSet code
Keith Packard [Thu, 16 Jun 2016 05:52:08 +0000 (22:52 -0700)]
altoslib: Remove AltosHashSet code

Everything has switched to JSON now.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Switch preserved state format to JSON
Keith Packard [Thu, 16 Jun 2016 05:40:27 +0000 (22:40 -0700)]
altoslib: Switch preserved state format to JSON

This is much easier to debug than the icky strings with backslashes everywhere.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Updates to 1.6.4 release notes.
Keith Packard [Thu, 16 Jun 2016 05:39:31 +0000 (22:39 -0700)]
doc: Updates to 1.6.4 release notes.

Note USB fixes for host reboot and other changes.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Don't open command window when --graph is provided
Keith Packard [Thu, 16 Jun 2016 05:38:32 +0000 (22:38 -0700)]
altosui: Don't open command window when --graph is provided

When the user explicitly asks to open a graph, don't bring up the
command button window too.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Track open frames, exit when none remain
Keith Packard [Thu, 16 Jun 2016 05:37:39 +0000 (22:37 -0700)]
altosuilib: Track open frames, exit when none remain

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>
7 years agoaltosui: Remove missing items from --summary output
Keith Packard [Thu, 16 Jun 2016 05:36:35 +0000 (22:36 -0700)]
altosui: Remove missing items from --summary output

Check all values for MISSING before printing them.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Auto save freq changes on 'ok'
Keith Packard [Thu, 16 Jun 2016 05:33:55 +0000 (22:33 -0700)]
altosdroid: Auto save freq changes on 'ok'

Add any pending changes in the edit entries to the frequency set when
the user selects 'ok'.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoextend "ok" temp range to 40C, since battery charger on bench can drive temp above
Bdale Garbee [Sun, 12 Jun 2016 15:23:36 +0000 (09:23 -0600)]
extend "ok" temp range to 40C, since battery charger on bench can drive temp above
35C at times in Bdale and Robert's production testing

7 years agoaltos/stmf0: Remove ao_usb_free
Keith Packard [Sun, 12 Jun 2016 05:17:01 +0000 (22:17 -0700)]
altos/stmf0: Remove ao_usb_free

This can't work without a lot more effort.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stmf0: Rework the sram allocation to save a few text bytes
Keith Packard [Sun, 12 Jun 2016 05:16:12 +0000 (22:16 -0700)]
altos/stmf0: Rework the sram allocation to save a few text bytes

Boot loaders were going over 4096 bytes of ROM. I suspect we'll need
more serious work soon.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/cc1115l: Reduce trace buffer size
Keith Packard [Fri, 10 Jun 2016 21:40:26 +0000 (14:40 -0700)]
altos/cc1115l: Reduce trace buffer size

A 32-element trace buffer is all the larger we can fit in teledongle.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Handle USB reset in STM32L usb driver
Keith Packard [Fri, 10 Jun 2016 21:39:25 +0000 (14:39 -0700)]
altos/stm: Handle USB reset in STM32L usb driver

Just like lpc and stmf0, deal with the host resetting the bus while
rebooting by restoring all usb-related data to the initial values.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/lpc: Handle USB reset by resetting internal state
Keith Packard [Fri, 10 Jun 2016 21:33:50 +0000 (14:33 -0700)]
altos/lpc: Handle USB reset by resetting internal state

Just like stmf0, this clears internal state at USB reset time so the
driver can survive host OS reboots.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agostmf0: Do not send more data than requested for GET_DESCRIPTOR
Keith Packard [Fri, 10 Jun 2016 05:06:30 +0000 (22:06 -0700)]
stmf0: Do not send more data than requested for GET_DESCRIPTOR

When Linux boots, it asks for only the first 8 bytes of the device
descriptor; we must limit the amount of data sent back to that amount
or USB will get wedged.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agostmf0: Clear all USB state when resetting chip. Wakeup all sleepers
Keith Packard [Fri, 10 Jun 2016 05:05:24 +0000 (22:05 -0700)]
stmf0: Clear all USB state when resetting chip. Wakeup all sleepers

When USB is reset, but the board is not power cycled, all of the
internal USB state needs to be reset, and any tasks blocked on sending
or receiving packets need to be awoken so they can go wait for USB to
start running again.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agotelegps-v1.0: Document how SN 1959 was fixed
Keith Packard [Fri, 10 Jun 2016 05:03:45 +0000 (22:03 -0700)]
telegps-v1.0: Document how SN 1959 was fixed

SN1959 was fixed by jumpering pin 8 to pin 10 so that the DONE_INT_PIN
could be switched from PIO 2 to PIO 4 as pin 8 appeared to have failed.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Only display map debugging when serial_debug is enabled
Keith Packard [Sun, 5 Jun 2016 16:17:12 +0000 (09:17 -0700)]
altosuilib: Only display map debugging when serial_debug is enabled

This keeps the application quiet for most users.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Fill preload map on site or lat/lon change
Keith Packard [Sat, 28 May 2016 03:30:18 +0000 (20:30 -0700)]
altosuilib: Fill preload map on site or lat/lon change

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>
7 years agodoc: pad/idle indicator table was busted
Keith Packard [Thu, 26 May 2016 21:33:44 +0000 (14:33 -0700)]
doc: pad/idle indicator table was busted

I stuck a pile of extra '|' characters in the table by mistake.

Reported-by: Stan <stanleyosmith@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Rename AltosUIMap*New.java to AltosUIMap*.java
Keith Packard [Wed, 25 May 2016 06:44:50 +0000 (23:44 -0700)]
altosuilib: Rename AltosUIMap*New.java to AltosUIMap*.java

This code isn't really new anymore...

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Have map preload respond to units and font size changes
Keith Packard [Wed, 25 May 2016 06:40:47 +0000 (23:40 -0700)]
altosuilib: Have map preload respond to units and font size changes

Just add suitable listeners so that the display updates when
preferences change.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: use miles for distances > 1000ft.
Keith Packard [Wed, 25 May 2016 06:40:03 +0000 (23:40 -0700)]
altoslib: use miles for distances > 1000ft.

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>
7 years agotelegps: Add monitor idle mode
Keith Packard [Sun, 15 May 2016 20:59:12 +0000 (13:59 -0700)]
telegps: Add monitor idle mode

This monitors directly connected devices. No support for doing monitor
idle using packet mode, as TeleGPS doesn't support that.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agotelegps: Use log_space when flight_log_max is missing
Keith Packard [Sun, 15 May 2016 20:58:41 +0000 (13:58 -0700)]
telegps: Use log_space when flight_log_max is missing

TeleGPS has this, but not flight_log_max

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Add AltosIdleReader
Keith Packard [Sun, 15 May 2016 20:57:28 +0000 (13:57 -0700)]
altoslib: Add AltosIdleReader

This provides an AltosFlightReader interface for monitor idle mode,
making that easier to provide in TeleGPS

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Add log_space to AltosState
Keith Packard [Sun, 15 May 2016 20:56:21 +0000 (13:56 -0700)]
altoslib: Add log_space to AltosState

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>
7 years agoaltoslib: Set version and log space from AltosIdleFetch
Keith Packard [Sun, 15 May 2016 20:55:12 +0000 (13:55 -0700)]
altoslib: Set version and log space from AltosIdleFetch

Just more data for monitor idle mode

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Allow empty values in AltosHashSet representation
Keith Packard [Sun, 15 May 2016 20:53:38 +0000 (13:53 -0700)]
altoslib: Allow empty values in AltosHashSet representation

Check for value termination before appending the first character.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Store saved state in version-independent format
Keith Packard [Fri, 13 May 2016 06:33:53 +0000 (23:33 -0700)]
altoslib: Store saved state in version-independent format

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>
7 years agoaltoslib: Store common frequencies in library version-independent form
Keith Packard [Fri, 13 May 2016 02:13:05 +0000 (19:13 -0700)]
altoslib: Store common frequencies in library version-independent form

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>
7 years agoaltosui/telegps/micropeak: Handle both MULTI_LIB and non-MULTI_LIB builds
Keith Packard [Fri, 13 May 2016 02:10:19 +0000 (19:10 -0700)]
altosui/telegps/micropeak: Handle both MULTI_LIB and non-MULTI_LIB builds

On x86 systems with -m32 and -m64 compilers, both libaltos32.so and
libaltos64.so are built. Otherwise, we should use libaltos.so

altosui only dealt with libaltos32.so and libaltos64.so, so it only
worked on MULTI_LIB systems. telegps and micropeak only used
libaltos.so, so they wouldn't work correctly on multi-lib systems.

Fix all of them to work either way.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoAutomatically run 'git submodule update' if necessary
Keith Packard [Fri, 13 May 2016 01:05:14 +0000 (18:05 -0700)]
Automatically run 'git submodule update' if necessary

This makes sure pdclib exists by updating for the all and
all-recursive targets

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump java library versions
Keith Packard [Thu, 12 May 2016 19:14:03 +0000 (12:14 -0700)]
Bump java library versions

Prepare for 1.6.4 release

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump android app version
Keith Packard [Thu, 12 May 2016 19:13:45 +0000 (12:13 -0700)]
Bump android app version

Prepare for 1.6.4 release

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agotelegps: Adapt to distance units switching changes
Keith Packard [Thu, 12 May 2016 06:31:53 +0000 (23:31 -0700)]
telegps: Adapt to distance units switching changes

'show_units' is no longer available; use 'parse_units' instead

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Get rid of AltosMap from AltosMapLoader
Keith Packard [Wed, 11 May 2016 19:48:10 +0000 (12:48 -0700)]
altoslib: Get rid of AltosMap from AltosMapLoader

Cleans up the loader API and eliminates a AltosMapTile for every chunk
of map data.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: make disconnect stick past pause/restart
Keith Packard [Wed, 11 May 2016 19:43:51 +0000 (12:43 -0700)]
altosdroid: make disconnect stick past pause/restart

Clear the active_device preference on disconnect so we don't reconnect
anytime the service gets activated.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Clean up map file and url handling
Keith Packard [Wed, 11 May 2016 17:47:31 +0000 (10:47 -0700)]
altoslib: Clean up map file and url handling

move it all to AltosMapStore.java

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Start update for 1.6.4
Keith Packard [Wed, 11 May 2016 06:13:14 +0000 (23:13 -0700)]
doc: Start update for 1.6.4

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Don't flicker missing voltages when changing units
Keith Packard [Wed, 11 May 2016 06:04:23 +0000 (23:04 -0700)]
altosuilib: Don't flicker missing voltages when changing units

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>
7 years agoaltosdroid: Rate limit map loading pacifier
Keith Packard [Wed, 11 May 2016 06:03:45 +0000 (23:03 -0700)]
altosdroid: Rate limit map loading pacifier

Just like in altosui.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Allow map preloading to be aborted
Keith Packard [Wed, 11 May 2016 06:02:09 +0000 (23:02 -0700)]
altoslib: Allow map preloading to be aborted

Close the map preload dialog and it would be nice to stop loading map
bits.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Rate limit map loading pacifier updates
Keith Packard [Wed, 11 May 2016 05:50:23 +0000 (22:50 -0700)]
altosuilib: Rate limit map loading pacifier updates

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>
7 years agoaltoslib: Remove some debug printf calls
Keith Packard [Wed, 11 May 2016 05:49:04 +0000 (22:49 -0700)]
altoslib: Remove some debug printf calls

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Switch distance from m/ft to km/miles for large values
Keith Packard [Wed, 11 May 2016 05:46:58 +0000 (22:46 -0700)]
altoslib: Switch distance from m/ft to km/miles for large values

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>
7 years agoAdd TeleMega to spec list. Add TeleGPS RF output.
Keith Packard [Tue, 10 May 2016 19:29:14 +0000 (12:29 -0700)]
Add TeleMega to spec list. Add TeleGPS RF output.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoPublish firmware with keithp-fat
Keith Packard [Tue, 10 May 2016 19:28:51 +0000 (12:28 -0700)]
Publish firmware with keithp-fat

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Check for closed before writing/reading bluetooth
Keith Packard [Tue, 10 May 2016 00:57:12 +0000 (17:57 -0700)]
altosdroid: Check for closed before writing/reading bluetooth

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui/telegps: Ship firmware for new hardware
Keith Packard [Tue, 10 May 2016 00:56:28 +0000 (17:56 -0700)]
altosui/telegps: Ship firmware for new hardware

TBT v3.0 and Tmega v2.0

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Mon, 9 May 2016 21:52:38 +0000 (15:52 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

7 years agoprocess updates made during 1.6.3 release cycle
Bdale Garbee [Mon, 9 May 2016 21:52:21 +0000 (15:52 -0600)]
process updates made during 1.6.3 release cycle

7 years agoBump version to 1.6.3.1 v1.6.3.1
Keith Packard [Mon, 9 May 2016 18:48:42 +0000 (11:48 -0700)]
Bump version to 1.6.3.1

Post 1.6.3 release

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/cc1111: Use SW to drive UART RTS pin
Keith Packard [Mon, 9 May 2016 18:33:48 +0000 (11:33 -0700)]
altos/cc1111: Use SW to drive UART RTS pin

Can't get the hw to work.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoupdate changelog for Debian build debian/1.6.3-1
Bdale Garbee [Sat, 7 May 2016 00:14:57 +0000 (18:14 -0600)]
update changelog for Debian build

7 years agoMerge branch 'branch-1.6' into debian
Bdale Garbee [Sat, 7 May 2016 00:13:12 +0000 (18:13 -0600)]
Merge branch 'branch-1.6' into debian

7 years agoreleasing 1.6.3 1.6.3
Bdale Garbee [Sat, 7 May 2016 00:12:20 +0000 (18:12 -0600)]
releasing 1.6.3

7 years agoMerge branch 'master' into branch-1.6
Bdale Garbee [Sat, 7 May 2016 00:11:01 +0000 (18:11 -0600)]
Merge branch 'master' into branch-1.6

7 years agoIgnore some built files for 1.6.3
Keith Packard [Sat, 7 May 2016 00:10:14 +0000 (17:10 -0700)]
Ignore some built files for 1.6.3

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoMerge branch 'master' into branch-1.6
Bdale Garbee [Fri, 6 May 2016 23:59:39 +0000 (17:59 -0600)]
Merge branch 'master' into branch-1.6

7 years agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Fri, 6 May 2016 23:49:30 +0000 (17:49 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

7 years agoadd beep to TeleMega turnon script
Bdale Garbee [Fri, 6 May 2016 23:49:09 +0000 (17:49 -0600)]
add beep to TeleMega turnon script

7 years agowindows: Change install to look for browser in a different place
Keith Packard [Fri, 6 May 2016 23:46:57 +0000 (16:46 -0700)]
windows: Change install to look for browser in a different place

The windows registry is a mystery.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Fix map preloading callbacks, run in separate thread
Keith Packard [Thu, 5 May 2016 09:25:52 +0000 (02:25 -0700)]
altoslib: Fix map preloading callbacks, run in separate thread

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>
7 years agomicropeak: Change order of windows install so that java detect works
Keith Packard [Thu, 5 May 2016 06:56:44 +0000 (23:56 -0700)]
micropeak: Change order of windows install so that java detect works

I have no idea why this matters, but if you run the FTDI script before
trying to detect java, then the javaw.exe program isn't found and java
detection fails.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: 1.6.3 release notes note TeleBT rts/cts and TM 2.0 monitor idle fixes
Keith Packard [Thu, 5 May 2016 04:13:31 +0000 (21:13 -0700)]
doc: 1.6.3 release notes note TeleBT rts/cts and TM 2.0 monitor idle fixes

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Update AltosDroid chapter for 1.6.3
Keith Packard [Thu, 5 May 2016 04:12:46 +0000 (21:12 -0700)]
doc: Update AltosDroid chapter for 1.6.3

New menu structure, idle mode and frequency configuration

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make sure AO_MMA655X_INVERT is declared where needed
Keith Packard [Mon, 2 May 2016 23:19:39 +0000 (16:19 -0700)]
altos: Make sure AO_MMA655X_INVERT is declared where needed

Add #define AO_MMA655X_INVERT 0 to existing products which didn't
declare it at all. This will make sure the value is set correctly for
each new board.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Deal with TeleMetrum v2.0 MMA6555 being inverted
Keith Packard [Mon, 2 May 2016 23:13:53 +0000 (16:13 -0700)]
altoslib: Deal with TeleMetrum v2.0 MMA6555 being inverted

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>
7 years agopublish AltosDroid in keithp-fat target
Keith Packard [Sun, 1 May 2016 01:38:42 +0000 (18:38 -0700)]
publish AltosDroid in keithp-fat target

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Flush during set_state. Don't store listener state.
Keith Packard [Sun, 1 May 2016 01:37:05 +0000 (18:37 -0700)]
altoslib: Flush during set_state. Don't store listener state.

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>
7 years agoaltoslib: Correct stats for flights without a real landing
Keith Packard [Sun, 1 May 2016 01:33:25 +0000 (18:33 -0700)]
altoslib: Correct stats for flights without a real landing

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>
7 years agoaltosdroid: max height is a height, not a speed
Keith Packard [Sun, 1 May 2016 01:30:16 +0000 (18:30 -0700)]
altosdroid: max height is a height, not a speed

Was using the wrong units in the flight tab

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoRevert "altos/stm: Run scheduler code on interrupt stack"
Keith Packard [Sat, 30 Apr 2016 15:46:52 +0000 (08:46 -0700)]
Revert "altos/stm: Run scheduler code on interrupt stack"

This reverts commit 6a9546413d6a236c010e806b50506d870961d074.

This causes the device to stop reliably handling interrupts.

7 years agodoc: Add idle mode info to 1.6.3 release note
Keith Packard [Sat, 30 Apr 2016 04:49:43 +0000 (21:49 -0700)]
doc: Add idle mode info to 1.6.3 release note

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Make AltosPreferencesBackend abstract. Add set/put Serializable
Keith Packard [Thu, 28 Apr 2016 19:29:16 +0000 (12:29 -0700)]
altoslib: Make AltosPreferencesBackend abstract. Add set/put Serializable

This lets us add functionality to this directly, such as the new
serializable APIs.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Add configurable frequency set
Keith Packard [Wed, 27 Apr 2016 05:40:47 +0000 (01:40 -0400)]
altosdroid: Add configurable frequency set

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoFix key in AndroidManifest.xml.in
Keith Packard [Wed, 27 Apr 2016 05:39:01 +0000 (01:39 -0400)]
Fix key in AndroidManifest.xml.in

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Split setup functions to separate dialog
Keith Packard [Wed, 27 Apr 2016 01:01:44 +0000 (21:01 -0400)]
altosdroid: Split setup functions to separate dialog

Remove them from the options menu, handle all preferences through
listeners.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Add idle mode monitoring, reboot. Start igniters
Keith Packard [Tue, 26 Apr 2016 03:12:34 +0000 (23:12 -0400)]
altosdroid: Add idle mode monitoring, reboot. Start igniters

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>
7 years agoaltos: Clear packet queue when starting packet master
Keith Packard [Mon, 25 Apr 2016 22:50:58 +0000 (18:50 -0400)]
altos: Clear packet queue when starting packet master

This avoids overfilling the packet buffer when
disconnected. Applications using packet mode shouldn't expect that
output be saved across master sessions.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/telebt-v3.0: Flip CTS/RTS pins for BT module
Keith Packard [Mon, 25 Apr 2016 22:49:45 +0000 (18:49 -0400)]
altos/telebt-v3.0: Flip CTS/RTS pins for BT module

These are wired backwards, so ask that the right pins be used, which
requires switching to software control of the pins.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm32l: Add support for software-driven HW flow control
Keith Packard [Mon, 25 Apr 2016 22:48:47 +0000 (18:48 -0400)]
altos/stm32l: Add support for software-driven HW flow control

This allows applications to request that the flow control bits be
driven from software rather than hardware, permitting more flexible
pin configuration.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Use TXE instead of TC for serial on STM32l
Keith Packard [Wed, 20 Jan 2016 07:53:27 +0000 (23:53 -0800)]
altos: Use TXE instead of TC for serial on STM32l

Using TXE allows for full-speed communication, rather than waiting for
each byte to be transmitted before inserting the next into the queue.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoDebug bits for telebt
Keith Packard [Mon, 25 Apr 2016 15:47:45 +0000 (11:47 -0400)]
Debug bits for telebt

7 years agoaltoslib: Don't try to drag lines around until map is loaded
Keith Packard [Fri, 22 Apr 2016 23:15:51 +0000 (19:15 -0400)]
altoslib: Don't try to drag lines around until map is loaded

When the transform is null, it's hard to draw lines.

Signed-off-by: Keith Packard <keithp@keithp.com>