fw/altos
4 years agoaltos: Use AO_TICK_TYPE/AO_TICK_SIGNED for lco/pad code
Keith Packard [Wed, 22 Jan 2020 20:41:40 +0000 (12:41 -0800)]
altos: Use AO_TICK_TYPE/AO_TICK_SIGNED for lco/pad code

Was using 16-bit types, which 'mostly' worked, except that the pad
code compared ao_time() with a 16-bit value when determining the radio
status. After the box was on for 10 minutes (timer wrapped), the RF
timeout check would always fail, so the red LED would be lit.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Build TeleMega v4.0 bits
Keith Packard [Mon, 6 Jan 2020 08:18:25 +0000 (00:18 -0800)]
altos: Build TeleMega v4.0 bits

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Initial bits for TeleMega v4.0
Keith Packard [Mon, 6 Jan 2020 08:16:15 +0000 (00:16 -0800)]
altos: Initial bits for TeleMega v4.0

ADXL375 and BMX160 instead of MMA655x and MPU9250

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agodoc: update copyright year in footers, note need to check this doc/RELNOTEs
Bdale Garbee [Wed, 11 Dec 2019 01:17:42 +0000 (18:17 -0700)]
doc: update copyright year in footers, note need to check this doc/RELNOTEs

4 years agoReleasing: add TeleMetrum v3.0 firmware to production list
Bdale Garbee [Mon, 9 Dec 2019 10:51:02 +0000 (03:51 -0700)]
Releasing: add TeleMetrum v3.0 firmware to production list

4 years agoReleasing: capture notes from 1.9.1 release
Bdale Garbee [Fri, 6 Dec 2019 06:16:34 +0000 (23:16 -0700)]
Releasing: capture notes from 1.9.1 release

4 years agoupdate release date in all documents
Bdale Garbee [Fri, 6 Dec 2019 05:18:12 +0000 (22:18 -0700)]
update release date in all documents

4 years agostart the process of releasing 1.9.1
Bdale Garbee [Fri, 6 Dec 2019 05:15:21 +0000 (22:15 -0700)]
start the process of releasing 1.9.1

4 years agoRelease note about self-flashing on windows waiting for devices
Keith Packard [Fri, 6 Dec 2019 05:05:28 +0000 (21:05 -0800)]
Release note about self-flashing on windows waiting for devices

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosuilib: Wait for Windows to get ready with new device
Keith Packard [Fri, 6 Dec 2019 00:59:40 +0000 (16:59 -0800)]
altosuilib: Wait for Windows to get ready with new device

Windows appears to report the new device path long before
the path is actually usable. Stick some long delays trying to
open the device before giving up.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosuilib: Show the recovered product name in the Configure Rom dialog
Keith Packard [Wed, 4 Dec 2019 03:34:06 +0000 (19:34 -0800)]
altosuilib: Show the recovered product name in the Configure Rom dialog

This lets the user know that things are actually working as expected
as the correct device name should appear in the dialog.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltoslib: Linker script changed -> the USB desc is two bytes off
Keith Packard [Wed, 4 Dec 2019 03:31:34 +0000 (19:31 -0800)]
altoslib: Linker script changed -> the USB desc is two bytes off

The USB descriptor used to be at 0x0800110c in previous releases and
is now at 0x0800110a, presumably because the linker script changed the
padding requirements of those sections.

Search forward and backwards two bytes to see if we can't find the
descriptors by checking for the descriptor value and size at each
location.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agodoc: Update docs to reference TeleMetrum v3 where appropriate
Keith Packard [Tue, 26 Nov 2019 23:47:07 +0000 (15:47 -0800)]
doc: Update docs to reference TeleMetrum v3 where appropriate

Mostly just add 'or newer' to various TeleMetrum v2 bits. Also add
specs for the v3 board.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agodoc: Mention TeleMetrum v3.0 in release notes for 1.9.1
Keith Packard [Tue, 26 Nov 2019 23:33:25 +0000 (15:33 -0800)]
doc: Mention TeleMetrum v3.0 in release notes for 1.9.1

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoao-telem: Show all 24 bits of GPS altitude data
Keith Packard [Tue, 26 Nov 2019 02:38:14 +0000 (18:38 -0800)]
ao-telem: Show all 24 bits of GPS altitude data

Need to mix in the upper 8 bits from devices which include them.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Send "metrum" telemetry packets for TeleMetrum v3.0 boards
Keith Packard [Tue, 26 Nov 2019 02:36:16 +0000 (18:36 -0800)]
altos: Send "metrum" telemetry packets for TeleMetrum v3.0 boards

This includes the ADC values, which report igniter continuity

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltoslib: Set up adxl375 for TM v3.0 in idle mode
Keith Packard [Tue, 26 Nov 2019 02:15:16 +0000 (18:15 -0800)]
altoslib: Set up adxl375 for TM v3.0 in idle mode

Need to select axis and polarity for each adxl375 product.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoao-bringup: add production test support for TeleMetrum v3.0
Bdale Garbee [Tue, 26 Nov 2019 01:02:06 +0000 (18:02 -0700)]
ao-bringup: add production test support for TeleMetrum v3.0

4 years agoaltosuilib: TeleMetrum v3, like v2, doesn't use flash for config
Bdale Garbee [Tue, 26 Nov 2019 00:57:27 +0000 (17:57 -0700)]
altosuilib: TeleMetrum v3, like v2, doesn't use flash for config

4 years agoaltosui: add TeleMetrum v3 to delivered firmware list
Bdale Garbee [Tue, 26 Nov 2019 00:55:10 +0000 (17:55 -0700)]
altosui: add TeleMetrum v3 to delivered firmware list

4 years agoaltosui: add monitor idle support for TeleMetrum v3
Bdale Garbee [Tue, 26 Nov 2019 00:50:41 +0000 (17:50 -0700)]
altosui: add monitor idle support for TeleMetrum v3

4 years agoaltos: TeleMetrum v3.0 has ADXL375 and Max-8Q
Keith Packard [Sat, 23 Nov 2019 01:18:58 +0000 (17:18 -0800)]
altos: TeleMetrum v3.0 has ADXL375 and Max-8Q

Replacce the mma655x driver with the adxl375 driver

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltoslib: Fix original telemetry sensor packet parsing
Keith Packard [Sun, 27 Oct 2019 17:24:52 +0000 (10:24 -0700)]
altoslib: Fix original telemetry sensor packet parsing

ground_pres is at byte 24, ground_accel at byte 26. These were flipped
around.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltoslib: Fix setting of CLASSPATH
Keith Packard [Sun, 27 Oct 2019 17:24:10 +0000 (10:24 -0700)]
altoslib: Fix setting of CLASSPATH

Need to include bin for local files.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agodoc: add some text about cross-bank drag race safe/arm to TeleLaunch manual
Bdale Garbee [Wed, 23 Oct 2019 16:43:54 +0000 (10:43 -0600)]
doc: add some text about cross-bank drag race safe/arm to TeleLaunch manual

4 years agodoc: add some text to TeleLaunch troubleshooting about SAFE/ARM on TeleFire
Bdale Garbee [Wed, 23 Oct 2019 16:41:30 +0000 (10:41 -0600)]
doc: add some text to TeleLaunch troubleshooting about SAFE/ARM on TeleFire

4 years agoaltos: Improve labeling of telefire receive packet information
Keith Packard [Wed, 23 Oct 2019 16:24:18 +0000 (09:24 -0700)]
altos: Improve labeling of telefire receive packet information

Avoid the use of 'cmac_recv', which is not exactly descriptive.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Relabel packet receive status line for TeleFire boxes
Keith Packard [Wed, 23 Oct 2019 16:20:53 +0000 (09:20 -0700)]
altos: Relabel packet receive status line for TeleFire boxes

The status line included return value and RSSI, but neither was
labeled, which left the user unsure as to what it meant.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agodoc: add more text to TeleLaunch manual, be less sloppy with dBm assertions
Bdale Garbee [Tue, 22 Oct 2019 15:30:25 +0000 (09:30 -0600)]
doc: add more text to TeleLaunch manual, be less sloppy with dBm assertions

4 years agoUpdate app to use Material Design Light theme
Mike Beattie [Sun, 13 Oct 2019 07:22:37 +0000 (20:22 +1300)]
Update app to use Material Design Light theme

The Holo theme does weird things these days

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoaltoslib: Don't bother adding FREETTS to CLASSPATH
Keith Packard [Fri, 18 Oct 2019 08:06:55 +0000 (01:06 -0700)]
altoslib: Don't bother adding FREETTS to CLASSPATH

altoslib doesn't use freetts at all

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosdroid: Make altosdroid code more resilient to weird androidisms
Keith Packard [Fri, 18 Oct 2019 08:05:15 +0000 (01:05 -0700)]
altosdroid: Make altosdroid code more resilient to weird androidisms

Sometimes altosdroid was crashing when messing with configuration bits
like selecting different themes. These fixes seem to make that happen
less.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/test: Get test code working again after restructuring
Keith Packard [Fri, 18 Oct 2019 08:02:51 +0000 (01:02 -0700)]
altos/test: Get test code working again after restructuring

Something changed, the test code wasn't building. Now it does.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/telefire: Don't arm the box if the local arm switch is off
Keith Packard [Fri, 18 Oct 2019 06:09:47 +0000 (23:09 -0700)]
altos/telefire: Don't arm the box if the local arm switch is off

This skips arming the box when the local arming switch is off. This
keeps the siren and light from going off, and also avoids attempting
to fire the channels in case something else screwy is going on.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoTeleFireEight has simple green LEDs for continuity
Bdale Garbee [Tue, 1 Oct 2019 03:15:56 +0000 (21:15 -0600)]
TeleFireEight has simple green LEDs for continuity

4 years agotelegps: Get --graph mode working after recent changes
Keith Packard [Wed, 25 Sep 2019 20:10:36 +0000 (13:10 -0700)]
telegps: Get --graph mode working after recent changes

Was just exiting due to a null pointer exception caused by mis-ordered
setup of the map data. Also using stale API.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltoslib: Don't crash when map flight data is missing
Keith Packard [Wed, 25 Sep 2019 20:09:22 +0000 (13:09 -0700)]
altoslib: Don't crash when map flight data is missing

Just a couple of null pointer checks to allow the map display to come
up even when no data are available.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agodoc: Update for 1.9.1
Keith Packard [Wed, 25 Sep 2019 03:49:56 +0000 (20:49 -0700)]
doc: Update for 1.9.1

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agodoc: Describe new 'show nearest values' in map view
Keith Packard [Wed, 25 Sep 2019 03:50:08 +0000 (20:50 -0700)]
doc: Describe new 'show nearest values' in map view

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Rename 'log' in ao_log_fireone to 'ao_fireone_data'
Keith Packard [Mon, 23 Sep 2019 19:40:19 +0000 (12:40 -0700)]
altos: Rename 'log' in ao_log_fireone to 'ao_fireone_data'

Avoids conflict with global 'log' function

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Switch all main() to return 'int'
Keith Packard [Mon, 23 Sep 2019 19:39:42 +0000 (12:39 -0700)]
altos: Switch all main() to return 'int'

Makes gcc happy

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosdroid: Update Makefile.am to run gradle-based build
Keith Packard [Thu, 19 Sep 2019 00:38:44 +0000 (17:38 -0700)]
altosdroid: Update Makefile.am to run gradle-based build

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Add missing build files for avr/attiny devices
Keith Packard [Thu, 19 Sep 2019 00:10:14 +0000 (17:10 -0700)]
altos: Add missing build files for avr/attiny devices

These were sitting in my src directory but not in git

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoMerge remote-tracking branch 'mjb/android-build-update'
Keith Packard [Wed, 18 Sep 2019 23:26:44 +0000 (16:26 -0700)]
Merge remote-tracking branch 'mjb/android-build-update'

4 years agoUpdate Google Maps API usage.
Mike Beattie [Wed, 18 Sep 2019 22:26:40 +0000 (10:26 +1200)]
Update Google Maps API usage.

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoUpdate persistent notification in TelemetryService
Mike Beattie [Wed, 18 Sep 2019 22:25:47 +0000 (10:25 +1200)]
Update persistent notification in TelemetryService

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoConvert to AndroidX from support_v4
Mike Beattie [Wed, 18 Sep 2019 22:25:09 +0000 (10:25 +1200)]
Convert to AndroidX from support_v4

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoImport cleanup
Mike Beattie [Wed, 18 Sep 2019 22:24:13 +0000 (10:24 +1200)]
Import cleanup

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoCommented out duplicate strings
Mike Beattie [Wed, 18 Sep 2019 22:19:11 +0000 (10:19 +1200)]
Commented out duplicate strings

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoIndentation cleanup
Mike Beattie [Wed, 18 Sep 2019 22:18:48 +0000 (10:18 +1200)]
Indentation cleanup

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoAdd FOREGROUND_SERVICE permission which is now required
Mike Beattie [Wed, 18 Sep 2019 22:17:52 +0000 (10:17 +1200)]
Add FOREGROUND_SERVICE permission which is now required

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoRemove versioning data from AndroidManifest.xml.in
Mike Beattie [Wed, 18 Sep 2019 22:17:09 +0000 (10:17 +1200)]
Remove versioning data from AndroidManifest.xml.in

(now in build.gradle)

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoClean up duplication in AndroidManifest.xml.in
Mike Beattie [Wed, 18 Sep 2019 22:16:18 +0000 (10:16 +1200)]
Clean up duplication in AndroidManifest.xml.in

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agobuildinfo data comes from Makedefs now, not Version
Mike Beattie [Wed, 18 Sep 2019 22:12:59 +0000 (10:12 +1200)]
buildinfo data comes from Makedefs now, not Version

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoAdd gradle build files
Mike Beattie [Wed, 18 Sep 2019 22:12:30 +0000 (10:12 +1200)]
Add gradle build files

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoUpdate files that reference new paths
Mike Beattie [Wed, 18 Sep 2019 22:09:26 +0000 (10:09 +1200)]
Update files that reference new paths

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoMove java source, and resources to new paths for gradle
Mike Beattie [Wed, 18 Sep 2019 22:04:58 +0000 (10:04 +1200)]
Move java source, and resources to new paths for gradle

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoRemove ant build files
Mike Beattie [Wed, 18 Sep 2019 21:58:06 +0000 (09:58 +1200)]
Remove ant build files

Signed-off-by: Mike Beattie <mike@ethernal.org>
4 years agoaltos: Add EasyMega v3.0 bits (not setup correctly yet)
Keith Packard [Mon, 16 Sep 2019 20:12:08 +0000 (13:12 -0700)]
altos: Add EasyMega v3.0 bits (not setup correctly yet)

This adds a new directory for EasyMega v3.0, replacing the mpu9250
with a bmx160.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Integrate BMX160 into data code
Keith Packard [Mon, 16 Sep 2019 20:10:09 +0000 (13:10 -0700)]
altos: Integrate BMX160 into data code

Get conversion functions written and fix up a few warnings

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Add bmx160 driver
Keith Packard [Mon, 16 Sep 2019 19:39:09 +0000 (12:39 -0700)]
altos: Add bmx160 driver

This just adds the driver, it doesn't hook it up yet

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Replace ao_xmem functions with direct mem calls
Keith Packard [Mon, 16 Sep 2019 00:09:26 +0000 (17:09 -0700)]
altos: Replace ao_xmem functions with direct mem calls

We no longer need to wrap these functions

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agodrivers: Use 'main_value' instead of 'main'
Keith Packard [Mon, 16 Sep 2019 00:05:59 +0000 (17:05 -0700)]
drivers: Use 'main_value' instead of 'main'

GCC can emit a warning when programs redefine 'main'.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosui: Add speed and gps height to map display data
Keith Packard [Mon, 2 Sep 2019 20:20:14 +0000 (15:20 -0500)]
altosui: Add speed and gps height to map display data

And generalize the API so that any other GPS data could be added in
the future.

This feature was proposed by Mike Beattie

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosui: Display data for point nearest cursor in map view
Keith Packard [Sun, 1 Sep 2019 04:20:31 +0000 (23:20 -0500)]
altosui: Display data for point nearest cursor in map view

Include time, lat and lon

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agolibaltos: gitignore btletest
Keith Packard [Thu, 29 Aug 2019 03:40:21 +0000 (22:40 -0500)]
libaltos: gitignore btletest

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoAdd .gitignore files for new projects
Keith Packard [Thu, 29 Aug 2019 03:39:25 +0000 (22:39 -0500)]
Add .gitignore files for new projects

EasyMega v2.0
TeleFireEight v2.0
TeleFireOne v1.0
TeleLco v0.2 with cc1200 radio

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoicon: Ignore generated LED images
Keith Packard [Thu, 29 Aug 2019 03:34:53 +0000 (22:34 -0500)]
icon: Ignore generated LED images

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoAdd new altosdroid icon
Keith Packard [Thu, 29 Aug 2019 03:33:35 +0000 (22:33 -0500)]
Add new altosdroid icon

Remove drop shadow
Change size to make Google happier

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Use fast timer for buttons instead of edge-triggered ISR
Keith Packard [Tue, 13 Aug 2019 00:30:48 +0000 (17:30 -0700)]
altos: Use fast timer for buttons instead of edge-triggered ISR

If the button bounces between the triggering interrupt and the button
state check, we could lose the final state change of the button and
send an incorrect event to the application. In the worst case, the button
would end up in exactly the wrong state, toggling in the wrong direction.

Use the fast timer to poll all buttons instead so that there is only
one check of each button at each poll interval (instead of the
interrupt and the state check). This makes buttons reliably debounced.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosui: Make it possible to disable APRS
Keith Packard [Mon, 5 Aug 2019 04:12:29 +0000 (21:12 -0700)]
altosui: Make it possible to disable APRS

The menu says "Disabled", but the device wants "0". Translate back and
forth to avoid an error.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosui: Fix path to easymini-v2.0 ihx file
Keith Packard [Mon, 5 Aug 2019 03:33:21 +0000 (20:33 -0700)]
altosui: Fix path to easymini-v2.0 ihx file

This gets the bits included in macosx and linux builds

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosdroid: Hack up build to 'work' for now
Keith Packard [Tue, 16 Jul 2019 18:15:20 +0000 (11:15 -0700)]
altosdroid: Hack up build to 'work' for now

Android apps are now build with gradle instead of ant; the ant bits
are stale and only work with old java. Use old java to run ant while
using the current java compiler to build things.

This requires a custom version of the google play API library.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoao-bringup: add a turnon_telefireeight script
Bdale Garbee [Fri, 2 Aug 2019 20:20:39 +0000 (14:20 -0600)]
ao-bringup: add a turnon_telefireeight script

4 years agoUse discovered java path for compiler and jni include files
Keith Packard [Wed, 17 Jul 2019 18:40:06 +0000 (11:40 -0700)]
Use discovered java path for compiler and jni include files

Instead of using the discovered java bits just for jni.h, also use
javac from that directory. Add JAVA_VERSION param to set language
version for newer compilers.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltoslib: Stop using deprecated Java functionality
Keith Packard [Wed, 17 Jul 2019 18:38:43 +0000 (11:38 -0700)]
altoslib: Stop using deprecated Java functionality

new Double(x) -> Double.valueOf(x)
c.newInstance() -> c.getDeclaredConstructor().newInstance()

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoao-tools/ao-eeprom: Add support for TeleFireTwo
Keith Packard [Tue, 16 Jul 2019 19:08:33 +0000 (12:08 -0700)]
ao-tools/ao-eeprom: Add support for TeleFireTwo

Display converted pressure and thrust data along with raw thermistor
data.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Record all failed sensors and report status at power up
Keith Packard [Tue, 16 Jul 2019 18:12:49 +0000 (11:12 -0700)]
altos: Record all failed sensors and report status at power up

Use DATA bits to mark which sensors have failed, then report that in
beeps at startup time to help diagnose hardware failures while still
allowing the board to be used over USB.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/micropeak-v2.0: Reduce power usage
Keith Packard [Tue, 16 Jul 2019 18:10:36 +0000 (11:10 -0700)]
altos/micropeak-v2.0: Reduce power usage

This gets power consumption down under 1mA on the pad. Not really low
enough to sell, but I think this is about as low as the chip will go.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/stmf0: Allow SPI to be powered down when idle if desired
Keith Packard [Tue, 16 Jul 2019 18:07:27 +0000 (11:07 -0700)]
altos/stmf0: Allow SPI to be powered down when idle if desired

Set SPI_1_POWER_MANAGE and/or SPI_2_POWER_MANAGE to have the spi
blocks powered down when not in use.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/stmf0: Add 'ao_serial_shutdown'
Keith Packard [Tue, 16 Jul 2019 18:04:16 +0000 (11:04 -0700)]
altos/stmf0: Add 'ao_serial_shutdown'

This powers down the UART logic on request.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/stmf0: Leave power interface disabled until needed
Keith Packard [Tue, 16 Jul 2019 18:02:56 +0000 (11:02 -0700)]
altos/stmf0: Leave power interface disabled until needed

We only need the power interface when placing the chip in the lowest
power state, so don't power up the power interface clock at startup,
instead wait until later.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoicon: Add altosdroid-specific icon
Keith Packard [Tue, 16 Jul 2019 17:23:54 +0000 (10:23 -0700)]
icon: Add altosdroid-specific icon

Google style guides have no drop shadows anymore, so create an icon
for the play store without one.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosuilib: Don't crash when flashing an unknown device
Keith Packard [Tue, 16 Jul 2019 17:22:02 +0000 (10:22 -0700)]
altosuilib: Don't crash when flashing an unknown device

An unknown device will not have a config; check for that before
showing radio calibration dialogs.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoao-tools/ao-eeprom: Add altitude data for baro values
Keith Packard [Tue, 16 Jul 2019 16:57:24 +0000 (09:57 -0700)]
ao-tools/ao-eeprom: Add altitude data for baro values

Displays altitude along with pressure and temp for baro sensor data.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoao-tools/lib: Add atmosphere model
Keith Packard [Tue, 16 Jul 2019 16:56:39 +0000 (09:56 -0700)]
ao-tools/lib: Add atmosphere model

Converts between pressure and altitude

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoao-tools/ao-telem: Fix man page and usage to match code
Keith Packard [Mon, 15 Jul 2019 20:28:11 +0000 (13:28 -0700)]
ao-tools/ao-telem: Fix man page and usage to match code

ao-telem just parses .telem files.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Allow ms5607 driver to either set ao_sensor_errors or panic
Keith Packard [Mon, 15 Jul 2019 20:26:30 +0000 (13:26 -0700)]
altos: Allow ms5607 driver to either set ao_sensor_errors or panic

Products that want to remain usable (over USB) after a sensor failure
don't want to panic when the ms5607 fails, but products with limited
ROM space don't want to have extra code to check for the sensor
failure and panic. Change the MS5607 driver to allow either option,
and then make the micropeak based devices use it.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoao-tools: Change ao-eeprom into eeprom analysis tool
Keith Packard [Mon, 15 Jul 2019 20:22:15 +0000 (13:22 -0700)]
ao-tools: Change ao-eeprom into eeprom analysis tool

ao-eeprom used to be a TeleMetrum v0.2 specific tool for fetching
eeprom contents from that device. ao-dumpflash handles that case now.

ao-eeprom now parses .eeprom files and displays their contents.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/micropeak-v2: Update .gitignore
Keith Packard [Wed, 19 Jun 2019 06:18:19 +0000 (23:18 -0700)]
altos/micropeak-v2: Update .gitignore

Ignore built stuff

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/micropeak-v2: Correct AO_LOG_ID value
Keith Packard [Wed, 19 Jun 2019 06:17:10 +0000 (23:17 -0700)]
altos/micropeak-v2: Correct AO_LOG_ID value

Typo wasn't caught by the compiler (thanks!)

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/micropeak-v2: Erase log space at end of BOOST_DELAY
Keith Packard [Wed, 19 Jun 2019 06:16:12 +0000 (23:16 -0700)]
altos/micropeak-v2: Erase log space at end of BOOST_DELAY

We have to erase the log before the flight starts, so this seems like
the latest possible moment.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos: Don't dump MS5607 eeprom in 'B' command
Keith Packard [Wed, 19 Jun 2019 06:14:54 +0000 (23:14 -0700)]
altos: Don't dump MS5607 eeprom in 'B' command

MicroPeak v2 now has config stuff where these values get shown

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltoslib: Add support for MicroPeak v2 eeprom format
Keith Packard [Wed, 19 Jun 2019 06:14:05 +0000 (23:14 -0700)]
altoslib: Add support for MicroPeak v2 eeprom format

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/micropeak-v2.0: expose log and config commands over USB
Keith Packard [Tue, 18 Jun 2019 21:50:53 +0000 (14:50 -0700)]
altos/micropeak-v2.0: expose log and config commands over USB

This lets AltosUI handle the eeprom data

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltosui/telegps: Display error message when attempting to graph unknown files
Keith Packard [Tue, 18 Jun 2019 21:50:18 +0000 (14:50 -0700)]
altosui/telegps: Display error message when attempting to graph unknown files

Instead of presenting an empty graph window.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltoslib: Always create an ordered record set for eeprom files
Keith Packard [Tue, 18 Jun 2019 21:25:09 +0000 (14:25 -0700)]
altoslib: Always create an ordered record set for eeprom files

If we can't parse the format, just leave it empty. This makes code
handling arbitrary records much easier as it doesn't have to check for
the ordered set existing.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/micropeak-v2.0: Go into standby mode after landing
Keith Packard [Tue, 18 Jun 2019 20:02:51 +0000 (13:02 -0700)]
altos/micropeak-v2.0: Go into standby mode after landing

This is the lowest power state we can reach, and consumes about 15µA
or less.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/micropeak-v2.0: Fix LED blinking sequence at power-on
Keith Packard [Tue, 18 Jun 2019 20:02:12 +0000 (13:02 -0700)]
altos/micropeak-v2.0: Fix LED blinking sequence at power-on

'pips' happens between altitude report and data dump.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoaltos/micropeak-v2.0: Wait for the power supply to stabilize before measuring
Keith Packard [Tue, 18 Jun 2019 07:11:49 +0000 (00:11 -0700)]
altos/micropeak-v2.0: Wait for the power supply to stabilize before measuring

If we don't wait before measuring the battery, it will often read
under 3.2V right at boot time, which puts MicroPeak in flight mode
instead of USB mode.

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