fw/altos
6 years agoprepare to upload debian/1.6.8-5
Bdale Garbee [Sat, 22 Apr 2017 18:08:51 +0000 (12:08 -0600)]
prepare to upload

6 years agoaltos/telegps: Inherit LDFLAGS from lpc make specification
Keith Packard [Fri, 14 Apr 2017 03:16:52 +0000 (21:16 -0600)]
altos/telegps: Inherit LDFLAGS from lpc make specification

Somethings messed up with cortex-M0 linking, and this isn't helping as
it overrides the LDFLAGS coming from the architecture.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 years agoao-tools/ao-flash-lpc: Adapt to current openocd LPC support
Keith Packard [Thu, 2 Mar 2017 21:37:12 +0000 (13:37 -0800)]
ao-tools/ao-flash-lpc: Adapt to current openocd LPC support

Openocd 0.9.0 has generalized the lpc11xx support for all lpc11xx
processors, not just the lpc11u14. This replaces the specific
lpc11u14.cfg with the general lpc11xx.cfg file.

Unlike the build we were using, this doesn't adjust the
'verify' command to adapt for the checksum which gets added during the
flashing process. Hence, we disable verification and trust that if the
flash loader works to load the OS, it's fine.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 years agoao-elftohex: Add conditions for skipping ELF sections
Keith Packard [Sun, 9 Apr 2017 19:48:54 +0000 (12:48 -0700)]
ao-elftohex: Add conditions for skipping ELF sections

Skip sections with size 0, or which are of type SHT_NOBITS or which
don't have the SHF_ALLOC flag set.

This avoids crashing on sections which don't have any data to copy.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 years agoaltos/lpc,altos/stmf0: Use -n flag to work around link editor issue
Keith Packard [Sat, 22 Apr 2017 00:06:23 +0000 (17:06 -0700)]
altos/lpc,altos/stmf0: Use -n flag to work around link editor issue

Something changed in the link editor which makes it complain about 'no
space for program headers' on LPC and STMF0 builds. Somehow, adding
the '-n' flag to the linking step fixes it. It doesn't appear to break
the build, so I guess it's ok?

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoneed patch to handle cherry-pick debian/1.6.8-4
Bdale Garbee [Wed, 25 Jan 2017 19:31:15 +0000 (12:31 -0700)]
need patch to handle cherry-pick

7 years agoadd changelog entry for Debian package build
Bdale Garbee [Wed, 25 Jan 2017 19:22:49 +0000 (12:22 -0700)]
add changelog entry for Debian package build

7 years agoaltos/arm: Align data so that gcc 5.4 doesn't do byte-accesses. Add -Wcast-align
Keith Packard [Sun, 18 Dec 2016 04:58:36 +0000 (20:58 -0800)]
altos/arm: Align data so that gcc 5.4 doesn't do byte-accesses. Add -Wcast-align

Gcc 5.4.1 tracks alignment of data through assignments, so that a
uint32_t pointer which comes from byte-aligned uint8_t data:

extern uint8_t foo[];

uint32_t *q = (void *) foo;

Fetches and stores through this pointer are done bytewise. This is
slow (meh), but if q references a device register, things to bad very
quickly.

This patch works around this bug in the compiler by adding
__attribute__((aligned(4))) tags to some variables, or changing them
from uint8_t to uint32_t. Places doing this will now be caught as I've
added -Wcast-align to the compiler flags. That required adding (void
*) casts, after the relevant code was checked to make sure the
compiler could tell that the addresses were aligned.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoneed a patch to handle cherry-pick debian/1.6.8-3
Bdale Garbee [Tue, 13 Dec 2016 07:24:34 +0000 (00:24 -0700)]
need a patch to handle cherry-pick

7 years agoupdate changelog for Debian build
Bdale Garbee [Tue, 13 Dec 2016 07:21:12 +0000 (00:21 -0700)]
update changelog for Debian build

7 years agoaltos/stm: Make ao_usb_set_address static. Saves a bunch of text space
Keith Packard [Tue, 13 Dec 2016 00:44:47 +0000 (16:44 -0800)]
altos/stm: Make ao_usb_set_address static. Saves a bunch of text space

I'm sure this makes the function end up in-lined, which saves enough
text space to fit the flash loader in ROM again.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agowe need a patch to handle pdclib change debian/1.6.8-2
Bdale Garbee [Sun, 2 Oct 2016 23:56:45 +0000 (17:56 -0600)]
we need a patch to handle pdclib change

7 years agoupdate changelog for Debian build
Bdale Garbee [Sun, 2 Oct 2016 23:50:15 +0000 (17:50 -0600)]
update changelog for Debian build

7 years agoUpdate pdclib to version using arm-specific 'ar' program
Keith Packard [Thu, 22 Sep 2016 00:23:34 +0000 (03:23 +0300)]
Update pdclib to version using arm-specific 'ar' program

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoupdate changelog for Debian build debian/1.6.8-1
Bdale Garbee [Tue, 6 Sep 2016 03:03:13 +0000 (21:03 -0600)]
update changelog for Debian build

7 years agoMerge branch 'branch-1.6' into debian
Bdale Garbee [Tue, 6 Sep 2016 03:01:35 +0000 (21:01 -0600)]
Merge branch 'branch-1.6' into debian

7 years agoupdate Changelog for release branch-1.6 1.6.8
Bdale Garbee [Tue, 6 Sep 2016 03:00:44 +0000 (21:00 -0600)]
update Changelog for release

7 years agoMerge branch 'master' into branch-1.6
Bdale Garbee [Tue, 6 Sep 2016 02:59:11 +0000 (20:59 -0600)]
Merge branch 'master' into branch-1.6

7 years agoRemove pyro wizard file from master
Keith Packard [Tue, 6 Sep 2016 02:55:17 +0000 (20:55 -0600)]
Remove pyro wizard file from master

This isn't done yet.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump version to 1.6.8
Keith Packard [Tue, 6 Sep 2016 02:46:05 +0000 (20:46 -0600)]
Bump version to 1.6.8

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Don't ship TeleMetrum v3.0 firmware (yet)
Keith Packard [Tue, 6 Sep 2016 02:45:12 +0000 (20:45 -0600)]
altosui: Don't ship TeleMetrum v3.0 firmware (yet)

We haven't finished this yet, so don't deliver firmware for it.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoAdd 1.6.8 release notes
Keith Packard [Sun, 4 Sep 2016 02:02:35 +0000 (21:02 -0500)]
Add 1.6.8 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Set SPI slave DMA priority to HIGH/VERY_HIGH
Keith Packard [Sat, 3 Sep 2016 06:21:34 +0000 (01:21 -0500)]
altos/stm: Set SPI slave DMA priority to HIGH/VERY_HIGH

Set spi slave DMA priority MOSI to HIGH and MISO to VERY_HIGH. Slave
SPI doesn't have the luxury of slowing down when the system is busy,
so provide it maximum memory bandwidth to try and keep up with the
master.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Set i2c recv DMA to HIGH
Keith Packard [Sat, 3 Sep 2016 06:20:20 +0000 (01:20 -0500)]
altos/stm: Set i2c recv DMA to HIGH

Make sure receive DMA is higher than any TX dma so that
it always runs in preference.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Set MISO DMA priority to HIGH to avoid OVR
Keith Packard [Sat, 3 Sep 2016 05:55:19 +0000 (00:55 -0500)]
altos/stm: Set MISO DMA priority to HIGH to avoid OVR

When the MISO DMA priority is too low, and the processor gets busy,
it's possible for SPI input to overrun the processor, which causes the
MISO DMA to get out of sync and never finish. Set the MISO DMA
priority to HIGH to avoid this.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Create funcs to set SPI DMA parameters
Keith Packard [Sat, 3 Sep 2016 05:53:44 +0000 (00:53 -0500)]
altos/stm: Create funcs to set SPI DMA parameters

Instead of having nearly duplicate versions of the SPI DMA
configuration calls, create helper funcs that do most of the work so
that the SPI API funcs are shorter and clearer.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Make ao_spi_duplex out pointer const
Keith Packard [Sat, 3 Sep 2016 05:52:12 +0000 (00:52 -0500)]
altos/stm: Make ao_spi_duplex out pointer const

Provides a bit better typechecking opportunities for this function.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump version to 1.6.7.1
Keith Packard [Sat, 3 Sep 2016 04:40:03 +0000 (23:40 -0500)]
Bump version to 1.6.7.1

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/ao-cal-freq: Re-open usb device each try
Keith Packard [Sat, 3 Sep 2016 04:36:36 +0000 (23:36 -0500)]
ao-tools/ao-cal-freq: Re-open usb device each try

Instead of trying to re-use the same file descriptor, close and
re-open the device each time around the loop to avoid getting stuck
when calibrating TeleMega boards.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/ao-usbload: Fix -f flag, remove debug hacks
Keith Packard [Sat, 3 Sep 2016 04:34:47 +0000 (23:34 -0500)]
ao-tools/ao-usbload: Fix -f flag, remove debug hacks

The code to validate the usb id and product name had some debug hacks
left enabled, which caused it to fail. The short -f version of the
force flag was also not getting parsed correctly.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-bringup/turnon_telemetrum: serial on cmd line. Loop on accel fail
Keith Packard [Sat, 3 Sep 2016 04:33:27 +0000 (23:33 -0500)]
ao-bringup/turnon_telemetrum: serial on cmd line. Loop on accel fail

These make the script easier to use

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Deal with connect failure in AltosConfigTD
Keith Packard [Fri, 2 Sep 2016 21:13:25 +0000 (16:13 -0500)]
altosui: Deal with connect failure in AltosConfigTD

When the USB connection times out, abort any pending operations and
clean up the thread correctly. Also, deal with the serial line being
closed by checking for null.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/ao-cal-freq: --verbose option has no parameter
Keith Packard [Thu, 1 Sep 2016 03:27:10 +0000 (21:27 -0600)]
ao-tools/ao-cal-freq: --verbose option has no parameter

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-bringup: telemega allow serial on command line, loop on accel fail
Keith Packard [Thu, 1 Sep 2016 03:25:59 +0000 (21:25 -0600)]
ao-bringup: telemega allow serial on command line, loop on accel fail

Allow the serial number on the turnon_telemega command line, instead
of reading it.

When accel cal fails, loop waiting for it to succeed instead of
continuing blindly.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/cc1120: remove unused status from ao_radio_fifo_write_stop
Keith Packard [Mon, 29 Aug 2016 16:27:53 +0000 (09:27 -0700)]
altos/cc1120: remove unused status from ao_radio_fifo_write_stop

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-usbload: Check target device name to avoid mis-flashing
Keith Packard [Sun, 14 Aug 2016 22:57:39 +0000 (15:57 -0700)]
ao-usbload: Check target device name to avoid mis-flashing

Instead of blindly loading firmware, go get the old device's name and
make sure it matches the new firmware.

Add --force option to allow this to be overridden.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-chaosread: Parse -i and -b options
Keith Packard [Sun, 14 Aug 2016 22:55:13 +0000 (15:55 -0700)]
ao-chaosread: Parse -i and -b options

Need to pass the single-byte verisons to getopt_long

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump verison to 1.6.7
Keith Packard [Tue, 9 Aug 2016 05:40:41 +0000 (22:40 -0700)]
Bump verison to 1.6.7

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stmf0: Switch ADC fast to ADC clock
Keith Packard [Tue, 9 Aug 2016 05:39:16 +0000 (22:39 -0700)]
altos/stmf0: Switch ADC fast to ADC clock

Using this slower clock eliminates sampling problems with the ADC and
cleans up the chaoskey raw data.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Flash all LEDS during power on
Keith Packard [Thu, 4 Aug 2016 16:54:16 +0000 (09:54 -0700)]
altos: Flash all LEDS during power on

This tests the LEDS to make sure they all work on the following devices:

easymega-v1.0
telebt-v3.0
teledongle-v3.0
telemega-v1.0
telemega-v2.0
telemetrum-v2.0

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-bringup: Add colors to chaoskey test result reporting
Keith Packard [Thu, 4 Aug 2016 16:52:05 +0000 (09:52 -0700)]
ao-bringup: Add colors to chaoskey test result reporting

This makes them show up nice and bright in the terminal window.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump to version 1.6.6
Keith Packard [Tue, 2 Aug 2016 23:35:36 +0000 (16:35 -0700)]
Bump to version 1.6.6

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-bringup: Use released files for chaoskey turnon
Keith Packard [Tue, 2 Aug 2016 23:52:39 +0000 (16:52 -0700)]
ao-bringup: Use released files for chaoskey turnon

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-bringup: Test chaoskey using dieharder
Keith Packard [Tue, 2 Aug 2016 23:30:15 +0000 (16:30 -0700)]
ao-bringup: Test chaoskey using dieharder

This uses a subset of the dieharder tests which run in reasonable time
and don't appear to emit false negatives on a regular basis.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-chaosread: Eliminate double-free when serial match fails
Keith Packard [Tue, 2 Aug 2016 23:53:17 +0000 (16:53 -0700)]
ao-chaosread: Eliminate double-free when serial match fails

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-chaosread: Add --infinite and --bytes options
Keith Packard [Tue, 2 Aug 2016 23:28:17 +0000 (16:28 -0700)]
ao-chaosread: Add --infinite and --bytes options

The --infinite option keeps writing data.
The --bytes options pulls out bits 1-8 which should provide 8 true
bits of entropy.

This combination allows ao-chaosread to be fed directly into dieharder
to validate the hardware.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Use standard FIPS testing for chaoskey
Keith Packard [Tue, 2 Aug 2016 23:26:49 +0000 (16:26 -0700)]
altos: Use standard FIPS testing for chaoskey

Check to make sure we aren't repeating a block coming from the
unwhitened source, which is the standard online FIPS test for RNGs.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stmf0: Clean .bin files from flash-loader dirs
Keith Packard [Tue, 2 Aug 2016 23:53:50 +0000 (16:53 -0700)]
altos/stmf0: Clean .bin files from flash-loader dirs

The .bin files are what the DFU utility uses to flash the boot loader
using USB.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stmf0: Hook up clock output support
Keith Packard [Tue, 2 Aug 2016 23:32:43 +0000 (16:32 -0700)]
altos/stmf0: Hook up clock output support

This was used to try and not have two xtals on telemini, but failed
because the provided clock has too much noise.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make telelcotwo control two boxes instead of two pads
Keith Packard [Tue, 2 Aug 2016 23:31:41 +0000 (16:31 -0700)]
altos: Make telelcotwo control two boxes instead of two pads

telefiretwo is now a single pad box, so telelcotwo needs to switch
between boxes instead of pads on the same box. Do this by re-purposing
the pad arming switches into a box selector and arming switch.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add 'ao_button_get' to button driver
Keith Packard [Thu, 28 Jul 2016 04:28:34 +0000 (21:28 -0700)]
altos: Add 'ao_button_get' to button driver

This returns the current state of the button; useful to check what the
value is at startup.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Add a 'seconds' method to AltosGPS
Keith Packard [Tue, 2 Aug 2016 23:33:52 +0000 (16:33 -0700)]
altoslib: Add a 'seconds' method to AltosGPS

This computes the time in seconds since the epoch from GPS time
information.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Stop building cc1111-based telemini v2.0 firmware
Keith Packard [Wed, 27 Jul 2016 20:29:20 +0000 (13:29 -0700)]
altos: Stop building cc1111-based telemini v2.0 firmware

This product never worked, so stop insisting that it actually build.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Don't switch to flight 0 when log fills in flight
Keith Packard [Wed, 27 Jul 2016 20:26:22 +0000 (13:26 -0700)]
altos: Don't switch to flight 0 when log fills in flight

If the log is full at startup, we want to transmit flight 0 to let the
ground station know. However, we don't want to switch to flight 0 in
flight, so save the initial telemetry flight number (0 or the real
flight number) at startup and use that throughout the flight.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Expose cc1200 radio test functions for telemini bringup
Keith Packard [Wed, 27 Jul 2016 20:24:57 +0000 (13:24 -0700)]
altos: Expose cc1200 radio test functions for telemini bringup

This exposes the cc1200 radio test function so we can load special
test firmware in telemini to do the radio cal as it has no USB to
perform that interactively.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agofixup for interleave
Keith Packard [Wed, 27 Jul 2016 20:23:06 +0000 (13:23 -0700)]
fixup for interleave

7 years agoaltos: Don't access cc1120 SPI bus during recv after abort has started
Keith Packard [Wed, 27 Jul 2016 20:17:51 +0000 (13:17 -0700)]
altos: Don't access cc1120 SPI bus during recv after abort has started

When the receive timeout happens, the radio may still interrupt while
the SPI bus is getting shut down. If this happens, the interrupt
handler shouldn't touch the SPI bus at all as it may well be turned
off, which would cause the receive function to wedge waiting for a spi
byte transfer to happen.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Keep telemetry and command output from interleaving
Keith Packard [Wed, 27 Jul 2016 19:24:27 +0000 (12:24 -0700)]
altos: Keep telemetry and command output from interleaving

When monitoring telemetry, the frame needs to be sent together on one
line, not split with the output of a command (like 'a') mixed in.

Use a mutex for products with monitoring to keep command output and
telemetry output each on separate lines.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add STM32F0 beep and SPI byte API.
Keith Packard [Sat, 2 Jul 2016 18:00:01 +0000 (20:00 +0200)]
altos: Add STM32F0 beep and SPI byte API.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Show indicator when they switch from invalid back to valid
Keith Packard [Wed, 13 Jul 2016 04:06:23 +0000 (21:06 -0700)]
altosuilib: Show indicator when they switch from invalid back to valid

The 'hide' value wasn't getting reset to 'false' each time the state
of the indicators was checked, so indicators would get hidden and then
never shown again.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump version to 1.6.5.1 after 1.6.5 release
Keith Packard [Wed, 13 Jul 2016 04:06:05 +0000 (21:06 -0700)]
Bump version to 1.6.5.1 after 1.6.5 release

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add telemetrum v3.0
Keith Packard [Tue, 12 Jul 2016 22:53:47 +0000 (15:53 -0700)]
altos: Add telemetrum v3.0

Like Telemetrum v2.0, but with cc1200 instead of cc1120

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoSwitch from GPLv2 to GPLv2+
Keith Packard [Tue, 5 Jul 2016 16:03:49 +0000 (18:03 +0200)]
Switch from GPLv2 to GPLv2+

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoupdate to latest Debian standards version
Bdale Garbee [Tue, 12 Jul 2016 18:56:27 +0000 (20:56 +0200)]
update to latest Debian standards version

7 years agoreinstate debian/ content on the debian branch only
Bdale Garbee [Tue, 5 Jul 2016 08:26:10 +0000 (10:26 +0200)]
reinstate debian/ content on the debian branch only

7 years agoMerge branch 'branch-1.6' into debian
Bdale Garbee [Tue, 5 Jul 2016 08:25:48 +0000 (10:25 +0200)]
Merge branch 'branch-1.6' into debian

7 years agoMerge branch 'master' into branch-1.6
Bdale Garbee [Tue, 5 Jul 2016 08:23:18 +0000 (10:23 +0200)]
Merge branch 'master' into branch-1.6

7 years agoremove debian/ from master branch, it should live only on the debian branch
Bdale Garbee [Tue, 5 Jul 2016 08:21:29 +0000 (10:21 +0200)]
remove debian/ from master branch, it should live only on the debian branch

7 years agoupdates made during 1.6.5 release process
Bdale Garbee [Mon, 4 Jul 2016 22:48:07 +0000 (00:48 +0200)]
updates made during 1.6.5 release process

7 years agoupdate changelog for Debian build debian/1.6.5-1
Bdale Garbee [Mon, 4 Jul 2016 21:49:02 +0000 (23:49 +0200)]
update changelog for Debian build

7 years agoMerge branch 'branch-1.6' into debian
Bdale Garbee [Mon, 4 Jul 2016 21:48:32 +0000 (23:48 +0200)]
Merge branch 'branch-1.6' into debian

7 years agoupdating ChangeLog for 1.6.5 release 1.6.5
Bdale Garbee [Mon, 4 Jul 2016 21:47:56 +0000 (23:47 +0200)]
updating ChangeLog for 1.6.5 release

7 years agoMerge branch 'master' into branch-1.6
Bdale Garbee [Mon, 4 Jul 2016 21:47:24 +0000 (23:47 +0200)]
Merge branch 'master' into branch-1.6

7 years agodoc: Build 1.6.5 release notes
Keith Packard [Sun, 3 Jul 2016 10:00:10 +0000 (12:00 +0200)]
doc: Build 1.6.5 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoCredit Chuck Haskin for helping fix the SPI bug.
Keith Packard [Sat, 2 Jul 2016 20:52:38 +0000 (22:52 +0200)]
Credit Chuck Haskin for helping fix the SPI bug.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump to 1.6.5. Add preliminary release notes
Keith Packard [Sat, 2 Jul 2016 20:08:58 +0000 (22:08 +0200)]
Bump to 1.6.5. Add preliminary release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/cc1111: Remove 'show tasks' command
Keith Packard [Fri, 1 Jul 2016 03:43:03 +0000 (20:43 -0700)]
altos/cc1111: Remove 'show tasks' command

This saves space on cc1111 parts.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump to testing version 1.6.4.2
Keith Packard [Wed, 29 Jun 2016 21:22:32 +0000 (14:22 -0700)]
Bump to testing version 1.6.4.2

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Use FIFO_THR pin for cc1120 transmit buffering
Keith Packard [Thu, 30 Jun 2016 01:41:24 +0000 (18:41 -0700)]
altos: Use FIFO_THR pin for cc1120 transmit buffering

Instead of reading NUM_TXBYTES, set the FIFO_THR pin to indicate when
64 bytes are available in the buffer.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Leave USB enabled in flight with -DDEBUG=1
Keith Packard [Thu, 30 Jun 2016 01:33:56 +0000 (18:33 -0700)]
altos: Leave USB enabled in flight with -DDEBUG=1

This leaves the command line available for diagnostics when debugging.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: clean up ao_exti_enable
Keith Packard [Wed, 29 Jun 2016 19:55:30 +0000 (12:55 -0700)]
altos/stm: clean up ao_exti_enable

Was computing (1 << pin) twice for no good reason.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make task list output more useful
Keith Packard [Wed, 29 Jun 2016 19:54:31 +0000 (12:54 -0700)]
altos: Make task list output more useful

Add the timeout value and task id

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/telemini-v2.0: Remove show tasks command
Keith Packard [Wed, 29 Jun 2016 23:07:22 +0000 (16:07 -0700)]
altos/telemini-v2.0: Remove show tasks command

There's not enough memory for this command, and it isn't necessary.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make ao_delay(0) not wait forever
Keith Packard [Wed, 29 Jun 2016 19:52:37 +0000 (12:52 -0700)]
altos: Make ao_delay(0) not wait forever

ao_delay() is implemented on top of ao_sleep_for, and ao_sleep_for
uses the timeout value of 0 to indicate an infinite timeout. Calls to
ao_delay for 0 ticks would unintentionally hit this case and end up
waiting forever.x

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: cc1200: use FIFO threshold pin output for APRS buffering
Keith Packard [Wed, 29 Jun 2016 19:49:16 +0000 (12:49 -0700)]
altos: cc1200: use FIFO threshold pin output for APRS buffering

Instead of polling the device for fifo space, just use the available
pin configuration to figure out if there is enough space for a single
APRS buffer. Then set the APRS buffer size to match the fifo threshold
setting in the chip so that we know we can write the whole APRS buffer
once the pin says there's space.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add debug check for irq block when editing task queues
Keith Packard [Wed, 29 Jun 2016 00:03:34 +0000 (17:03 -0700)]
altos: Add debug check for irq block when editing task queues

List manipulation operations are not atomic, so interrupts need to be
blocked while changing them.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/drivers: Use more reliable byte interface for CC1120 reception
Keith Packard [Wed, 29 Jun 2016 01:40:46 +0000 (18:40 -0700)]
altos/drivers: Use more reliable byte interface for CC1120 reception

This replaces direct register access with function calls to allow that
code to respect the hardware requirements.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Add better byte-level SPI api
Keith Packard [Wed, 29 Jun 2016 01:39:31 +0000 (18:39 -0700)]
altos/stm: Add better byte-level SPI api

This provides inline functions for sending and receiving individual
bytes, and setup/finish functions to wrap them in. This make the byte
sending respect the SPI hardware interface requirements.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Clean up spi_enable/disable_index functions
Keith Packard [Wed, 29 Jun 2016 01:37:49 +0000 (18:37 -0700)]
altos/stm: Clean up spi_enable/disable_index functions

These had an extra level of switch nesting for no good reason.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: move spi execution to common ao_spi_run
Keith Packard [Tue, 28 Jun 2016 06:25:01 +0000 (23:25 -0700)]
altos/stm: move spi execution to common ao_spi_run

This regularizes SPI hardware use and ensures that the device is
turned off after it has been used and that the status register is back
to 'normal' the next time through.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add STM SPI debugging
Keith Packard [Tue, 28 Jun 2016 06:26:20 +0000 (23:26 -0700)]
altos: Add STM SPI debugging

This dumps out the SPI hardware state and history of SPI operations
when compiled with -DDEBUG=1. Without that, this patch does nothing.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add STM DMA debugging
Keith Packard [Tue, 28 Jun 2016 00:26:19 +0000 (17:26 -0700)]
altos: Add STM DMA debugging

This provides a command that shows current DMA operations when
compiled with -DDEBUG=1. Without that, this patch has no effect.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Change ao_spi_send_sync definition to take const source
Keith Packard [Wed, 29 Jun 2016 01:25:44 +0000 (18:25 -0700)]
altos/stm: Change ao_spi_send_sync definition to take const source

Provides for a bit better error checking.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Add more SPI status register bits
Keith Packard [Wed, 29 Jun 2016 00:15:27 +0000 (17:15 -0700)]
altos/stm: Add more SPI status register bits

These weren't the original version of the docs that we had.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: use 0xff for dma mutex value for allocated mutexes
Keith Packard [Wed, 29 Jun 2016 00:12:48 +0000 (17:12 -0700)]
altos/stm: use 0xff for dma mutex value for allocated mutexes

DMA channels which are 'allocated' can't be shared. Instead of using
the value '1' in the related 'mutex', use 0xff which won't match any task.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: remove ao_dma_abort
Keith Packard [Wed, 29 Jun 2016 00:11:38 +0000 (17:11 -0700)]
altos/stm: remove ao_dma_abort

This function isn't used anywhere.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Move comment in ao_sleep_for next to related code
Keith Packard [Wed, 29 Jun 2016 00:09:00 +0000 (17:09 -0700)]
altos: Move comment in ao_sleep_for next to related code

The comment got moved to the wrong place

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Block interrupts while waking tasks sleeping on timers.
Keith Packard [Wed, 29 Jun 2016 00:04:59 +0000 (17:04 -0700)]
altos: Block interrupts while waking tasks sleeping on timers.

Interrupts may not be blocked in the timer ISR, but they need to be
while walking the pending timer list and moving tasks back to the run
queue.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Deliver firmware for Tmega 2.0 and TBT 3.0 for Windows too
Keith Packard [Tue, 28 Jun 2016 07:07:23 +0000 (00:07 -0700)]
altosui: Deliver firmware for Tmega 2.0 and TBT 3.0 for Windows too

1.6.4 added Tmega 2.0 and TBT 3.0 firmware to linux and mac, but
neglected windows.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoMark testing version 1.6.4.1
Keith Packard [Tue, 28 Jun 2016 06:28:28 +0000 (23:28 -0700)]
Mark testing version 1.6.4.1

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