fw/altos
2 days agoaltos/lisp: Fix some scheme compat issues master
Keith Packard [Sun, 19 Nov 2017 06:00:44 +0000 (22:00 -0800)]
altos/lisp: Fix some scheme compat issues

flush -> flush-output
nth -> list-ref (oh, and add list-tail)
add let* (same as let for now)
write control chars in octal
make hanoi example work

Signed-off-by: Keith Packard <keithp@keithp.com>
3 days agoaltos/lisp: Add 'big' ints -- 24 bits wide
Keith Packard [Sun, 19 Nov 2017 04:38:15 +0000 (20:38 -0800)]
altos/lisp: Add 'big' ints -- 24 bits wide

With the default ints being only 14 bits, having a larger type with
more precision seems useful. This is not exposed to the application.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 days agoaltos/cortexelf-v1: Make lisp compile again
Keith Packard [Sat, 18 Nov 2017 07:28:08 +0000 (23:28 -0800)]
altos/cortexelf-v1: Make lisp compile again

Signed-off-by: Keith Packard <keithp@keithp.com>
3 days agoaltos/test: Add jiffy funcs to lisp test
Keith Packard [Sat, 18 Nov 2017 07:27:36 +0000 (23:27 -0800)]
altos/test: Add jiffy funcs to lisp test

Signed-off-by: Keith Packard <keithp@keithp.com>
3 days agoaltos/lisp: Finish first pass through r7rs
Keith Packard [Sat, 18 Nov 2017 07:23:50 +0000 (23:23 -0800)]
altos/lisp: Finish first pass through r7rs

* print -> write, patom -> display
* Add read-char, write-char
* Add exit, current-jiffy, current-second, jiffies-per-second
* Add for-each and string-for-each
* Avoid duplicate builtins with different atoms

Signed-off-by: Keith Packard <keithp@keithp.com>
3 days agoaltos/lisp: Add apply
Keith Packard [Sat, 18 Nov 2017 06:14:19 +0000 (22:14 -0800)]
altos/lisp: Add apply

And all of the library routines that use it, map, string-map and friends.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 days agoaltos/lisp: Character consts. String and assoc builtins.
Keith Packard [Fri, 17 Nov 2017 16:50:50 +0000 (08:50 -0800)]
altos/lisp: Character consts. String and assoc builtins.

Also add back escaped characters in strings.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 days agoaltos/lisp: Generate built-in lambda atoms for const creation
Keith Packard [Fri, 17 Nov 2017 16:04:28 +0000 (08:04 -0800)]
altos/lisp: Generate built-in lambda atoms for const creation

Signed-off-by: Keith Packard <keithp@keithp.com>
4 days agoaltos/test: More lisp test Makefile fixes
Keith Packard [Fri, 17 Nov 2017 06:15:06 +0000 (22:15 -0800)]
altos/test: More lisp test Makefile fixes

Depend on ao_lisp_const.h

Signed-off-by: Keith Packard <keithp@keithp.com>
4 days agoaltos/lisp: Lots more scheme bits
Keith Packard [Fri, 17 Nov 2017 06:13:46 +0000 (22:13 -0800)]
altos/lisp: Lots more scheme bits

* Arithmetic functions and tests
* append, reverse and list-tail
* set-car! and set-cdr!

Signed-off-by: Keith Packard <keithp@keithp.com>
5 days agoaltos/test: Get lisp test building using Makefile-inc
Keith Packard [Fri, 17 Nov 2017 02:47:34 +0000 (18:47 -0800)]
altos/test: Get lisp test building using Makefile-inc

Instead of re-defining all of the lisp sources and headers

Signed-off-by: Keith Packard <keithp@keithp.com>
5 days agoaltos/lisp: More schemisms
Keith Packard [Fri, 17 Nov 2017 02:46:03 +0000 (18:46 -0800)]
altos/lisp: More schemisms

Add 'if'.
setq -> set!, but doesn't define new variables
def -> define
Add pair? and list?
Add eq? and eqv? as aliases for =

Signed-off-by: Keith Packard <keithp@keithp.com>
5 days agoaltos/lisp: Add 'else' sematics to cond
Keith Packard [Fri, 17 Nov 2017 02:41:18 +0000 (18:41 -0800)]
altos/lisp: Add 'else' sematics to cond

Signed-off-by: Keith Packard <keithp@keithp.com>
5 days agoaltos/lisp: Add scheme-style bools (#t and #f)
Keith Packard [Fri, 17 Nov 2017 01:49:47 +0000 (17:49 -0800)]
altos/lisp: Add scheme-style bools (#t and #f)

Cond and while compare against #f, just like scheme says to.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 days agoaltos/lisp: Add non-cons cdr support
Keith Packard [Thu, 16 Nov 2017 21:02:07 +0000 (13:02 -0800)]
altos/lisp: Add non-cons cdr support

The cdr of a cons can be any value; add support for lexing and
printing them.

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agodoc: Update for 1.8.3
Keith Packard [Sun, 12 Nov 2017 05:29:11 +0000 (21:29 -0800)]
doc: Update for 1.8.3

Also added a pile of docinfo files for older release notes files.

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltos: Fix new GCC warnings
Keith Packard [Sun, 12 Nov 2017 04:52:01 +0000 (20:52 -0800)]
altos: Fix new GCC warnings

* Duplicate 'const' in test code.
* Mis-formatted loop in kf_rem_pio2
* Unused 'one' in sf_cos

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltos: Fix inverted test for corrupt flight log
Keith Packard [Sun, 12 Nov 2017 04:50:45 +0000 (20:50 -0800)]
altos: Fix inverted test for corrupt flight log

Was reporting correct flight log as corrupted. Oops.

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltoslib: Improve EEprom download
Keith Packard [Sun, 12 Nov 2017 04:49:20 +0000 (20:49 -0800)]
altoslib: Improve EEprom download

* Catch and report CRC errors
* Deal with corrupted flight records
* Add ability to immediately graph new data
* Check before overwriting existing files

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltoslib: Remove spurious semicolon in AltosReplayReader.java
Keith Packard [Sun, 12 Nov 2017 04:46:45 +0000 (20:46 -0800)]
altoslib: Remove spurious semicolon in AltosReplayReader.java

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltoslib: Don't write KML record when height data is missing
Keith Packard [Sun, 12 Nov 2017 04:44:27 +0000 (20:44 -0800)]
altoslib: Don't write KML record when height data is missing

This avoids a crash dealing with corrupted flight data

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltos/test: Adapt flight test to int16_t flight number type
Keith Packard [Sun, 12 Nov 2017 00:38:40 +0000 (16:38 -0800)]
altos/test: Adapt flight test to int16_t flight number type

Flight numbers are now limited to 32767 to allow for negative values
for corrupted slots.

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltosuilib: New line styles and colors for graphs. Selectable line width
Keith Packard [Sun, 12 Nov 2017 00:08:32 +0000 (16:08 -0800)]
altosuilib: New line styles and colors for graphs. Selectable line width

Improve the readability of graphs by offering a better selection of
colors and adding line styles. Let the user configure the line width
as desired.

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltos/stm: Add AO_EXTI_MODE_PULL_NONE
Keith Packard [Thu, 2 Nov 2017 16:12:18 +0000 (09:12 -0700)]
altos/stm: Add AO_EXTI_MODE_PULL_NONE

This is clearer than using '0'.

Signed-off-by: Keith Packard <keithp@keithp.com>
10 days agoaltos: whitespace cleanup in ao_adc_stm.c
Keith Packard [Thu, 2 Nov 2017 16:11:39 +0000 (09:11 -0700)]
altos: whitespace cleanup in ao_adc_stm.c

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos: Share common logging code. Deal with corrupt initial flight records
Keith Packard [Sun, 22 Oct 2017 20:44:32 +0000 (15:44 -0500)]
altos: Share common logging code. Deal with corrupt initial flight records

Move common logging APIs from per-format files into ao_log.c. Then,
change that code to check the first log record in a slot (containing
the flight number) to see if it's invalid and deal with it. That
involves not re-using that slot, and allowing it to be erased.

Corrupted log blocks are reported with a negative flight number.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Define AO_LOG_FORMAT in */ao_pins.h. Use in ao_cmd.c
Keith Packard [Sun, 22 Oct 2017 20:43:07 +0000 (15:43 -0500)]
altos: Define AO_LOG_FORMAT in */ao_pins.h. Use in ao_cmd.c

Instead of having a global variable define the log format, use a macro
instead to save data space.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Remove cross-block storage I/O on cc1111
Keith Packard [Sun, 22 Oct 2017 20:39:25 +0000 (15:39 -0500)]
altos: Remove cross-block storage I/O on cc1111

We don't ever need to be able to do storage read/write across chunks
of flash on the old cc1111 products, so remove the loops that support
it to save space.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltoslib: Move temp GPS API from cal_data to data_listener
Keith Packard [Sun, 22 Oct 2017 19:04:09 +0000 (14:04 -0500)]
altoslib: Move temp GPS API from cal_data to data_listener

This makes the API more consistent, and means that the listener is
responsible for mangaing the temp gps state. In particular, the
AltosDataListener set_gps API now calls the cal_data function.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltoslib: Save separate config for local and remote. Use in idle
Keith Packard [Sat, 14 Oct 2017 19:18:26 +0000 (12:18 -0700)]
altoslib: Save separate config for local and remote. Use in idle

When using the remote link, there are two separate configuration data
blocks, that for the local device and for remote. Make the link report
both versions, depending on whether it is in remote mode or not.

Request config data in remote mode when running idle monitoring so
that the presented data is for the remote device, not the local one.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltoslib: Report un-adjusted ground accel in idle IMU monitor
Keith Packard [Sat, 14 Oct 2017 19:05:07 +0000 (12:05 -0700)]
altoslib: Report un-adjusted ground accel in idle IMU monitor

The ground accel is the basis of the accel adjustment, so it needs to
be delivered in un-adjusted form.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos: Add MPU9250 support to self test and data
Keith Packard [Thu, 12 Oct 2017 07:31:26 +0000 (00:31 -0700)]
altos: Add MPU9250 support to self test and data

The remaining hooks to make the MPU9250 work in flight.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltoslib: Fix time series filter window computation
Keith Packard [Thu, 12 Oct 2017 07:30:23 +0000 (00:30 -0700)]
altoslib: Fix time series filter window computation

Small floating point rounding errors could lead to NaNs.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltoslib: Don't crash if there's no GPS coord to write KML
Keith Packard [Thu, 12 Oct 2017 07:29:07 +0000 (00:29 -0700)]
altoslib: Don't crash if there's no GPS coord to write KML

Just check for null before writing as a precaution.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltoslib: Allow gps time later than requested if it's first
Keith Packard [Thu, 12 Oct 2017 07:26:31 +0000 (00:26 -0700)]
altoslib: Allow gps time later than requested if it's first

When generating a KML file, we want to position markers near the start
of the flight section. This is done by looking for a GPS coordinate
'before' the starting point of the flight, which doesn't work well
when the first GPS coordinate is later than that. Pick the first point
after the chosen time if there isn't an earlier one.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos: Add MPU9250 driver (accel/gyro only for now)
Keith Packard [Thu, 12 Oct 2017 07:14:30 +0000 (00:14 -0700)]
altos: Add MPU9250 driver (accel/gyro only for now)

This is almost an exact copy of the MPU6000 driver, just a few minor
register changes.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Stop storing pyro fired status in config block
Keith Packard [Mon, 9 Oct 2017 01:50:59 +0000 (18:50 -0700)]
altos: Stop storing pyro fired status in config block

We already have the fired status saved in the ao_pyro_fired variable,
so just use that to detect whether a channel has already been fired.

Fixes possible cases where the pyro config data gets written back to
eeprom with the fired bit set, which then inhibits the channel during
flight.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoSet version to 1.8.2.1
Keith Packard [Thu, 5 Oct 2017 23:46:08 +0000 (16:46 -0700)]
Set version to 1.8.2.1

Testing KML export changes at TRA

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltoslib: Missing file for filter additions.
Keith Packard [Wed, 4 Oct 2017 20:44:31 +0000 (13:44 -0700)]
altoslib: Missing file for filter additions.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltosuilib: Add 'show marker' button to graphs
Keith Packard [Wed, 4 Oct 2017 20:43:45 +0000 (13:43 -0700)]
altosuilib: Add 'show marker' button to graphs

Provides a marker at each actual data point which can be useful for
sparse data sets like telemetry with poor reception.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltoslib: Adapt KML output to make TRA record people happier
Keith Packard [Wed, 4 Oct 2017 20:42:16 +0000 (13:42 -0700)]
altoslib: Adapt KML output to make TRA record people happier

Provide two paths, one using GPS data the other baro. Replace separate
path segments for each state with markers so that the path is a single
unit, able to be displayed in the elevation profile widget.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltoslib: Add user-selectable filter width for data smoothing
Keith Packard [Tue, 3 Oct 2017 02:33:37 +0000 (19:33 -0700)]
altoslib: Add user-selectable filter width for data smoothing

Also switch smoothing window to Kaiser and change default accel filter
width to 1 second instead of 4 seconds.

Now users can play with the filter and see what it does.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltosuilib: Show raw tick values in graph and info table
Keith Packard [Tue, 3 Oct 2017 00:02:18 +0000 (17:02 -0700)]
altosuilib: Show raw tick values in graph and info table

Not terribly useful, but did help validate firmware handling of tick
wrapping, so we'll keep it.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltoslib: Allow early bail-out on bad telemetry CRC
Keith Packard [Mon, 2 Oct 2017 23:58:53 +0000 (16:58 -0700)]
altoslib: Allow early bail-out on bad telemetry CRC

Check the CRC status in the packet before creating a new telemetry
object.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos: Allow pyro config name to end with newline, not just space/tab
Keith Packard [Mon, 2 Oct 2017 23:57:15 +0000 (16:57 -0700)]
altos: Allow pyro config name to end with newline, not just space/tab

A pyro config like 'Descending' has no value associated. When it is at
the end of the line, allow a newline to terminate the name instead of
just a space.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltoslib,altosuilib,altosui: log_format/device_type TeleGPS selects stateless
Keith Packard [Mon, 2 Oct 2017 23:55:18 +0000 (16:55 -0700)]
altoslib,altosuilib,altosui: log_format/device_type TeleGPS selects stateless

When the device being analyzed has no flight state, we want to use the
'stateless' state so that the UI can display reasonable
information. This bit was lost in the recent AltosState shuffle and
this patch brings it back.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltosuilib: Don't drain voice when terminating display
Keith Packard [Mon, 2 Oct 2017 20:55:57 +0000 (13:55 -0700)]
altosuilib: Don't drain voice when terminating display

If the voice thread is wedged (as with PulseAudio and un-patched
freetts 1.2.2), we'll get stuck here and the UI will freeze up.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoaltoslib: Add tilt and pyro data to CSV export
Keith Packard [Wed, 27 Sep 2017 01:00:36 +0000 (18:00 -0700)]
altoslib: Add tilt and pyro data to CSV export

It's now version 6. Also removed duplicate time values and made radio
values conditional on having radio data.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agodon't exit on dfu-util errors, it's not reliable about reporting success
Bdale Garbee [Tue, 19 Sep 2017 17:56:52 +0000 (11:56 -0600)]
don't exit on dfu-util errors, it's not reliable about reporting success

2 months agotweak Releasing based on 1.8.2 release experience
Bdale Garbee [Tue, 19 Sep 2017 03:24:52 +0000 (21:24 -0600)]
tweak Releasing based on 1.8.2 release experience

2 months agobe more aggressive about removing and ignoring .mdwn files
Bdale Garbee [Tue, 19 Sep 2017 02:43:14 +0000 (20:43 -0600)]
be more aggressive about removing and ignoring .mdwn files

2 months agoUpdate release version and date
Keith Packard [Tue, 19 Sep 2017 01:51:51 +0000 (18:51 -0700)]
Update release version and date

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoUpdate docs for 1.8.2 release
Keith Packard [Tue, 19 Sep 2017 01:43:00 +0000 (18:43 -0700)]
Update docs for 1.8.2 release

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoAdd short section on accelerometer calibration
Keith Packard [Tue, 19 Sep 2017 01:51:18 +0000 (18:51 -0700)]
Add short section on accelerometer calibration

2 months agoaltos/telegps-v2.0: Enable USB connect monitoring
Keith Packard [Mon, 18 Sep 2017 21:40:37 +0000 (14:40 -0700)]
altos/telegps-v2.0: Enable USB connect monitoring

Disable radios when plugged in to USB to save power and avoid being
noisy.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Mon, 18 Sep 2017 22:01:43 +0000 (16:01 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

2 months agoproduction TeleGPS v2.0 use a 16Mhz crystal for the SOC
Bdale Garbee [Mon, 18 Sep 2017 22:01:21 +0000 (16:01 -0600)]
production TeleGPS v2.0 use a 16Mhz crystal for the SOC

2 months agoaltoslib: Avoid crashing when computing stats for empty flight logs
Keith Packard [Mon, 18 Sep 2017 16:57:41 +0000 (09:57 -0700)]
altoslib: Avoid crashing when computing stats for empty flight logs

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agotelegps: Fix up TeleGPS UI bits after accel cal changes
Keith Packard [Mon, 18 Sep 2017 16:57:06 +0000 (09:57 -0700)]
telegps: Fix up TeleGPS UI bits after accel cal changes

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agotest/ao_flight_test: Show recorded pyro firing
Keith Packard [Tue, 12 Sep 2017 22:47:43 +0000 (15:47 -0700)]
test/ao_flight_test: Show recorded pyro firing

Can compare with computed values.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agopublish support for TeleGPS v2.0
Bdale Garbee [Sun, 17 Sep 2017 18:41:50 +0000 (12:41 -0600)]
publish support for TeleGPS v2.0

2 months agodeal with cheap BT dongle that shows multiple copies of unit in lescan output
Bdale Garbee [Thu, 14 Sep 2017 16:51:18 +0000 (10:51 -0600)]
deal with cheap BT dongle that shows multiple copies of unit in lescan output

2 months agoaltosuilib: Make steps in accel cal default button
Keith Packard [Tue, 12 Sep 2017 21:02:11 +0000 (14:02 -0700)]
altosuilib: Make steps in accel cal default button

This way you can just hit return through the process.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/test: Handle new eeprom file format. Give up on telem files.
Keith Packard [Tue, 12 Sep 2017 20:43:06 +0000 (13:43 -0700)]
altos/test: Handle new eeprom file format. Give up on telem files.

Parse eeprom config using libjson-c, then read the hex values into a
giant blob.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Fix debug printf in ao_pyro for state >=
Keith Packard [Tue, 12 Sep 2017 20:41:11 +0000 (13:41 -0700)]
altos: Fix debug printf in ao_pyro for state >=

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agochaoskey: Wait for input data to stabilize before using it
Keith Packard [Tue, 12 Sep 2017 20:40:06 +0000 (13:40 -0700)]
chaoskey: Wait for input data to stabilize before using it

The ADC data takes a while to start working after power on; wait for
the range of input values to look reasonable before using the data.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agodoc: Add forward reference from 'idle' description to idle entry steps.
Keith Packard [Tue, 12 Sep 2017 20:38:36 +0000 (13:38 -0700)]
doc: Add forward reference from 'idle' description to idle entry steps.

This provides a reminder that entering idle mode takes specific steps
which differ between models.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosui: Handle missing GPS when graphing mega/metrum data
Keith Packard [Tue, 12 Sep 2017 20:37:24 +0000 (13:37 -0700)]
altosui: Handle missing GPS when graphing mega/metrum data

These have GPS, but if we never get a valid packet, then there won't
be any final position to display.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosui: Remove debug printfs in FC config UI
Keith Packard [Tue, 12 Sep 2017 20:37:06 +0000 (13:37 -0700)]
altosui: Remove debug printfs in FC config UI

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosdroid: Display serial, call, freq in tracker list
Keith Packard [Tue, 12 Sep 2017 20:36:24 +0000 (13:36 -0700)]
altosdroid: Display serial, call, freq in tracker list

This makes the list a lot easier to find entries in when it gets long.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Make receive frequency available in telem data
Keith Packard [Tue, 12 Sep 2017 20:35:25 +0000 (13:35 -0700)]
altoslib: Make receive frequency available in telem data

This lets AltosDroid record which frequency each station was heard on.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Remove debug stack dump from AltosState
Keith Packard [Tue, 12 Sep 2017 20:34:23 +0000 (13:34 -0700)]
altoslib: Remove debug stack dump from AltosState

An empty AltosState is allocated when parsing JSON data; it's not a
mistake.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Correctly parse IMU cal data
Keith Packard [Tue, 12 Sep 2017 20:33:13 +0000 (13:33 -0700)]
altoslib: Correctly parse IMU cal data

Was trying to match 'IMU call along' instead of 'IMU cal along',
causing the line to not match and losing the IMU accel cal values.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoao-tools/ao-chaosread: Add -Wall -Wextra, clean up results
Keith Packard [Wed, 6 Sep 2017 14:37:12 +0000 (08:37 -0600)]
ao-tools/ao-chaosread: Add -Wall -Wextra, clean up results

2 months agoaltosui: Accel calibration UI
Keith Packard [Sat, 12 Aug 2017 03:42:53 +0000 (23:42 -0400)]
altosui: Accel calibration UI

Provides a GUI for re-calibrating accelerometers

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoBump to version 1.8.1.1/android 16 for altosdroid 1.8.1.1
Keith Packard [Fri, 1 Sep 2017 03:32:05 +0000 (20:32 -0700)]
Bump to version 1.8.1.1/android 16 for altosdroid

AltosDroid 1.8.1 got released before the latest fix for not storing
frequency preferences was made. Make a 1.8.1.1 with a new android
release number for that.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoneed to capture .bin file for telebt-v4.0 loader
Bdale Garbee [Mon, 28 Aug 2017 21:09:14 +0000 (15:09 -0600)]
need to capture .bin file for telebt-v4.0 loader

2 months agoa few tweaks to the Releasing document based on experience with 1.8.1
Bdale Garbee [Mon, 28 Aug 2017 20:01:54 +0000 (14:01 -0600)]
a few tweaks to the Releasing document based on experience with 1.8.1

2 months agoVersion 1.8.1
Keith Packard [Mon, 28 Aug 2017 05:49:09 +0000 (22:49 -0700)]
Version 1.8.1

Android version 15

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agodoc: Update for 1.8.1
Keith Packard [Mon, 28 Aug 2017 05:48:46 +0000 (22:48 -0700)]
doc: Update for 1.8.1

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Don't compute filtered average of height error when HAS_ACCEL
Keith Packard [Mon, 28 Aug 2017 07:15:43 +0000 (00:15 -0700)]
altos: Don't compute filtered average of height error when HAS_ACCEL

We only use this for baro-only devices to avoid firing drogue charges
at mach transitions; we trust the combination of accel+baro to do the
right thing when available.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Fix freq preference loading
Keith Packard [Mon, 28 Aug 2017 07:10:04 +0000 (00:10 -0700)]
altoslib: Fix freq preference loading

Allocate throw-away freq array to get the class pointer.
Add null-ary AltosFrequency constructor for JSON code.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosui: Make --oneline show drogue deploy speed
Keith Packard [Mon, 28 Aug 2017 00:37:10 +0000 (17:37 -0700)]
altosui: Make --oneline show drogue deploy speed

Also remove some commented out values.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Compute speed at entry to each state
Keith Packard [Mon, 28 Aug 2017 00:35:49 +0000 (17:35 -0700)]
altoslib: Compute speed at entry to each state

Useful to have drogue/main deployment speeds

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Fix parsing of old TM log GPS sat data
Keith Packard [Mon, 28 Aug 2017 00:34:49 +0000 (17:34 -0700)]
altoslib: Fix parsing of old TM log GPS sat data

Attempting to fetch sat data from wrong byte led to array bounds
exception.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Allow for missing product when checking for mma655x inverted
Keith Packard [Mon, 28 Aug 2017 00:34:07 +0000 (17:34 -0700)]
altoslib: Allow for missing product when checking for mma655x inverted

If there's no product, assume we've got some ancient log file.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Remove debug printf for gyro adjust
Keith Packard [Mon, 28 Aug 2017 00:33:38 +0000 (17:33 -0700)]
altoslib: Remove debug printf for gyro adjust

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/test: Fake baro data for flight 12 serial 2093
Keith Packard [Mon, 28 Aug 2017 00:32:27 +0000 (17:32 -0700)]
altos/test: Fake baro data for flight 12 serial 2093

This flight had a baro spike due to an accidental drogue charge firing
but is otherwise quite useful when testing for various mach delay
effects, so fake out the data during that spike.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/test: Integrate raw accel to provide speed for comparison
Keith Packard [Mon, 28 Aug 2017 00:30:15 +0000 (17:30 -0700)]
altos/test: Integrate raw accel to provide speed for comparison

This can provide a useful visualization of the 'true' vs 'kalman'
speed value, as the kalman is necessarily delayed due to the model
assuming constant acceleration.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/test: telemetrum baro data is inverted before being written to eeprom
Keith Packard [Mon, 28 Aug 2017 00:04:27 +0000 (17:04 -0700)]
altos/test: telemetrum baro data is inverted before being written to eeprom

No need for the test code to invert it during replay

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Don't eliminate baro above mach speed, just trust it less
Keith Packard [Sun, 27 Aug 2017 02:16:47 +0000 (19:16 -0700)]
altos: Don't eliminate baro above mach speed, just trust it less

Instead of completely eliminating the baro sensor above mach speed,
just derate it a bit so that the accel will dominate for speed
computation and keep the device from false-triggering across mach
transitions.

When we completely ignored the baro sensor above mach, and the flight
spent considerable time in that speed range, then the estimated height
could be far from the real value. When the estimated speed dropped
back down and the baro values were brought back into the computation,
then the resulting rapid shift in estimated speed could trigger
accidental apogee detection.

By mixing in a bit of baro data even above mach, we keep the estimated
height closer to the baro value and prevent this error, at least in
flights measured so far.

The flight known to have this problem is:

2015-09-26-serial-2093-flight-0012.eeprom

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Eliminate separate height error filter for accelerometer devices
Keith Packard [Sun, 27 Aug 2017 23:57:13 +0000 (16:57 -0700)]
altos: Eliminate separate height error filter for accelerometer devices

We don't use the error value in flight for those models anyways; it's
only useful on baro-only hardware.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosui: Add --oneline mode to briefly summarize flights
Keith Packard [Sun, 27 Aug 2017 02:15:59 +0000 (19:15 -0700)]
altosui: Add --oneline mode to briefly summarize flights

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosuilib: Add "Huge" font size
Keith Packard [Sun, 27 Aug 2017 02:15:07 +0000 (19:15 -0700)]
altosuilib: Add "Huge" font size

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agomicropeak: Track font changes in raw data display
Keith Packard [Sun, 27 Aug 2017 02:14:10 +0000 (19:14 -0700)]
micropeak: Track font changes in raw data display

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Perform time comparisons using 16-bit arithmetic to handle wrap
Keith Packard [Thu, 24 Aug 2017 23:45:54 +0000 (16:45 -0700)]
altos: Perform time comparisons using 16-bit arithmetic to handle wrap

Subtracting two 16-bit unsigned values to perform time comparisons
yields mystic results unless we carefully cast that to int16_t.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoinstall: Add 'fat-install' target
Keith Packard [Sat, 12 Aug 2017 05:37:07 +0000 (01:37 -0400)]
install: Add 'fat-install' target

This uses the existing --with-fat-dir option and instead of installing
everything to that directory, creates a normal ikiwiki hierarchy of
files including .mdwn files, whacked release notes html files and all
of the appropriate packages.

One stop shopping for adding the release to the web site.

Attempted to update Releasing file to match.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoreleasing 1.8 1.8
Bdale Garbee [Sat, 12 Aug 2017 04:23:27 +0000 (00:23 -0400)]
releasing 1.8

3 months agoupdate docinfo file for 1.8 release
Bdale Garbee [Sat, 12 Aug 2017 04:21:43 +0000 (00:21 -0400)]
update docinfo file for 1.8 release

3 months agoNote that telebt 4.0 files need to go to altusmetrumllc dir
Keith Packard [Sat, 12 Aug 2017 04:10:23 +0000 (00:10 -0400)]
Note that telebt 4.0 files need to go to altusmetrumllc dir

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