fw/altos
11 hours agodoc: Add 1.9.5 release notes master
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>
11 hours 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>
11 hours 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>
11 hours 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>
11 hours 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>
11 hours 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>
11 hours 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>
11 hours 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>
11 hours 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>
7 days 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

7 days 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

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

7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks 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>
7 weeks agoaltos: Remove ao_led_toggle API from general code
Keith Packard [Sat, 8 Aug 2020 01:17:07 +0000 (18:17 -0700)]
altos: Remove ao_led_toggle API from general code

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

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

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

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

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

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

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

All of the hardware is working:

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

Now we just need an application

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

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

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

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

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

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

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

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos/stm32l0: More DMA fixes
Keith Packard [Tue, 23 Jun 2020 23:18:27 +0000 (16:18 -0700)]
altos/stm32l0: More DMA fixes

This code still doesn't work, but it should be closer'

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos: Micropeak v2.0 doesn't have a flash loader anymore
Keith Packard [Tue, 23 Jun 2020 23:17:03 +0000 (16:17 -0700)]
altos: Micropeak v2.0 doesn't have a flash loader anymore

The current version doesn't have USB, so the existing flash loader
protocol won't work anyways.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos/ao_storage: Allow apps to #define storage parameters
Keith Packard [Tue, 23 Jun 2020 23:16:28 +0000 (16:16 -0700)]
altos/ao_storage: Allow apps to #define storage parameters

This avoids placing them in RAM.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos/ao_storage: allow erased byte value to be set by application
Keith Packard [Tue, 23 Jun 2020 23:15:28 +0000 (16:15 -0700)]
altos/ao_storage: allow erased byte value to be set by application

External flash is usually 0xff for erased bytes, but other memory may
use different values

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoremove ao_delay_until from ao.h
Keith Packard [Tue, 23 Jun 2020 23:15:14 +0000 (16:15 -0700)]
remove ao_delay_until from ao.h

7 weeks agoaltos: Add ao_delay_until to ao_notask
Keith Packard [Tue, 23 Jun 2020 00:42:03 +0000 (17:42 -0700)]
altos: Add ao_delay_until to ao_notask

Used on micropeak

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos: Move empty ao_mutex_get/put to ao_notask.h
Keith Packard [Tue, 23 Jun 2020 00:41:11 +0000 (17:41 -0700)]
altos: Move empty ao_mutex_get/put to ao_notask.h

Make it work on any no-task project.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos: Declare ao_delay_until API in ao.h
Keith Packard [Sat, 20 Jun 2020 22:15:35 +0000 (15:15 -0700)]
altos: Declare ao_delay_until API in ao.h

This uses AO_TICK_TYPE which isn't defined until we get to ao.h

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos: Switch micropeak v2.0 to stm32l0
Keith Packard [Sat, 20 Jun 2020 22:14:26 +0000 (15:14 -0700)]
altos: Switch micropeak v2.0 to stm32l0

The stm32f042 takes too much power for micropeak. Try the stm32l0
instead.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos: Add initial stm32l0 support
Keith Packard [Sat, 20 Jun 2020 22:13:09 +0000 (15:13 -0700)]
altos: Add initial stm32l0 support

A low-power cortex M0 chip for MicroPeak v2.0

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos: Fix a bunch of time variables to be AO_TICK_TYPE
Keith Packard [Sat, 20 Jun 2020 22:00:28 +0000 (15:00 -0700)]
altos: Fix a bunch of time variables to be AO_TICK_TYPE

The default tick type is now 32 bits, so all of these
variables were mis-typed at 16 bits.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltos/stm: Fix stack validation code
Keith Packard [Sat, 8 Aug 2020 03:08:34 +0000 (20:08 -0700)]
altos/stm: Fix stack validation code

This is not included by default, and broke at some point.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agodoc: EasyMotor and EasyTimer have the same mounting geometry as EasyMini
Bdale Garbee [Mon, 3 Aug 2020 18:43:22 +0000 (12:43 -0600)]
doc: EasyMotor and EasyTimer have the same mounting geometry as EasyMini

7 weeks agoaltos/stmf0, stm32f0: Call ao_boot_chain to start application
Keith Packard [Mon, 3 Aug 2020 00:29:44 +0000 (17:29 -0700)]
altos/stmf0, stm32f0: Call ao_boot_chain to start application

This used to be done inside ao_boot_check_chain or ao_boot_check_pin,
but it made more sense to have it done in _start instead. stm and lpc
were adjusted, but stmf0 and stm32f4 were missed.

This caused boards using this process to wedge in the boot loader.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 weeks agoaltosui: Re-set pad orientation labels after product name is set
Keith Packard [Sun, 2 Aug 2020 20:31:58 +0000 (13:31 -0700)]
altosui: Re-set pad orientation labels after product name is set

We don't know what product is being configured until after we query
the configuration, which means we need to re-set the orientation label
once that has been fetched.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoaltos: Use new ao_spi_speed inline to set SPI speeds using spec'd frequencies
Keith Packard [Wed, 29 Jul 2020 17:53:39 +0000 (10:53 -0700)]
altos: Use new ao_spi_speed inline to set SPI speeds using spec'd frequencies

Instead of hand-adjusting SPI speeds for each driver and product based
on processor supported rates, create an inline function that takes the
maximum frequency supported by the device and maps that to a value
supported by the SoC. This ensures that we don't accidentally drive devices
faster than they want (as could happen with AO_SPI_SPEED_FAST), but do go
as fast as possible in every configuration. Using an inline function means
the value is computed at compile time.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoaltos: Support flash parts > 8MB
Keith Packard [Wed, 29 Jul 2020 06:44:33 +0000 (23:44 -0700)]
altos: Support flash parts > 8MB

The number of sectors (64kB) units in the connected flash
part can be larger than 255, so switch from 8-bits to 32-bits for
holding this value.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoaltos: Protect shared storage_data with mutex
Keith Packard [Wed, 29 Jul 2020 06:43:04 +0000 (23:43 -0700)]
altos: Protect shared storage_data with mutex

As storage_data is shared between all threads, protect it
with a mutex to avoid collisions.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 weeks agoaltos/stm: Increase MISO DMA priority to very high
Keith Packard [Wed, 29 Jul 2020 06:40:36 +0000 (23:40 -0700)]
altos/stm: Increase MISO DMA priority to very high

We're still losing incoming bytes in full duplex mode.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Wed, 22 Jul 2020 21:23:02 +0000 (15:23 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

2 months agoao-bringup: ensure TeleMega turnon scripts are using the right test versions
Bdale Garbee [Wed, 22 Jul 2020 21:22:21 +0000 (15:22 -0600)]
ao-bringup: ensure TeleMega turnon scripts are using the right test versions

2 months agoaltos: Add 'booster' mode for dual-deploy igniters
Keith Packard [Wed, 22 Jul 2020 16:04:30 +0000 (09:04 -0700)]
altos: Add 'booster' mode for dual-deploy igniters

Booster mode triggers the 'main' channel at first motor burnout
allowing the use of a simple flight computer in the booster while
providing both a separation charge and an apogee event for recovery.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Use state transitions to directly drive igniters
Keith Packard [Wed, 22 Jul 2020 15:57:05 +0000 (08:57 -0700)]
altos: Use state transitions to directly drive igniters

Instead of a separate igniter API, have the igniter code monitor
flight state changes to trigger igniter events. This simplifes the
code while allowing further changes in the igniter code.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoReleasing: save .map files too
Keith Packard [Wed, 22 Jul 2020 15:56:10 +0000 (08:56 -0700)]
Releasing: save .map files too

These are useful to debug issues with linker scripts or library problems

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoAdd support for TLS if needed
Keith Packard [Thu, 16 Jul 2020 17:23:34 +0000 (10:23 -0700)]
Add support for TLS if needed

Define USE_TLS if you want TLS support from altos.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosui: Spurious ; in altos-windows.nsi.in kept out TM v3.0 ihx
Keith Packard [Thu, 16 Jul 2020 16:29:52 +0000 (09:29 -0700)]
altosui: Spurious ; in altos-windows.nsi.in kept out TM v3.0 ihx

Looks like a semicolon got stuck in this file, which commented out the
TeleMetrum v3.0 firmware from being included in the windows build

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoVersion 1.9.4
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>
2 months 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>
2 months 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>
2 months 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>
2 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months 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>
3 months agoAdd some release note notes
Keith Packard [Tue, 9 Jun 2020 05:08:28 +0000 (22:08 -0700)]
Add some release note notes

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