fw/altos
3 years agoupdate changelog for Debian build debian/1.9.6-1
Bdale Garbee [Thu, 22 Oct 2020 22:21:30 +0000 (16:21 -0600)]
update changelog for Debian build

3 years agoMerge branch 'branch-1.9' into debian
Bdale Garbee [Thu, 22 Oct 2020 22:20:30 +0000 (16:20 -0600)]
Merge branch 'branch-1.9' into debian

3 years agoreleaseing 1.9.6 1.9.6
Bdale Garbee [Thu, 22 Oct 2020 22:19:33 +0000 (16:19 -0600)]
releaseing 1.9.6

3 years agoMerge branch 'master' into branch-1.9
Bdale Garbee [Thu, 22 Oct 2020 22:17:33 +0000 (16:17 -0600)]
Merge branch 'master' into branch-1.9

3 years agoupdate configure.ac for 1.9.6 release
Bdale Garbee [Thu, 22 Oct 2020 22:17:04 +0000 (16:17 -0600)]
update configure.ac for 1.9.6 release

3 years agodoc: Mention BMX-160 self-test fix in 1.9.6 release notes
Keith Packard [Thu, 22 Oct 2020 05:11:18 +0000 (22:11 -0700)]
doc: Mention BMX-160 self-test fix in 1.9.6 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agolibaltos: Add pre-built windows dll binaries
Keith Packard [Thu, 22 Oct 2020 05:01:47 +0000 (22:01 -0700)]
libaltos: Add pre-built windows dll binaries

Current Debian unstable builds versions that don't run on all Windows
10 machines.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agodoc: 1.9.6 release notes
Keith Packard [Thu, 22 Oct 2020 04:45:53 +0000 (21:45 -0700)]
doc: 1.9.6 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Don't pass along GPS information when the GPS device is busted
Keith Packard [Wed, 7 Oct 2020 01:54:27 +0000 (18:54 -0700)]
altoslib: Don't pass along GPS information when the GPS device is busted

If the telemetry packet indicates that there's no functioning GPS receiver,
then don't pass along those packets so that the UI displays things more accurately.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Add defines for EasyMotor
Keith Packard [Wed, 7 Oct 2020 01:53:38 +0000 (18:53 -0700)]
altoslib: Add defines for EasyMotor

Just USB ids and product names.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Clip accelerometer-based speed to >= 0
Keith Packard [Sat, 17 Oct 2020 22:29:11 +0000 (15:29 -0700)]
altoslib: Clip accelerometer-based speed to >= 0

Negative vertical speeds computed by axial acceleration aren't
sensible, so just clip them to zero so that plots are more useful.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Limit .csv file output to valid fields for EasyMotor
Keith Packard [Sat, 17 Oct 2020 03:54:32 +0000 (20:54 -0700)]
altoslib: Limit .csv file output to valid fields for EasyMotor

EasyMotor doesn't have a baro sensor, gyros, mag sensor or igniters.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Easy Motor v2 x axis is inverted
Keith Packard [Sat, 17 Oct 2020 03:53:56 +0000 (20:53 -0700)]
altoslib: Easy Motor v2 x axis is inverted

Provide positive accel values along rocket axis

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Correct ADXL counts_per_g
Keith Packard [Sat, 17 Oct 2020 03:52:48 +0000 (20:52 -0700)]
altoslib: Correct ADXL counts_per_g

When ADXL 375 is used as a 3d accel (as on EasyMotor), need the right
counts_per_g to do conversions.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: use motor pressure calibration data for EasyMotor
Keith Packard [Fri, 16 Oct 2020 22:30:35 +0000 (15:30 -0700)]
altoslib: use motor pressure calibration data for EasyMotor

EasyMotor stores an average sensor value for motor pressure, use that
to report pressure above that value.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Report metric pressure in kPa instead of Pa
Keith Packard [Fri, 16 Oct 2020 22:29:12 +0000 (15:29 -0700)]
altoslib: Report metric pressure in kPa instead of Pa

Reduces the magnitude of pressure data when displayed.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Add EasyMotor EEPROM support
Keith Packard [Mon, 12 Oct 2020 23:48:42 +0000 (16:48 -0700)]
altoslib: Add EasyMotor EEPROM support

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltosuilib: Graph motor pressure
Keith Packard [Mon, 12 Oct 2020 23:47:54 +0000 (16:47 -0700)]
altosuilib: Graph motor pressure

Use a separate axis from atmospheric pressure as the range will be
rather different.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Add 'motor_pressure' data value
Keith Packard [Mon, 12 Oct 2020 23:46:28 +0000 (16:46 -0700)]
altoslib: Add 'motor_pressure' data value

This value tracks the internal pressure of a motor in Pa.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Add conversion for motor pressure sensor
Keith Packard [Mon, 12 Oct 2020 23:40:41 +0000 (16:40 -0700)]
altoslib: Add conversion for motor pressure sensor

This assumes a standard 0.5-4.5 range 1600PSI sensor.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Initialize gyro offset values to MISSING
Keith Packard [Mon, 12 Oct 2020 23:40:03 +0000 (16:40 -0700)]
altoslib: Initialize gyro offset values to MISSING

This lets us detect a device without a gyro sensor.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Reset 3d-accel and motor pressure sums each ground interval
Keith Packard [Sat, 17 Oct 2020 03:48:55 +0000 (20:48 -0700)]
altos: Reset 3d-accel and motor pressure sums each ground interval

We're repeatedly averaging 512 ground samples to get up-to-date values
for all of the sensors, but we need to clear the sums after each
sample interval. The 3d accel values were only cleared if there was a
full IMU, not for devices with only an accelerometer like
EasyMotor. The motor pressure sum was never cleared.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Add motor pressure calibration data to easy motor log
Keith Packard [Fri, 16 Oct 2020 19:59:48 +0000 (12:59 -0700)]
altos: Add motor pressure calibration data to easy motor log

Compute an average of ground motor pressure values and store those in
the log data in the AO_FLIGHT record.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Support negative decimal values on command line
Keith Packard [Fri, 16 Oct 2020 19:57:07 +0000 (12:57 -0700)]
altos: Support negative decimal values on command line

Add support for leading unary minus for decimal constants.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/test: Clean up easy motor test jig
Keith Packard [Mon, 12 Oct 2020 23:55:23 +0000 (16:55 -0700)]
altos/test: Clean up easy motor test jig

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Log motor pressure and battery voltage for EasyMotor
Keith Packard [Mon, 12 Oct 2020 23:54:34 +0000 (16:54 -0700)]
altos: Log motor pressure and battery voltage for EasyMotor

These were not logged at all.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: De-bias height/speed data while on pad
Keith Packard [Sun, 11 Oct 2020 05:00:56 +0000 (22:00 -0700)]
altos: De-bias height/speed data while on pad

Save speed/height values from 64 samples ago and subtract them from
the current value. This reduces the effect of systematic accelerometer
error causing these values to slowly creep when there's no barometric
sensor to keep them in check.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Change adxl375 self test parameters
Keith Packard [Sun, 11 Oct 2020 05:54:00 +0000 (22:54 -0700)]
altos: Change adxl375 self test parameters

Try to make it not fail self test while horizontal

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/easymotor-v2: Add 'through' axis definition
Keith Packard [Sun, 11 Oct 2020 04:56:38 +0000 (21:56 -0700)]
altos/easymotor-v2: Add 'through' axis definition

This is used by the ao_flight_test_code

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/test: Build ao_flight_test_motor
Keith Packard [Sun, 11 Oct 2020 04:56:06 +0000 (21:56 -0700)]
altos/test: Build ao_flight_test_motor

This tests the flight code in easymotor mode.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Let ao_data.c be used by ao_flight_test
Keith Packard [Sun, 11 Oct 2020 04:55:36 +0000 (21:55 -0700)]
altos: Let ao_data.c be used by ao_flight_test

Just skip the ao headers in that case.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/easymotor-v2: Beep out 'pad mode' repeatedly
Keith Packard [Mon, 24 Aug 2020 00:32:41 +0000 (18:32 -0600)]
altos/easymotor-v2: Beep out 'pad mode' repeatedly

Easymotor doesn't have igniters, so it would have been silent on the
pad, which seems bad. Add HAS_PAD_REPORT code which beeps out 'pad'
once every five seconds.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/easymotor-v2: ADXL375 is upside-down compared with other boards
Keith Packard [Mon, 24 Aug 2020 00:31:25 +0000 (18:31 -0600)]
altos/easymotor-v2: ADXL375 is upside-down compared with other boards

Clear AO_ADXL375_INVERT to make it work

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stmf0: Fixup for SPI mode support
Keith Packard [Mon, 24 Aug 2020 00:15:14 +0000 (18:15 -0600)]
altos/stmf0: Fixup for SPI mode support

The desired SPI mode comes in 'spi_index' and needs
to be split out before spi_index is used for pin configuration.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/easymotor-v2: Fix beeper config
Keith Packard [Mon, 24 Aug 2020 00:13:42 +0000 (18:13 -0600)]
altos/easymotor-v2: Fix beeper config

The beeper changed pins at some point during the design

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/easymotor-v2: Use same init order as easymini
Keith Packard [Mon, 24 Aug 2020 00:12:10 +0000 (18:12 -0600)]
altos/easymotor-v2: Use same init order as easymini

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agorecover easymotor-v2/flash-loader/ao_pins.h from backups
Bdale Garbee [Sat, 22 Aug 2020 02:40:44 +0000 (20:40 -0600)]
recover easymotor-v2/flash-loader/ao_pins.h from backups

3 years agoaltos/easymotor-v2: Get easy motor building
Keith Packard [Sun, 2 Aug 2020 20:11:39 +0000 (13:11 -0700)]
altos/easymotor-v2: Get easy motor building

Add some missing files and adjust configuration.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/easymotor-v2: Add .gitignore
Keith Packard [Sun, 2 Aug 2020 20:11:16 +0000 (13:11 -0700)]
altos/easymotor-v2: Add .gitignore

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stmf0: Add spi format configuration options
Keith Packard [Sun, 2 Aug 2020 20:09:17 +0000 (13:09 -0700)]
altos/stmf0: Add spi format configuration options

This lets different SPI devices use different SPI formats

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Support accel-only IMU configurations
Keith Packard [Sun, 2 Aug 2020 20:07:01 +0000 (13:07 -0700)]
altos: Support accel-only IMU configurations

This doesn't compute orientation, just allows for calibrating and recording
3-axis acceleration data.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Add EasyMotor logging support
Keith Packard [Sun, 2 Aug 2020 20:06:01 +0000 (13:06 -0700)]
altos: Add EasyMotor logging support

Log EasyMotor sensor data.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Allow use of ADXL375 as IMU
Keith Packard [Sun, 2 Aug 2020 20:04:27 +0000 (13:04 -0700)]
altos: Allow use of ADXL375 as IMU

This lets EasyMotor report all three axes of acceleration and use
that for idle detection.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/drivers: Add ao_adxl375_accel_to_sample macro
Keith Packard [Sun, 2 Aug 2020 19:51:16 +0000 (12:51 -0700)]
altos/drivers: Add ao_adxl375_accel_to_sample macro

This converts from acceleration levels to sample counts for use in
detecting stability of airframe after landing when no other IMU is
present.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoeasymotor: override .gitignore to store Makefiles
Bdale Garbee [Mon, 27 Jul 2020 20:52:50 +0000 (14:52 -0600)]
easymotor: override .gitignore to store Makefiles

3 years agofirst cut at EasyMotor v2 .. not compiling yet
Bdale Garbee [Sun, 26 Jul 2020 00:07:36 +0000 (18:07 -0600)]
first cut at EasyMotor v2 .. not compiling yet

3 years agolibaltos: Avoid using strcmp and strchr on windows
Keith Packard [Wed, 30 Sep 2020 22:53:38 +0000 (15:53 -0700)]
libaltos: Avoid using strcmp and strchr on windows

At least one of these caused the library to not load on Windows
10. Work around that by changing the code to use vid/pid instead of
matching on the name provided back by the OS.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltosui: Include telelco and telefireeight firmware in FAT builds
Keith Packard [Wed, 30 Sep 2020 07:20:24 +0000 (00:20 -0700)]
altosui: Include telelco and telefireeight firmware in FAT builds

AltosUI can reflash these devices, so best to include the firmware

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Fix flash loader map file names
Keith Packard [Wed, 30 Sep 2020 06:58:10 +0000 (23:58 -0700)]
altos: Fix flash loader map file names

Make sure these include the product name too.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Remove linker map files during 'make clean'
Keith Packard [Wed, 30 Sep 2020 06:57:26 +0000 (23:57 -0700)]
altos: Remove linker map files during 'make clean'

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoReleasing: updated with changes from 1.9.5 release
Bdale Garbee [Wed, 30 Sep 2020 06:49:14 +0000 (00:49 -0600)]
Releasing: updated with changes from 1.9.5 release

3 years agoupdate changelog for Debian build debian/1.9.5-1
Bdale Garbee [Wed, 30 Sep 2020 06:20:54 +0000 (00:20 -0600)]
update changelog for Debian build

3 years agoMerge branch 'branch-1.9' into debian
Bdale Garbee [Wed, 30 Sep 2020 06:19:12 +0000 (00:19 -0600)]
Merge branch 'branch-1.9' into debian

3 years agoreleasing 1.9.5 1.9.5
Bdale Garbee [Wed, 30 Sep 2020 06:18:31 +0000 (00:18 -0600)]
releasing 1.9.5

3 years agoMerge branch 'master' into branch-1.9
Bdale Garbee [Wed, 30 Sep 2020 06:17:03 +0000 (00:17 -0600)]
Merge branch 'master' into branch-1.9

3 years agoVersion 1.9.5
Keith Packard [Wed, 30 Sep 2020 03:10:38 +0000 (20:10 -0700)]
Version 1.9.5

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltosui: Work around lack of actual USB product names on Windows
Keith Packard [Wed, 30 Sep 2020 05:02:56 +0000 (22:02 -0700)]
altosui: Work around lack of actual USB product names on Windows

Windows doesn't provide an API to get the USB product name for
attached devices, it only provides the name listed in the .inf file
for each vid/pid. This means that you get 'TeleMega', or 'TeleMega
can't isolate the list to the correct version.

With this fix, at least the '#2' is stripped off, and the matching
code restricts itself to showing only TeleMega files instead of all
filenames starting with 'tele'.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agodebian: stop delivering gdm and slim theme materials, since we don't use them
Bdale Garbee [Wed, 30 Sep 2020 03:31:58 +0000 (21:31 -0600)]
debian: stop delivering gdm and slim theme materials, since we don't use them

3 years agoaltosdroid: Copy generated .apks to bin directory
Keith Packard [Wed, 30 Sep 2020 03:08:31 +0000 (20:08 -0700)]
altosdroid: Copy generated .apks to bin directory

This places them in the same location as the previous build system.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agodoc: Add 1.9.5 release notes
Keith Packard [Sat, 26 Sep 2020 03:06:18 +0000 (20:06 -0700)]
doc: Add 1.9.5 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Print more helpful debug messages when checking rom version
Keith Packard [Wed, 2 Sep 2020 01:47:23 +0000 (18:47 -0700)]
altoslib: Print more helpful debug messages when checking rom version

Make sure success and failure include enough info to debug what
happened.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agolibaltos: Update to support Mac OS X 10.15 (catalina)
Keith Packard [Wed, 2 Sep 2020 01:31:03 +0000 (18:31 -0700)]
libaltos: Update to support Mac OS X 10.15 (catalina)

They decided to break device names reported by USB for some reason,
but at least the real names are still available under a different
name.

Also updated the Makefile-standalone to work on my current box;
presumably the next time I build this I'll have to update again...

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agomacosx: Update macosx install script
Keith Packard [Tue, 1 Sep 2020 03:52:43 +0000 (20:52 -0700)]
macosx: Update macosx install script

Use dialog engine to monitor progress and get sudo password

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltosuilib: Make dialogs mostly scrollable
Keith Packard [Mon, 31 Aug 2020 22:08:08 +0000 (15:08 -0700)]
altosuilib: Make dialogs mostly scrollable

When screens are too small, some dialogs aren't usable. Fix that by
wrapping them all with a scrollable pane.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agowindows: Point windows users at adoptopenjdk.net by default
Keith Packard [Mon, 31 Aug 2020 22:07:13 +0000 (15:07 -0700)]
windows: Point windows users at adoptopenjdk.net by default

This gives them a free software java which works fine with altosui.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agomacosx: Hack JavaApplicationStub to set freetype properties
Keith Packard [Mon, 31 Aug 2020 22:05:41 +0000 (15:05 -0700)]
macosx: Hack JavaApplicationStub to set freetype properties

Set the FREETYPE_PROPERTIES environment variable to revert to
non-fuzzy text.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Set default logging directory to $HOME/AltusMetrum
Keith Packard [Mon, 31 Aug 2020 22:03:57 +0000 (15:03 -0700)]
altoslib: Set default logging directory to $HOME/AltusMetrum

Change from ~/TeleMetrum

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agolibaltos: Map generic windows device names to actual names
Keith Packard [Mon, 31 Aug 2020 22:01:18 +0000 (15:01 -0700)]
libaltos: Map generic windows device names to actual names

When we signed the .ini file for our windows 'driver', IDs 28 and 2c
hadn't been assigned to EasyMega and EasyMotor, so that file has
generic 'AltusMetrum28' and 'AltusMetrum2c' instead. Updating that
file is 'hard', so just map the names in the driver instead.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agodocs: add explicit admonition about avoiding 'c f' when configuring TeleLaunch
Bdale Garbee [Fri, 18 Sep 2020 17:38:06 +0000 (11:38 -0600)]
docs: add explicit admonition about avoiding 'c f' when configuring TeleLaunch

3 years agodocs: fix horrible typo in TeleLaunch configuration section
Bdale Garbee [Fri, 18 Sep 2020 17:34:56 +0000 (11:34 -0600)]
docs: fix horrible typo in TeleLaunch configuration section

3 years agoaltosuilib: Allow config to be missing in rom config dialog
Keith Packard [Sun, 23 Aug 2020 22:34:26 +0000 (15:34 -0700)]
altosuilib: Allow config to be missing in rom config dialog

If the configuration data can't be fetched from the target board, it
will be missing while building the dialog box. Deal with that.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Deal with reflashing EasyMega boards with ancient firmware
Keith Packard [Sun, 23 Aug 2020 22:32:57 +0000 (15:32 -0700)]
altoslib: Deal with reflashing EasyMega boards with ancient firmware

Ancient EasyMega firmware included radio calibration data in the
romconfig bits, which has since been removed. That means the config
data from those boards will be at a different location than current
firmware. Deal with that by poking around in firmware looking for
valid bits.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agodoc: Fix spelling error in updating-firmware section.
Keith Packard [Sun, 23 Aug 2020 17:55:30 +0000 (10:55 -0700)]
doc: Fix spelling error in updating-firmware section.

Thanks to Timothy Dixon for catching this (copy-and-pasted many times)
typo -- could sequentially -> count sequentially.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltosui: Improve configuration save feedback
Keith Packard [Sun, 23 Aug 2020 17:53:25 +0000 (10:53 -0700)]
altosui: Improve configuration save feedback

Mark window title as (modified) with any unsaved changes. Disable the
'Save' button while the save is happening. Wait for the re-load of
configuration values before clearing the '(modified)' state. This lets
you see when the flight computer has accepted the updated values.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Improve configuration performance over remote link
Keith Packard [Sun, 23 Aug 2020 17:51:00 +0000 (10:51 -0700)]
altoslib: Improve configuration performance over remote link

Avoid re-setting dongle radio parameters when they haven't changed
during device configuration setting. This avoids flipping back and
forth from remote to local mode three times during config save.

Wait for remote end to say 'Saved' before dropping radio link. This
ensures that the remote end actually gets the save command before the
link is terminated.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agofix broken TeleBT turnon script
Bdale Garbee [Wed, 19 Aug 2020 20:38:04 +0000 (14:38 -0600)]
fix broken TeleBT turnon script

3 years agoaltoslib: Flush output when disabling remote
Keith Packard [Sat, 8 Aug 2020 04:51:39 +0000 (21:51 -0700)]
altoslib: Flush output when disabling remote

This speeds up sending data to the other end.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltoslib: Don't fetch config data for every idle status
Keith Packard [Sat, 8 Aug 2020 04:50:38 +0000 (21:50 -0700)]
altoslib: Don't fetch config data for every idle status

This makes fetching data during idle monitor much faster, especially
now that fetching the list of stored flights takes so long.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Allow multiple manual firing of main/drogue channels
Keith Packard [Sat, 8 Aug 2020 04:49:37 +0000 (21:49 -0700)]
altos: Allow multiple manual firing of main/drogue channels

Reset the 'fired' status so that you can trigger these multiple times
without needing to reboot.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Don't report inhibited pyro channels as fired
Keith Packard [Sat, 8 Aug 2020 04:48:09 +0000 (21:48 -0700)]
altos: Don't report inhibited pyro channels as fired

Inhibiting channels happens when the channel conditions change during
the delay period and was done by marking them as already fired. This
worked, but the log file would then indicate that the channel had
fired when in fact it was inhibited instead. Separate out the inhibited status
so that the correct data appears in the log.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agomicropeak: Add support for MicroPeak v2.0
Keith Packard [Sat, 8 Aug 2020 03:20:59 +0000 (20:20 -0700)]
micropeak: Add support for MicroPeak v2.0

MicroPeak v2.0 sends a 'unique id' with the log data; capture that and
included it in the file name.

MicroPeak v2.0 can be directly connected to the host using the µP I/O
board. Handle that case by sending the 'l' command which will cause
the device to dump the log.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agomicropeak: Fix top-level window building
Keith Packard [Sat, 8 Aug 2020 03:19:28 +0000 (20:19 -0700)]
micropeak: Fix top-level window building

The menu wasn't actually working, and the application would randomly
start at the wrong size or crash.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agomicropeak: Check for empty data when fetching log
Keith Packard [Sat, 8 Aug 2020 03:18:10 +0000 (20:18 -0700)]
micropeak: Check for empty data when fetching log

Don't pop up the graph window and don't save data from an erased
device.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/mpusb-v3.0: Make this build again
Keith Packard [Sat, 8 Aug 2020 03:16:55 +0000 (20:16 -0700)]
altos/mpusb-v3.0: Make this build again

It's not built by default and the requirements in the Makefile have
changed.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/micropeak-v2.0: Functionally complete.
Keith Packard [Sat, 8 Aug 2020 03:15:32 +0000 (20:15 -0700)]
altos/micropeak-v2.0: Functionally complete.

Get flight mode working correctly.
Offer log dumping from serial link.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Add MicroPeak v2.0 support to ao_log_micro
Keith Packard [Sat, 8 Aug 2020 03:13:50 +0000 (20:13 -0700)]
altos: Add MicroPeak v2.0 support to ao_log_micro

Support 4-byte sample count (required for stm32l0 flash storage
limitations).

Mix in log ID on-the-fly so that erased flash parts still report
device type.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Big update in functionality
Keith Packard [Sat, 8 Aug 2020 03:12:22 +0000 (20:12 -0700)]
altos/stm32l0: Big update in functionality

Fix baud rate setting in LPUART
Add code to turn everything off.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Remove support for !HAS_TASK_QUEUE
Keith Packard [Thu, 6 Aug 2020 18:05:03 +0000 (11:05 -0700)]
altos: Remove support for !HAS_TASK_QUEUE

This uses a bit more memory, but the amount can be controlled by
setting the size of the sleep hash table, which makes this fit on even
the smaller devices like the early EasyMini boards.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: Remove ao_led_toggle API from general code
Keith Packard [Sat, 8 Aug 2020 01:17:07 +0000 (18:17 -0700)]
altos: Remove ao_led_toggle API from general code

The generic implementation would need to record LED status as it
cannot be read back from the device on most hardware. Just get rid of
it and let attiny keep its implementation (which does work).

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoao-tools: Add TeleGPS log parsing to ao-eeprom
Keith Packard [Sat, 8 Aug 2020 01:15:47 +0000 (18:15 -0700)]
ao-tools: Add TeleGPS log parsing to ao-eeprom

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: add noreturn attribute to ao_panic
Keith Packard [Thu, 6 Aug 2020 17:44:49 +0000 (10:44 -0700)]
altos: add noreturn attribute to ao_panic

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Add LPUART driver
Keith Packard [Thu, 6 Aug 2020 05:32:14 +0000 (22:32 -0700)]
altos/stm32l0: Add LPUART driver

This is a simpler UART which micropeak has connected to the LED and
we'll use for transmitting the log on power up

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Provide ao_spi_speed inline as per new clocking API
Keith Packard [Thu, 6 Aug 2020 00:17:47 +0000 (17:17 -0700)]
altos/stm32l0: Provide ao_spi_speed inline as per new clocking API

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/micropeak-v2.0: Finish hardware bring-up
Keith Packard [Tue, 23 Jun 2020 23:22:21 +0000 (16:22 -0700)]
altos/micropeak-v2.0: Finish hardware bring-up

All of the hardware is working:

 * serial
 * SPI
 * ms56067
 * ADC
 * flash
 * clocking
 * timer

Now we just need an application

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Add adc and flash drivers
Keith Packard [Tue, 23 Jun 2020 23:21:57 +0000 (16:21 -0700)]
altos/stm32l0: Add adc and flash drivers

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Remove some unused code in ao_timer.c
Keith Packard [Tue, 23 Jun 2020 23:21:26 +0000 (16:21 -0700)]
altos/stm32l0: Remove some unused code in ao_timer.c

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Remove some unused code in USART driver
Keith Packard [Tue, 23 Jun 2020 23:20:56 +0000 (16:20 -0700)]
altos/stm32l0: Remove some unused code in USART driver

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Get exti working
Keith Packard [Tue, 23 Jun 2020 23:20:26 +0000 (16:20 -0700)]
altos/stm32l0: Get exti working

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Get SPI driver working
Keith Packard [Tue, 23 Jun 2020 23:19:47 +0000 (16:19 -0700)]
altos/stm32l0: Get SPI driver working

This isn't using DMA, but it seems to work now.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos/stm32l0: Some device addrs were wrong
Keith Packard [Tue, 23 Jun 2020 23:19:11 +0000 (16:19 -0700)]
altos/stm32l0: Some device addrs were wrong

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