fw/altos
8 days agoVersion 1.9.4 master
Keith Packard [Thu, 2 Jul 2020 22:26:10 +0000 (15:26 -0700)]
Version 1.9.4

Signed-off-by: Keith Packard <keithp@keithp.com>
8 days agodoc: Doc updates for 1.9.4
Keith Packard [Thu, 2 Jul 2020 22:18:56 +0000 (15:18 -0700)]
doc: Doc updates for 1.9.4

Add release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
8 days agoaltos: Make AO_STORAGE_TEST use a separate buffer
Keith Packard [Thu, 2 Jul 2020 22:24:01 +0000 (15:24 -0700)]
altos: Make AO_STORAGE_TEST use a separate buffer

The storage test code needs a buffer which can hold an entire erase
block from memory, which means 256 bytes.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 days agoaltos: Reduce flash temp buffer to make space for Em v1.0 ISR stack
Keith Packard [Thu, 2 Jul 2020 22:11:42 +0000 (15:11 -0700)]
altos: Reduce flash temp buffer to make space for Em v1.0 ISR stack

EasyMini has limited RAM; small enough that increasing the size of the
storage buffer from 128 to 256 bytes left too little space at the top
of memory for the interrupt stack, causing EasyMini v1.0 to crash at
boot.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 days agoAdd telemetrum v3.0 firmware to release
Keith Packard [Tue, 23 Jun 2020 00:33:08 +0000 (17:33 -0700)]
Add telemetrum v3.0 firmware to release

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoao-bringup: first cut at turn-on scripts for EasyTimer v1
Bdale Garbee [Tue, 16 Jun 2020 18:28:39 +0000 (12:28 -0600)]
ao-bringup: first cut at turn-on scripts for EasyTimer v1

3 weeks agoVersion 1.9.3
Keith Packard [Tue, 16 Jun 2020 02:11:49 +0000 (19:11 -0700)]
Version 1.9.3

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agodoc: Update doc for 1.9.3
Keith Packard [Sun, 14 Jun 2020 05:50:40 +0000 (22:50 -0700)]
doc: Update doc for 1.9.3

Add release notes.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoUpdate 1.9.3 release notes
Keith Packard [Sun, 14 Jun 2020 04:37:44 +0000 (21:37 -0700)]
Update 1.9.3 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos: Leave floating printf enabled on m3 devices
Keith Packard [Sun, 14 Jun 2020 07:04:31 +0000 (00:04 -0700)]
altos: Leave floating printf enabled on m3 devices

These devices all use floating point computations, so leave the
floating point printf included in case they print one of those
values. If we run short on flash space, we can switch back.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos: Fix printf format mis-matches
Keith Packard [Sun, 14 Jun 2020 06:39:00 +0000 (23:39 -0700)]
altos: Fix printf format mis-matches

Lots of values passed to printf are 'long' instead of 'int', so
fix the formats to use the right size indicator.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos: Remove newlib-nano defines from Makedefs.in
Keith Packard [Sun, 14 Jun 2020 06:36:13 +0000 (23:36 -0700)]
altos: Remove newlib-nano defines from Makedefs.in

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoaltos/test: Ignore ao_flight_test_mini binary
Keith Packard [Sun, 14 Jun 2020 06:13:35 +0000 (23:13 -0700)]
altos/test: Ignore ao_flight_test_mini binary

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agomap-server: Manifest files are generated now
Keith Packard [Sun, 14 Jun 2020 06:12:55 +0000 (23:12 -0700)]
map-server: Manifest files are generated now

Ignore in .gitignore
Remove in 'make clean'

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoAdd EasyTimer firmware to packages and Releasing
Keith Packard [Sun, 14 Jun 2020 06:11:49 +0000 (23:11 -0700)]
Add EasyTimer firmware to packages and Releasing

Make sure we include EasyTimer bits where required

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoCheck for picolibc when testing arm compilers
Keith Packard [Sun, 14 Jun 2020 06:09:54 +0000 (23:09 -0700)]
Check for picolibc when testing arm compilers

Remove configuration checks for newlib as picolibc doesn't need
separate configuration variables.

Make sure test program actually links as this tests to make sure
picolibc is working.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agodoc: Update for EasyTimer
Keith Packard [Sun, 14 Jun 2020 05:40:42 +0000 (22:40 -0700)]
doc: Update for EasyTimer

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agodoc: Avoid mis-interpretation of '+' in device wiring tables
Keith Packard [Sun, 14 Jun 2020 05:39:35 +0000 (22:39 -0700)]
doc: Avoid mis-interpretation of '+' in device wiring tables

Looks like asciidoctor does something magic with '+' characters in
table contents. Avoid this by using +++. Sigh.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Fix HAS_FLIGHT_DEBUG for easytimer
Keith Packard [Tue, 9 Jun 2020 18:48:17 +0000 (11:48 -0700)]
altos: Fix HAS_FLIGHT_DEBUG for easytimer

Remove baro-specific bits of the debug output when
there's no barometer.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Don't include baro-specific config values for easytimer
Keith Packard [Tue, 9 Jun 2020 18:47:22 +0000 (11:47 -0700)]
altos: Don't include baro-specific config values for easytimer

These settings aren't used on easytimer, so don't include them in the
configuration system. This makes sure they don't appear in altosui.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltosui: Remove six-axis pad orientation for easy timer
Keith Packard [Tue, 9 Jun 2020 18:46:31 +0000 (11:46 -0700)]
altosui: Remove six-axis pad orientation for easy timer

Wait until easytimer actually has six-axis support

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltoslib: Fix easytimer voltage conversions
Keith Packard [Tue, 9 Jun 2020 18:45:53 +0000 (11:45 -0700)]
altoslib: Fix easytimer voltage conversions

Battery and pyros all use the same circuit (100k/27k).

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoAdd some release note notes
Keith Packard [Tue, 9 Jun 2020 05:08:28 +0000 (22:08 -0700)]
Add some release note notes

4 weeks agoaltoslib: Add EasyTimer idle monitor support
Keith Packard [Tue, 9 Jun 2020 03:55:28 +0000 (20:55 -0700)]
altoslib: Add EasyTimer idle monitor support

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoAdd EasyTimer configuration support
Keith Packard [Sat, 6 Jun 2020 00:15:10 +0000 (17:15 -0700)]
Add EasyTimer configuration support

Needed six-axis pad orientation support

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Leave accel data in ring raw; swap for orientation on fetch
Keith Packard [Tue, 9 Jun 2020 04:26:23 +0000 (21:26 -0700)]
altos: Leave accel data in ring raw; swap for orientation on fetch

Instead of re-writing the acceleration data in the ring to adjust for
pad orientation, just leave it alone and flip it each time it is
fetched. Much simpler this way.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Handle flight_log_max not being multiple of ao_storage_block
Keith Packard [Tue, 9 Jun 2020 04:05:17 +0000 (21:05 -0700)]
altos: Handle flight_log_max not being multiple of ao_storage_block

In this case, flight records start in the middle of an erase block, but
now end at the erase block before the next flight.

When checking for an empty log slot, the entire erase block containing
the start of the flight is checked to make sure it's clear, skipping
it if not.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Round selected log size down to ao_storage_block multiple
Keith Packard [Tue, 9 Jun 2020 04:03:31 +0000 (21:03 -0700)]
altos: Round selected log size down to ao_storage_block multiple

There was some (broken) code that complained if the value set wasn't
correct, that has been replaced by code that accepts any value and
just rounds it down to a multiple of ao_storage_block. The code also
stops complaining when set to the current value when storage isn't
empty.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltos: Move ao_storage_erase to shared code. Add len
Keith Packard [Tue, 9 Jun 2020 04:01:31 +0000 (21:01 -0700)]
altos: Move ao_storage_erase to shared code. Add len

This makes ao_storage_erase take an arbitrary length. The new version
erases each storage block if there's any un-erased data present, and
then also checks after erasing to make sure the block is clear.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltosui: Adjust max log setting for storage block size
Keith Packard [Tue, 9 Jun 2020 03:52:09 +0000 (20:52 -0700)]
altosui: Adjust max log setting for storage block size

Need to round log sizes down to a multiple of the block size so that
erasing works sensibly on the device.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 weeks agoaltoslib: Remember flight list in AltosConfigData
Keith Packard [Tue, 9 Jun 2020 03:49:42 +0000 (20:49 -0700)]
altoslib: Remember flight list in AltosConfigData

Do this instead of having to re-fetch and re-parse in AltosEepromList

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Initialize pyro code for easytimer-v1
Keith Packard [Thu, 28 May 2020 23:45:00 +0000 (16:45 -0700)]
altos: Initialize pyro code for easytimer-v1

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoeasytimer-v1: Enable pyro commands
Keith Packard [Thu, 28 May 2020 23:23:44 +0000 (16:23 -0700)]
easytimer-v1: Enable pyro commands

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Fix ao_ignite.c to work without HAS_IGNITE
Keith Packard [Thu, 28 May 2020 23:23:09 +0000 (16:23 -0700)]
altos: Fix ao_ignite.c to work without HAS_IGNITE

Need to register commands even if HAS_IGNITE is not set

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Build easytimer-v1 by default
Keith Packard [Thu, 28 May 2020 22:48:16 +0000 (15:48 -0700)]
altos: Build easytimer-v1 by default

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: add easytimer-v1 source directory
Bdale Garbee [Wed, 8 Apr 2020 19:43:22 +0000 (13:43 -0600)]
altos: add easytimer-v1 source directory

6 weeks agoaltos: Allow flight support without logging
Keith Packard [Thu, 28 May 2020 23:03:23 +0000 (16:03 -0700)]
altos: Allow flight support without logging

EasyTimer flies rockets, but doesn't have SPI flash for logging.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Allow BMX160 to be used as primary accel
Keith Packard [Thu, 28 May 2020 23:02:54 +0000 (16:02 -0700)]
altos: Allow BMX160 to be used as primary accel

EasyTimer doesn't have a high-g part.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Allow igniter status beeping with only 'extra' channels
Keith Packard [Thu, 28 May 2020 23:01:45 +0000 (16:01 -0700)]
altos: Allow igniter status beeping with only 'extra' channels

EasyTimer doesn't have main/apogee charges.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Allow accel-only flight code
Keith Packard [Tue, 13 Aug 2019 00:00:47 +0000 (17:00 -0700)]
altos: Allow accel-only flight code

EasyTimer won't have a baro sensor, so we need some way to track at least
the ascent part of a flight.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoaltos: Allow MPU9250 SPI speed to be set by application
Keith Packard [Thu, 28 May 2020 23:00:04 +0000 (16:00 -0700)]
altos: Allow MPU9250 SPI speed to be set by application

Rather than requiring 1MHz

Signed-off-by: Keith Packard <keithp@keithp.com>
6 weeks agoao-tools/ao-usbload: stubs in man page for missing options
Keith Packard [Thu, 9 Apr 2020 00:20:23 +0000 (17:20 -0700)]
ao-tools/ao-usbload: stubs in man page for missing options

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoMark stm_interrupt_vector as const so it is READONLY
Keith Packard [Mon, 4 May 2020 18:58:54 +0000 (11:58 -0700)]
Mark stm_interrupt_vector as const so it is READONLY

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos: Move from newlib-nano to picolibc
Keith Packard [Mon, 16 Sep 2019 00:05:17 +0000 (17:05 -0700)]
altos: Move from newlib-nano to picolibc

Use picolibc.ld, which involved some .ld file hacking, including:

 1) Defining ao_boot RAM address in the .ld file and declaring it 'extern'
 2) Changing how m0 interrupt vector got moved to ram
 3) Using -Taltos.ld instead of -Wl,-Taltos.ld so picolibc.specs wouldn't add picolibc.ld
 4) Placing romconfig vars in '.init.1' and '.init.2' sections instead of '.romconfig'
 5) Place code needing to run out of RAM in section .srodata instead of .ramtext

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoignore .map files
Keith Packard [Mon, 4 May 2020 17:36:41 +0000 (10:36 -0700)]
ignore .map files

7 weeks agoaltos/lpc: Add explicit defines for all register groups
Keith Packard [Mon, 4 May 2020 03:01:14 +0000 (20:01 -0700)]
altos/lpc: Add explicit defines for all register groups

This lets the compiler see the constant address, rather than
having the linker stick it in later.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoCreate map file for all programs
Keith Packard [Mon, 4 May 2020 17:35:23 +0000 (10:35 -0700)]
Create map file for all programs

7 weeks agoaltos/stm: Make ao_eeprom_total a #define instead of a const variable
Keith Packard [Mon, 4 May 2020 01:31:19 +0000 (18:31 -0700)]
altos/stm: Make ao_eeprom_total a #define instead of a const variable

This is unused outside of ao_eeprom_stm.c, and as global const takes
up space in flash.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agopoint turnon_telemetrum_v2 to correct test script for v2.0
Bdale Garbee [Thu, 14 May 2020 18:44:27 +0000 (12:44 -0600)]
point turnon_telemetrum_v2 to correct test script for v2.0

2 months agoao-tools: Declare ao_verbose as extern in shared header.
Keith Packard [Fri, 17 Apr 2020 19:53:47 +0000 (12:53 -0700)]
ao-tools: Declare ao_verbose as extern in shared header.

gcc-10 disables 'common' behavior by defaul, so we need to only define
variables in one location now.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoao-tools: Use array indexing instead of addition to make gcc-10 happy
Keith Packard [Fri, 17 Apr 2020 19:51:13 +0000 (12:51 -0700)]
ao-tools: Use array indexing instead of addition to make gcc-10 happy

A struct with a trailing zero-length array (for variable-length data) is
treated as a zero-sized object when doing pointer arithmetic, but treated
correctly when treated as an array. This generates a warning from gcc-10

load->data + address - load->address

while this, which is 'the same', does not:

&load->data[address - load->address]

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoStart release notes for 1.9.4
Keith Packard [Thu, 26 Mar 2020 17:09:51 +0000 (10:09 -0700)]
Start release notes for 1.9.4

3 months agoaltosui: Report baro ground alt for 'Pad Altitude' when GPS missing
Keith Packard [Thu, 26 Mar 2020 17:01:48 +0000 (10:01 -0700)]
altosui: Report baro ground alt for 'Pad Altitude' when GPS missing

The 'Pad Altitude' field in the pad tab of AltosUI was originally one
of three fields designed to report the GPS position of the pad. When
TeleMini was added, the code was updated to separate the lat/lon from
altitude display, but the pad_alt field in AltosState used for that
was still only computed from GPS data.

This fix gets rid of the confusing 'pad_alt' field in AltosState and
has the 'Pad Altitude' data select either GPS ground altitude or baro
ground altitude, depending on whether GPS data is available.

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

3 months agomap-server: Create Manifest.txt at build time
Keith Packard [Sun, 22 Mar 2020 04:13:08 +0000 (21:13 -0700)]
map-server: Create Manifest.txt at build time

This ensures the libraries have the right names

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agodoc: start release notes for 1.9.3
Keith Packard [Thu, 5 Mar 2020 02:52:35 +0000 (18:52 -0800)]
doc: start release notes for 1.9.3

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agodoc: Document APRS offset configuration value
Keith Packard [Thu, 5 Mar 2020 02:51:00 +0000 (18:51 -0800)]
doc: Document APRS offset configuration value

Update screen shots including this as well.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib, altosui, telegps: Add configuration support for APRS offset
Keith Packard [Thu, 5 Mar 2020 02:23:14 +0000 (18:23 -0800)]
altoslib, altosui, telegps: Add configuration support for APRS offset

Configure the position within each minute that APRS transmissions
occur

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: add APRS 'offset' value to set APRS transmision time
Keith Packard [Thu, 5 Mar 2020 01:26:49 +0000 (17:26 -0800)]
altos: add APRS 'offset' value to set APRS transmision time

This value is the offset from the top of the minute for the first APRS
packet in the minute. Subsequent packets will be transmitted
'interval' seconds apart for the rest of the minute.

This allows multiple transmitters to be configured to share the same
frequency and not transmit at the same time.

Note that this offset only works when the device has GPS lock.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Wed, 26 Feb 2020 06:55:29 +0000 (23:55 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

4 months agoBump version to 1.9.2, android 27
Keith Packard [Wed, 26 Feb 2020 01:08:58 +0000 (17:08 -0800)]
Bump version to 1.9.2, android 27

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoBump java lib versions in preparation for 1.9.2
Keith Packard [Wed, 26 Feb 2020 01:07:15 +0000 (17:07 -0800)]
Bump java lib versions in preparation for 1.9.2

Quite a few changes; let's bump the version so we don't end up with
the wrong version on some machine.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agolibaltos: Create altos_pause_one_second API
Keith Packard [Wed, 26 Feb 2020 06:51:54 +0000 (22:51 -0800)]
libaltos: Create altos_pause_one_second API

This is to wait for the reading thread to stop using the file object
while cleaning up.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoupdate copyright assertion in TeleLaunch manual
Bdale Garbee [Wed, 26 Feb 2020 06:18:11 +0000 (23:18 -0700)]
update copyright assertion in TeleLaunch manual

4 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Wed, 26 Feb 2020 05:56:07 +0000 (22:56 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

4 months agoaltoslib: Remove debug printf from AltosIMU.java
Keith Packard [Wed, 26 Feb 2020 05:50:10 +0000 (21:50 -0800)]
altoslib: Remove debug printf from AltosIMU.java

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoBump version to 1.9.2, android 27
Keith Packard [Wed, 26 Feb 2020 01:08:58 +0000 (17:08 -0800)]
Bump version to 1.9.2, android 27

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoBump java lib versions in preparation for 1.9.2
Keith Packard [Wed, 26 Feb 2020 01:07:15 +0000 (17:07 -0800)]
Bump java lib versions in preparation for 1.9.2

Quite a few changes; let's bump the version so we don't end up with
the wrong version on some machine.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Wed, 26 Feb 2020 05:44:08 +0000 (22:44 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

4 months agoSet doc version and date from package version and release date
Keith Packard [Wed, 26 Feb 2020 01:24:23 +0000 (17:24 -0800)]
Set doc version and date from package version and release date

This is a bit less work than manually updating them.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoBump version to 1.9.2, android 27
Keith Packard [Wed, 26 Feb 2020 01:08:58 +0000 (17:08 -0800)]
Bump version to 1.9.2, android 27

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Add TeleMega-v4 adxl375 config to AltosConfigData
Keith Packard [Wed, 26 Feb 2020 05:42:29 +0000 (21:42 -0800)]
altoslib: Add TeleMega-v4 adxl375 config to AltosConfigData

Needed for idle monitor to work correctly

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoBump java lib versions in preparation for 1.9.2
Keith Packard [Wed, 26 Feb 2020 01:07:15 +0000 (17:07 -0800)]
Bump java lib versions in preparation for 1.9.2

Quite a few changes; let's bump the version so we don't end up with
the wrong version on some machine.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoBump version to 1.9.2, android 27
Keith Packard [Wed, 26 Feb 2020 01:08:58 +0000 (17:08 -0800)]
Bump version to 1.9.2, android 27

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoSet doc version and date from package version and release date
Keith Packard [Wed, 26 Feb 2020 01:24:23 +0000 (17:24 -0800)]
Set doc version and date from package version and release date

This is a bit less work than manually updating them.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoBump java lib versions in preparation for 1.9.2
Keith Packard [Wed, 26 Feb 2020 01:07:15 +0000 (17:07 -0800)]
Bump java lib versions in preparation for 1.9.2

Quite a few changes; let's bump the version so we don't end up with
the wrong version on some machine.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: BMX160 driver now returns µT values for mag sensor
Keith Packard [Tue, 25 Feb 2020 23:35:33 +0000 (15:35 -0800)]
altoslib: BMX160 driver now returns µT values for mag sensor

These are converted on-board using calibration values provided with
the chip.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos/bmx160: Compute µT in bmx160 driver using trim data
Keith Packard [Tue, 25 Feb 2020 22:57:35 +0000 (14:57 -0800)]
altos/bmx160: Compute µT in bmx160 driver using trim data

Instead of attempting to ship all of the trim data, compute µT
on-board. This means losing the raw sensor values.

The compensate functions were taken from the bmm150 sample driver
provided by Bosch under the BSD 3 clause license.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos/telemega-4.0: Fix signs of IMU pitch and mag across
Keith Packard [Tue, 25 Feb 2020 19:58:17 +0000 (11:58 -0800)]
altos/telemega-4.0: Fix signs of IMU pitch and mag across

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltosuilib, altoslib: Add azimuth and compass to reports
Keith Packard [Tue, 25 Feb 2020 19:55:36 +0000 (11:55 -0800)]
altosuilib, altoslib: Add azimuth and compass to reports

Here, azimuth means change in horizontal plane from launch.
Compass is reporting mag field strength in X/Y plane

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Remove hard-coded accel scale for mega eeprom
Keith Packard [Tue, 25 Feb 2020 19:54:11 +0000 (11:54 -0800)]
altoslib: Remove hard-coded accel scale for mega eeprom

I don't know why this is using a hard-coded value which only matches
early TeleMega v1 boards.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Correct sign of telemega v4 pitch
Keith Packard [Tue, 25 Feb 2020 19:51:57 +0000 (11:51 -0800)]
altoslib: Correct sign of telemega v4 pitch

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agolibaltos: Delay freeing serial device until not busy
Keith Packard [Tue, 25 Feb 2020 19:57:21 +0000 (11:57 -0800)]
libaltos: Delay freeing serial device until not busy

Just spins for a while waiting for reading thread to wake up and
return.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Fix Tmega v4 eeprom parsing
Keith Packard [Mon, 24 Feb 2020 00:43:23 +0000 (16:43 -0800)]
altoslib: Fix Tmega v4 eeprom parsing

Mangled the source while hacking things somehow; both accel and gyro
corrupted.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos/altoslib: BMX160 Y axis gyro direction is opposite from MPU
Keith Packard [Fri, 21 Feb 2020 08:19:25 +0000 (00:19 -0800)]
altos/altoslib: BMX160 Y axis gyro direction is opposite from MPU

Just need to flip the sign to make the values go the same direction.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Adjust comment about how the BMX160 is oriented
Keith Packard [Fri, 21 Feb 2020 07:43:01 +0000 (23:43 -0800)]
altos: Adjust comment about how the BMX160 is oriented

Bdale promises to make them all the same.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoao-tools: Handle TeleMega v4.0 telemetry in ao-telem
Keith Packard [Fri, 21 Feb 2020 07:42:24 +0000 (23:42 -0800)]
ao-tools: Handle TeleMega v4.0 telemetry in ao-telem

Same packet format as older telemega, but axes differ

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Correct IMU axes for telemetry data
Keith Packard [Fri, 21 Feb 2020 07:41:27 +0000 (23:41 -0800)]
altoslib: Correct IMU axes for telemetry data

The telem data was assuming original TeleMega sensor orientation.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Init BMX160 more carefully
Keith Packard [Fri, 21 Feb 2020 06:53:31 +0000 (22:53 -0800)]
altos: Init BMX160 more carefully

Check accel and gyro power status after turning them on, waiting
for a while to see if they actually power up.

Read more registers after configuring accel to try and get things
reset better.

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

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoao-tools: Add TeleMega v4.0 to ao-eeprom
Keith Packard [Fri, 21 Feb 2020 06:44:54 +0000 (22:44 -0800)]
ao-tools: Add TeleMega v4.0 to ao-eeprom

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Remove ADXL375 debug noise
Keith Packard [Fri, 21 Feb 2020 06:35:54 +0000 (22:35 -0800)]
altoslib: Remove ADXL375 debug noise

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Get BMX160 initialized correctly
Keith Packard [Fri, 21 Feb 2020 00:51:15 +0000 (16:51 -0800)]
altos: Get BMX160 initialized correctly

 1. Don't reboot at startup. This probably takes a lot longer
    than 100ms.

 2. Power up acc and gyr before attempting to configure

 3. Clear data registers after setting acc range

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Copy BMX160 data to data ring
Keith Packard [Fri, 21 Feb 2020 00:23:33 +0000 (16:23 -0800)]
altos: Copy BMX160 data to data ring

Otherwise you get a lot of zero

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Log BMX160 data when present
Keith Packard [Fri, 21 Feb 2020 00:12:43 +0000 (16:12 -0800)]
altos: Log BMX160 data when present

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoBump version for new android upload android-26
Keith Packard [Wed, 19 Feb 2020 22:30:50 +0000 (14:30 -0800)]
Bump version for new android upload

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltosuilib: Eliminate a couple java compiler warnings
Keith Packard [Wed, 19 Feb 2020 22:01:15 +0000 (14:01 -0800)]
altosuilib: Eliminate a couple java compiler warnings

Were using new Integer(int), when just passing the int would
'auto-box' as necessary.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltosui: Add TeleMega v4.0 firmware to altosui packaged bits
Keith Packard [Fri, 14 Feb 2020 00:00:43 +0000 (16:00 -0800)]
altosui: Add TeleMega v4.0 firmware to altosui packaged bits

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agodoc: updates for 1.9.2
Keith Packard [Thu, 13 Feb 2020 23:59:25 +0000 (15:59 -0800)]
doc: updates for 1.9.2

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Pass all flight records while reading telem file
Keith Packard [Thu, 13 Feb 2020 23:39:08 +0000 (15:39 -0800)]
altoslib: Pass all flight records while reading telem file

This makes sure we get complete GPS and setup information before
the flight starts.

To make this work, have data skipped when building time series
instead, and have realtime replay fast-forward through the initial
data

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltosuilib: Put units on GPS altitude and height in info table
Keith Packard [Thu, 13 Feb 2020 23:38:34 +0000 (15:38 -0800)]
altosuilib: Put units on GPS altitude and height in info table

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Report raw baro height instead of kalman filtered value
Keith Packard [Thu, 13 Feb 2020 23:36:57 +0000 (15:36 -0800)]
altoslib: Report raw baro height instead of kalman filtered value

Report raw sensor values to the user during flight.

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