fw/altos
3 weeks agoBump verison to 1.6.7 master
Keith Packard [Tue, 9 Aug 2016 05:40:41 +0000 (22:40 -0700)]
Bump verison to 1.6.7

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos/stmf0: Switch ADC fast to ADC clock
Keith Packard [Tue, 9 Aug 2016 05:39:16 +0000 (22:39 -0700)]
altos/stmf0: Switch ADC fast to ADC clock

Using this slower clock eliminates sampling problems with the ADC and
cleans up the chaoskey raw data.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos: Flash all LEDS during power on
Keith Packard [Thu, 4 Aug 2016 16:54:16 +0000 (09:54 -0700)]
altos: Flash all LEDS during power on

This tests the LEDS to make sure they all work on the following devices:

easymega-v1.0
telebt-v3.0
teledongle-v3.0
telemega-v1.0
telemega-v2.0
telemetrum-v2.0

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoao-bringup: Add colors to chaoskey test result reporting
Keith Packard [Thu, 4 Aug 2016 16:52:05 +0000 (09:52 -0700)]
ao-bringup: Add colors to chaoskey test result reporting

This makes them show up nice and bright in the terminal window.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoBump to version 1.6.6
Keith Packard [Tue, 2 Aug 2016 23:35:36 +0000 (16:35 -0700)]
Bump to version 1.6.6

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoao-bringup: Use released files for chaoskey turnon
Keith Packard [Tue, 2 Aug 2016 23:52:39 +0000 (16:52 -0700)]
ao-bringup: Use released files for chaoskey turnon

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoao-bringup: Test chaoskey using dieharder
Keith Packard [Tue, 2 Aug 2016 23:30:15 +0000 (16:30 -0700)]
ao-bringup: Test chaoskey using dieharder

This uses a subset of the dieharder tests which run in reasonable time
and don't appear to emit false negatives on a regular basis.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoao-chaosread: Eliminate double-free when serial match fails
Keith Packard [Tue, 2 Aug 2016 23:53:17 +0000 (16:53 -0700)]
ao-chaosread: Eliminate double-free when serial match fails

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoao-chaosread: Add --infinite and --bytes options
Keith Packard [Tue, 2 Aug 2016 23:28:17 +0000 (16:28 -0700)]
ao-chaosread: Add --infinite and --bytes options

The --infinite option keeps writing data.
The --bytes options pulls out bits 1-8 which should provide 8 true
bits of entropy.

This combination allows ao-chaosread to be fed directly into dieharder
to validate the hardware.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos: Use standard FIPS testing for chaoskey
Keith Packard [Tue, 2 Aug 2016 23:26:49 +0000 (16:26 -0700)]
altos: Use standard FIPS testing for chaoskey

Check to make sure we aren't repeating a block coming from the
unwhitened source, which is the standard online FIPS test for RNGs.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos/stmf0: Clean .bin files from flash-loader dirs
Keith Packard [Tue, 2 Aug 2016 23:53:50 +0000 (16:53 -0700)]
altos/stmf0: Clean .bin files from flash-loader dirs

The .bin files are what the DFU utility uses to flash the boot loader
using USB.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos/stmf0: Hook up clock output support
Keith Packard [Tue, 2 Aug 2016 23:32:43 +0000 (16:32 -0700)]
altos/stmf0: Hook up clock output support

This was used to try and not have two xtals on telemini, but failed
because the provided clock has too much noise.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos: Make telelcotwo control two boxes instead of two pads
Keith Packard [Tue, 2 Aug 2016 23:31:41 +0000 (16:31 -0700)]
altos: Make telelcotwo control two boxes instead of two pads

telefiretwo is now a single pad box, so telelcotwo needs to switch
between boxes instead of pads on the same box. Do this by re-purposing
the pad arming switches into a box selector and arming switch.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos: Add 'ao_button_get' to button driver
Keith Packard [Thu, 28 Jul 2016 04:28:34 +0000 (21:28 -0700)]
altos: Add 'ao_button_get' to button driver

This returns the current state of the button; useful to check what the
value is at startup.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltoslib: Add a 'seconds' method to AltosGPS
Keith Packard [Tue, 2 Aug 2016 23:33:52 +0000 (16:33 -0700)]
altoslib: Add a 'seconds' method to AltosGPS

This computes the time in seconds since the epoch from GPS time
information.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Stop building cc1111-based telemini v2.0 firmware
Keith Packard [Wed, 27 Jul 2016 20:29:20 +0000 (13:29 -0700)]
altos: Stop building cc1111-based telemini v2.0 firmware

This product never worked, so stop insisting that it actually build.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Don't switch to flight 0 when log fills in flight
Keith Packard [Wed, 27 Jul 2016 20:26:22 +0000 (13:26 -0700)]
altos: Don't switch to flight 0 when log fills in flight

If the log is full at startup, we want to transmit flight 0 to let the
ground station know. However, we don't want to switch to flight 0 in
flight, so save the initial telemetry flight number (0 or the real
flight number) at startup and use that throughout the flight.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Expose cc1200 radio test functions for telemini bringup
Keith Packard [Wed, 27 Jul 2016 20:24:57 +0000 (13:24 -0700)]
altos: Expose cc1200 radio test functions for telemini bringup

This exposes the cc1200 radio test function so we can load special
test firmware in telemini to do the radio cal as it has no USB to
perform that interactively.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agofixup for interleave
Keith Packard [Wed, 27 Jul 2016 20:23:06 +0000 (13:23 -0700)]
fixup for interleave

4 weeks agoaltos: Don't access cc1120 SPI bus during recv after abort has started
Keith Packard [Wed, 27 Jul 2016 20:17:51 +0000 (13:17 -0700)]
altos: Don't access cc1120 SPI bus during recv after abort has started

When the receive timeout happens, the radio may still interrupt while
the SPI bus is getting shut down. If this happens, the interrupt
handler shouldn't touch the SPI bus at all as it may well be turned
off, which would cause the receive function to wedge waiting for a spi
byte transfer to happen.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Keep telemetry and command output from interleaving
Keith Packard [Wed, 27 Jul 2016 19:24:27 +0000 (12:24 -0700)]
altos: Keep telemetry and command output from interleaving

When monitoring telemetry, the frame needs to be sent together on one
line, not split with the output of a command (like 'a') mixed in.

Use a mutex for products with monitoring to keep command output and
telemetry output each on separate lines.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Add STM32F0 beep and SPI byte API.
Keith Packard [Sat, 2 Jul 2016 18:00:01 +0000 (20:00 +0200)]
altos: Add STM32F0 beep and SPI byte API.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltosuilib: Show indicator when they switch from invalid back to valid
Keith Packard [Wed, 13 Jul 2016 04:06:23 +0000 (21:06 -0700)]
altosuilib: Show indicator when they switch from invalid back to valid

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>
6 weeks agoBump version to 1.6.5.1 after 1.6.5 release
Keith Packard [Wed, 13 Jul 2016 04:06:05 +0000 (21:06 -0700)]
Bump version to 1.6.5.1 after 1.6.5 release

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Add telemetrum v3.0
Keith Packard [Tue, 12 Jul 2016 22:53:47 +0000 (15:53 -0700)]
altos: Add telemetrum v3.0

Like Telemetrum v2.0, but with cc1200 instead of cc1120

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoSwitch from GPLv2 to GPLv2+
Keith Packard [Tue, 5 Jul 2016 16:03:49 +0000 (18:03 +0200)]
Switch from GPLv2 to GPLv2+

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoremove debian/ from master branch, it should live only on the debian branch
Bdale Garbee [Tue, 5 Jul 2016 08:21:29 +0000 (10:21 +0200)]
remove debian/ from master branch, it should live only on the debian branch

8 weeks agoupdates made during 1.6.5 release process
Bdale Garbee [Mon, 4 Jul 2016 22:48:07 +0000 (00:48 +0200)]
updates made during 1.6.5 release process

8 weeks agodoc: Build 1.6.5 release notes
Keith Packard [Sun, 3 Jul 2016 10:00:10 +0000 (12:00 +0200)]
doc: Build 1.6.5 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoCredit Chuck Haskin for helping fix the SPI bug.
Keith Packard [Sat, 2 Jul 2016 20:52:38 +0000 (22:52 +0200)]
Credit Chuck Haskin for helping fix the SPI bug.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoBump to 1.6.5. Add preliminary release notes
Keith Packard [Sat, 2 Jul 2016 20:08:58 +0000 (22:08 +0200)]
Bump to 1.6.5. Add preliminary release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoaltos/cc1111: Remove 'show tasks' command
Keith Packard [Fri, 1 Jul 2016 03:43:03 +0000 (20:43 -0700)]
altos/cc1111: Remove 'show tasks' command

This saves space on cc1111 parts.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoBump to testing version 1.6.4.2
Keith Packard [Wed, 29 Jun 2016 21:22:32 +0000 (14:22 -0700)]
Bump to testing version 1.6.4.2

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Use FIFO_THR pin for cc1120 transmit buffering
Keith Packard [Thu, 30 Jun 2016 01:41:24 +0000 (18:41 -0700)]
altos: Use FIFO_THR pin for cc1120 transmit buffering

Instead of reading NUM_TXBYTES, set the FIFO_THR pin to indicate when
64 bytes are available in the buffer.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Leave USB enabled in flight with -DDEBUG=1
Keith Packard [Thu, 30 Jun 2016 01:33:56 +0000 (18:33 -0700)]
altos: Leave USB enabled in flight with -DDEBUG=1

This leaves the command line available for diagnostics when debugging.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/stm: clean up ao_exti_enable
Keith Packard [Wed, 29 Jun 2016 19:55:30 +0000 (12:55 -0700)]
altos/stm: clean up ao_exti_enable

Was computing (1 << pin) twice for no good reason.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Make task list output more useful
Keith Packard [Wed, 29 Jun 2016 19:54:31 +0000 (12:54 -0700)]
altos: Make task list output more useful

Add the timeout value and task id

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/telemini-v2.0: Remove show tasks command
Keith Packard [Wed, 29 Jun 2016 23:07:22 +0000 (16:07 -0700)]
altos/telemini-v2.0: Remove show tasks command

There's not enough memory for this command, and it isn't necessary.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Make ao_delay(0) not wait forever
Keith Packard [Wed, 29 Jun 2016 19:52:37 +0000 (12:52 -0700)]
altos: Make ao_delay(0) not wait forever

ao_delay() is implemented on top of ao_sleep_for, and ao_sleep_for
uses the timeout value of 0 to indicate an infinite timeout. Calls to
ao_delay for 0 ticks would unintentionally hit this case and end up
waiting forever.x

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: cc1200: use FIFO threshold pin output for APRS buffering
Keith Packard [Wed, 29 Jun 2016 19:49:16 +0000 (12:49 -0700)]
altos: cc1200: use FIFO threshold pin output for APRS buffering

Instead of polling the device for fifo space, just use the available
pin configuration to figure out if there is enough space for a single
APRS buffer. Then set the APRS buffer size to match the fifo threshold
setting in the chip so that we know we can write the whole APRS buffer
once the pin says there's space.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Add debug check for irq block when editing task queues
Keith Packard [Wed, 29 Jun 2016 00:03:34 +0000 (17:03 -0700)]
altos: Add debug check for irq block when editing task queues

List manipulation operations are not atomic, so interrupts need to be
blocked while changing them.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/drivers: Use more reliable byte interface for CC1120 reception
Keith Packard [Wed, 29 Jun 2016 01:40:46 +0000 (18:40 -0700)]
altos/drivers: Use more reliable byte interface for CC1120 reception

This replaces direct register access with function calls to allow that
code to respect the hardware requirements.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/stm: Add better byte-level SPI api
Keith Packard [Wed, 29 Jun 2016 01:39:31 +0000 (18:39 -0700)]
altos/stm: Add better byte-level SPI api

This provides inline functions for sending and receiving individual
bytes, and setup/finish functions to wrap them in. This make the byte
sending respect the SPI hardware interface requirements.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/stm: Clean up spi_enable/disable_index functions
Keith Packard [Wed, 29 Jun 2016 01:37:49 +0000 (18:37 -0700)]
altos/stm: Clean up spi_enable/disable_index functions

These had an extra level of switch nesting for no good reason.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/stm: move spi execution to common ao_spi_run
Keith Packard [Tue, 28 Jun 2016 06:25:01 +0000 (23:25 -0700)]
altos/stm: move spi execution to common ao_spi_run

This regularizes SPI hardware use and ensures that the device is
turned off after it has been used and that the status register is back
to 'normal' the next time through.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Add STM SPI debugging
Keith Packard [Tue, 28 Jun 2016 06:26:20 +0000 (23:26 -0700)]
altos: Add STM SPI debugging

This dumps out the SPI hardware state and history of SPI operations
when compiled with -DDEBUG=1. Without that, this patch does nothing.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Add STM DMA debugging
Keith Packard [Tue, 28 Jun 2016 00:26:19 +0000 (17:26 -0700)]
altos: Add STM DMA debugging

This provides a command that shows current DMA operations when
compiled with -DDEBUG=1. Without that, this patch has no effect.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/stm: Change ao_spi_send_sync definition to take const source
Keith Packard [Wed, 29 Jun 2016 01:25:44 +0000 (18:25 -0700)]
altos/stm: Change ao_spi_send_sync definition to take const source

Provides for a bit better error checking.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/stm: Add more SPI status register bits
Keith Packard [Wed, 29 Jun 2016 00:15:27 +0000 (17:15 -0700)]
altos/stm: Add more SPI status register bits

These weren't the original version of the docs that we had.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/stm: use 0xff for dma mutex value for allocated mutexes
Keith Packard [Wed, 29 Jun 2016 00:12:48 +0000 (17:12 -0700)]
altos/stm: use 0xff for dma mutex value for allocated mutexes

DMA channels which are 'allocated' can't be shared. Instead of using
the value '1' in the related 'mutex', use 0xff which won't match any task.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/stm: remove ao_dma_abort
Keith Packard [Wed, 29 Jun 2016 00:11:38 +0000 (17:11 -0700)]
altos/stm: remove ao_dma_abort

This function isn't used anywhere.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Move comment in ao_sleep_for next to related code
Keith Packard [Wed, 29 Jun 2016 00:09:00 +0000 (17:09 -0700)]
altos: Move comment in ao_sleep_for next to related code

The comment got moved to the wrong place

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Block interrupts while waking tasks sleeping on timers.
Keith Packard [Wed, 29 Jun 2016 00:04:59 +0000 (17:04 -0700)]
altos: Block interrupts while waking tasks sleeping on timers.

Interrupts may not be blocked in the timer ISR, but they need to be
while walking the pending timer list and moving tasks back to the run
queue.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosui: Deliver firmware for Tmega 2.0 and TBT 3.0 for Windows too
Keith Packard [Tue, 28 Jun 2016 07:07:23 +0000 (00:07 -0700)]
altosui: Deliver firmware for Tmega 2.0 and TBT 3.0 for Windows too

1.6.4 added Tmega 2.0 and TBT 3.0 firmware to linux and mac, but
neglected windows.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoMark testing version 1.6.4.1
Keith Packard [Tue, 28 Jun 2016 06:28:28 +0000 (23:28 -0700)]
Mark testing version 1.6.4.1

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosdroid: Deal with multiple installed android SDKs
Keith Packard [Fri, 24 Jun 2016 19:07:36 +0000 (12:07 -0700)]
altosdroid: Deal with multiple installed android SDKs

Use the latest SDK's zipalign

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoao-tools/ao-chaosread: Document length (-l) option
Keith Packard [Fri, 24 Jun 2016 19:06:32 +0000 (12:06 -0700)]
ao-tools/ao-chaosread: Document length (-l) option

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoBump android version to 13
Keith Packard [Mon, 20 Jun 2016 17:19:32 +0000 (10:19 -0700)]
Bump android version to 13

Need to update the maps API key in the package

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoswitch libgtk-3-bin build-dep to gtk-update-icon-cache, closes: #825455
Bdale Garbee [Wed, 22 Jun 2016 21:01:09 +0000 (15:01 -0600)]
switch libgtk-3-bin build-dep to gtk-update-icon-cache, closes: #825455

2 months agodoc: Add install-html script
Keith Packard [Fri, 17 Jun 2016 17:18:20 +0000 (10:18 -0700)]
doc: Add install-html script

This script strips the XML-ish bits from html files so that ikiwiki
can parse them correctly

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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

2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>