fw/altos
10 days agodoc: add documentation on how to re-flash a TeleMini v3 over USB master
Bdale Garbee [Sat, 21 Nov 2020 18:22:01 +0000 (11:22 -0700)]
doc: add documentation on how to re-flash a TeleMini v3 over USB

10 days agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Sat, 21 Nov 2020 18:00:43 +0000 (11:00 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

13 days agoao-tools/ao-dump-up: Recognize MicroTest data
Keith Packard [Fri, 6 Nov 2020 05:59:27 +0000 (21:59 -0800)]
ao-tools/ao-dump-up: Recognize MicroTest data

Spit out a special message when MicroTest data is read to make testing
µPusb easier.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 days agoaltos: Add 'microtest' -- micropeak load for testing µPusb
Keith Packard [Fri, 6 Nov 2020 05:58:04 +0000 (21:58 -0800)]
altos: Add 'microtest' -- micropeak load for testing µPusb

This is custom MicroPeak firmware that just repeatedly generates
constant flight log data which can be used to validate µPusb boards.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 days agoVersion 1.9.6.1
Keith Packard [Thu, 29 Oct 2020 18:41:55 +0000 (11:41 -0700)]
Version 1.9.6.1

Intermediate release containing altoslib fixes for TeleMega v4.0 in
Antenna Down configuration.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 days agoaltoslib: Delay accel cal value adjustment until data all read
Keith Packard [Thu, 29 Oct 2020 18:40:25 +0000 (11:40 -0700)]
altoslib: Delay accel cal value adjustment until data all read

Instead of trying to compute these values as soon as the necessary
data are available, delay until all data are available as which data
are necessary depends on the target device, and some target devices
don't have some of the data values at all.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 days agoaltoslib: Fix accel inversion for TeleMega v4.0
Keith Packard [Thu, 29 Oct 2020 18:38:55 +0000 (11:38 -0700)]
altoslib: Fix accel inversion for TeleMega v4.0

TeleMega v4.0 uses the adxl375, just like EasyMega v2.0

Signed-off-by: Keith Packard <keithp@keithp.com>
13 days agoaltoslib: Avoid sending negative accel cal values to flight computer
Keith Packard [Thu, 29 Oct 2020 18:37:03 +0000 (11:37 -0700)]
altoslib: Avoid sending negative accel cal values to flight computer

Pre-1.9.7 firmware does not handle negative values. Instead, send
large positive values which will wrap around to negative values inside
the flight computer.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 days agoao-bringup: Delay before testing easymini for 0.25 seconds
Keith Packard [Wed, 28 Oct 2020 21:32:16 +0000 (14:32 -0700)]
ao-bringup: Delay before testing easymini for 0.25 seconds

EasyMini isn't quite ready to play when the USB is first detected as
the sensors haven't yet been initialized. Wait for 0.25 seconds to
give the board time to finish initializing.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 days agoaltos: Don't wait after igniter in manual mode
Keith Packard [Tue, 27 Oct 2020 04:53:54 +0000 (21:53 -0700)]
altos: Don't wait after igniter in manual mode

There's no reason to delay between igniter firings in manual mode, and
it slows down testing.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 weeks agoput notes in Releasing about keeping doc/header.inc up to date
Bdale Garbee [Mon, 16 Nov 2020 17:50:49 +0000 (10:50 -0700)]
put notes in Releasing about keeping doc/header.inc up to date

2 weeks agoTeleLaunch docs should use telelaunch.txt, update copyright year, lose "draft"
Bdale Garbee [Mon, 16 Nov 2020 17:47:53 +0000 (10:47 -0700)]
TeleLaunch docs should use telelaunch.txt, update copyright year, lose "draft"

5 weeks agoaltoslib, altosui: Don't show apogee/main for EasyTimer Fire Igniter
Keith Packard [Sat, 24 Oct 2020 00:05:37 +0000 (17:05 -0700)]
altoslib, altosui: Don't show apogee/main for EasyTimer Fire Igniter

Don't create igniter lines for a device which doesn't have them.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos/easytimer-v1: Switch from including adxl375 to bmx160
Keith Packard [Fri, 23 Oct 2020 23:14:13 +0000 (16:14 -0700)]
altos/easytimer-v1: Switch from including adxl375 to bmx160

These aren't really necessary at all as ao_data includes them, but
it's nice to have them listed for documentation purposes.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos/easymotor-v2: Increase default flight log size
Keith Packard [Fri, 23 Oct 2020 23:13:47 +0000 (16:13 -0700)]
altos/easymotor-v2: Increase default flight log size

Switch to 4 flights by default, with 2MB per flight.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltosui: Match against basestations when determining remote
Keith Packard [Fri, 23 Oct 2020 23:12:36 +0000 (16:12 -0700)]
altosui: Match against basestations when determining remote

These two cases were matching against !altimeters instead, which isn't
true for EasyMotor or EasyTimer.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltoslib, altosuilib: Get Idle Monitor working with EasyTimer and EasyMotor
Keith Packard [Fri, 23 Oct 2020 23:10:43 +0000 (16:10 -0700)]
altoslib, altosuilib: Get Idle Monitor working with EasyTimer and EasyMotor

This involve splitting out the gyro and mag sensor handling from the
3-d accel stuff, displaying only information that is present. The IMU
support now allows for using the along axis as the primary
acceleration indicator. The Adxl375 now allows using all three axes as
the 3d accelerometer.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltoslib: Set all 3 axes of accel cal data when present
Keith Packard [Fri, 23 Oct 2020 23:02:07 +0000 (16:02 -0700)]
altoslib: Set all 3 axes of accel cal data when present

Use the new accel cal function in altos to set all three axes

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos: Make accel cal take three axes when present
Keith Packard [Fri, 23 Oct 2020 23:00:01 +0000 (16:00 -0700)]
altos: Make accel cal take three axes when present

This allows AltosUI to save/restore all of the accel calibration
values instead of just the primary axis.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agolibaltos: Add windows override for EasyTimer USB ID
Keith Packard [Fri, 23 Oct 2020 03:48:26 +0000 (20:48 -0700)]
libaltos: Add windows override for EasyTimer USB ID

Windows doesn't use the product name from the device, instead it uses
whatever was in the .ini file, which was "TeleTerra" for the EasyTimer ID.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoUpdate 1.9.6 release date. Add note to Releasing about date
Keith Packard [Fri, 23 Oct 2020 03:52:03 +0000 (20:52 -0700)]
Update 1.9.6 release date. Add note to Releasing about date

Need to update the release date as well as the release version; that's
where all of the dates in the various docs comes from.

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

5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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

5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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>
5 weeks 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

5 weeks 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

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

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

2 months 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 months 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 months 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 months 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 months 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 months 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 months agofix broken TeleBT turnon script
Bdale Garbee [Wed, 19 Aug 2020 20:38:04 +0000 (14:38 -0600)]
fix broken TeleBT turnon script

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