fw/altos
2 years agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos tirepyro
Bdale Garbee [Wed, 19 May 2021 05:54:48 +0000 (23:54 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

2 years agoaltoslib: Fix accel value flipping for TM v3.0
Keith Packard [Wed, 19 May 2021 05:37:01 +0000 (22:37 -0700)]
altoslib: Fix accel value flipping for TM v3.0

TM v3.0 uses the same log file format value as TM v2.0 but has a
different accelerometer, which requires a different function for
inverting the raw values. Detect v2.0 devices and use the old function
for them while using the new function for all others.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 years agoaltosuilib: Zap all flash when upgrading TeleGPS from pre-1.9.7
Keith Packard [Tue, 18 May 2021 06:09:29 +0000 (23:09 -0700)]
altosuilib: Zap all flash when upgrading TeleGPS from pre-1.9.7

Old versions of TeleGPS firmware would end up spraying log data all
over flash as they mis-computed the place to append new log data.

When the right hardware is detected, a warning dialog will pop up and,
if agreed to, the log storage flash will be completely erased before
the firmware upgrade happens.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 years agoaltos: Simplify discovery of log end position
Keith Packard [Tue, 18 May 2021 05:38:14 +0000 (22:38 -0700)]
altos: Simplify discovery of log end position

Binary search using log block indices rather than byte positions. This
makes the code much easier to understand as there isn't a mystic modulus.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 years agoaltos/telegps-*: Fix log end discovery at startup
Keith Packard [Tue, 18 May 2021 05:33:21 +0000 (22:33 -0700)]
altos/telegps-*: Fix log end discovery at startup

We need to find the first unwritten log block to start appending data,
but the code was actually looking for the first empty 256-byte chunk,
which meant that we'd leave a gap of erased data after the previous
log. AltosUI would stop at that point and not recover the remaining
stored data.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 years agoao-bringup: fix easymotor script to use .bin for dfu-util
Bdale Garbee [Wed, 12 May 2021 06:27:55 +0000 (00:27 -0600)]
ao-bringup: fix easymotor script to use .bin for dfu-util

3 years agodoc: Update for 1.9.7
Keith Packard [Tue, 13 Apr 2021 01:38:50 +0000 (18:38 -0700)]
doc: Update for 1.9.7

Add release notes
Add specs for EasyMotor
Update copyright year to 2021

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoVersion 1.9.7
Keith Packard [Tue, 13 Apr 2021 01:39:48 +0000 (18:39 -0700)]
Version 1.9.7

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoao-bringup: add tools for flash/cal/test of EasyMotor v2
Bdale Garbee [Tue, 13 Apr 2021 00:36:45 +0000 (18:36 -0600)]
ao-bringup: add tools for flash/cal/test of EasyMotor v2

3 years agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Tue, 13 Apr 2021 00:27:17 +0000 (18:27 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

3 years agoao-tools: update ao-flash-stm32f0x to work with openocd in Debian unstable
Bdale Garbee [Tue, 13 Apr 2021 00:26:46 +0000 (18:26 -0600)]
ao-tools: update ao-flash-stm32f0x to work with openocd in Debian unstable

3 years agodoc: Fix typography in motortest doc
Keith Packard [Mon, 12 Apr 2021 20:04:20 +0000 (13:04 -0700)]
doc: Fix typography in motortest doc

 1. Use correct quotes.
 2. Eliminate double space after punctuation.
 3. Use elipses instead of three full stops.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltos: include EasyMotor v2 firmware in upcoming release
Bdale Garbee [Mon, 12 Apr 2021 20:02:32 +0000 (14:02 -0600)]
altos: include EasyMotor v2 firmware in upcoming release

3 years agodocs: minor text tweak in motor testing docs
Bdale Garbee [Mon, 12 Apr 2021 19:51:06 +0000 (13:51 -0600)]
docs: minor text tweak in motor testing docs

3 years agoaltoslib: Write IMU headers to CSV file when present
Keith Packard [Wed, 31 Mar 2021 16:23:14 +0000 (09:23 -0700)]
altoslib: Write IMU headers to CSV file when present

The IMU data were being written, but somehow the header was not
included.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoVersion 1.9.6.4
Keith Packard [Mon, 29 Mar 2021 01:03:56 +0000 (18:03 -0700)]
Version 1.9.6.4

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoJavaApplicationStub hacks for Big Sur tabbing mode
Keith Packard [Mon, 29 Mar 2021 01:03:03 +0000 (18:03 -0700)]
JavaApplicationStub hacks for Big Sur tabbing mode

Java does not support the 'tabbing' stuff that's in Big Sur, so
disable it.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoAdd local hacks to JavaApplicationStub
Keith Packard [Sat, 27 Mar 2021 16:37:49 +0000 (09:37 -0700)]
Add local hacks to JavaApplicationStub

Fix font rendering.
Add app directory to java.library.path.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoUpdate JavaApplicationStub to latest release
Keith Packard [Mon, 22 Mar 2021 07:06:14 +0000 (00:06 -0700)]
Update JavaApplicationStub to latest release

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoAdd Mac OS X 11 support to JavaApplicationStub
Keith Packard [Mon, 22 Mar 2021 07:02:33 +0000 (00:02 -0700)]
Add Mac OS X 11 support to JavaApplicationStub

3 years agoaltosuilib: Show launch sites at all visible locations on map
Keith Packard [Mon, 22 Mar 2021 06:10:25 +0000 (23:10 -0700)]
altosuilib: Show launch sites at all visible locations on map

Take each launch site and draw it at every location on the map it
occurs (in case the map shows more than the full globe). This also
automatically handles scrolling the map more than one "rotation".

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoVersion 1.9.6.2
Keith Packard [Sat, 27 Feb 2021 20:51:56 +0000 (12:51 -0800)]
Version 1.9.6.2

Fix micropeak Download on Mac OS X

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltosui: open /Library/AltusMetrum on Mac OS X after install
Keith Packard [Sat, 27 Feb 2021 21:38:54 +0000 (13:38 -0800)]
altosui: open /Library/AltusMetrum on Mac OS X after install

This helps the user find the documentation.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agomicropeak: Stick docs in Doc dir on Mac OS X
Keith Packard [Sat, 27 Feb 2021 21:23:16 +0000 (13:23 -0800)]
micropeak: Stick docs in Doc dir on Mac OS X

Follows altosui and telegps installation

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agoaltosui: Show dialog box if sudo fails on Mac OS X
Keith Packard [Sat, 27 Feb 2021 21:22:39 +0000 (13:22 -0800)]
altosui: Show dialog box if sudo fails on Mac OS X

If the user types the wrong password three times, sudo will give up
and return an error.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agomicropeak: Use a menu for 'Download' on Mac OS X
Keith Packard [Sat, 27 Feb 2021 20:51:13 +0000 (12:51 -0800)]
micropeak: Use a menu for 'Download' on Mac OS X

Attempts to add buttons to the menu bar fail leaving no access to the
download command.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agodoc: add motortest docs to publish targets
Bdale Garbee [Mon, 15 Feb 2021 21:27:30 +0000 (14:27 -0700)]
doc: add motortest docs to publish targets

3 years agodoc: have motortest documents actually get built by default
Bdale Garbee [Mon, 15 Feb 2021 21:25:47 +0000 (14:25 -0700)]
doc: have motortest documents actually get built by default

3 years agodoc: make doc be about motor testing in general, not just EasyMotor
Bdale Garbee [Mon, 15 Feb 2021 21:12:46 +0000 (14:12 -0700)]
doc: make doc be about motor testing in general, not just EasyMotor

3 years agodoc: add a brief note about TeleBT appearing inert until paired
Bdale Garbee [Sat, 30 Jan 2021 18:48:01 +0000 (11:48 -0700)]
doc: add a brief note about TeleBT appearing inert until paired

3 years agodoc: first draft of manual for EasyMotor
Bdale Garbee [Mon, 18 Jan 2021 02:29:28 +0000 (19:29 -0700)]
doc: first draft of manual for EasyMotor

3 years agoaltoslib: Add all known launch sites and names to map preload
Keith Packard [Fri, 4 Dec 2020 22:58:15 +0000 (14:58 -0800)]
altoslib: Add all known launch sites and names to map preload

This shows all of the known launch sites and their names in the map
preload screen.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 years agodoc: add documentation on how to re-flash a TeleMini v3 over USB
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

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

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

3 years 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"

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