+commit 9c95bed92a45741e6c1ad0ab4941f13370b77648
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 24 15:47:08 2017 -0700
+
+ Bump to version 1.7
+
+ TeleMini v3.0 support
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 3544c33c2f386fb292de9e74982717a002f37440
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 24 17:11:03 2017 -0700
+
+ altoslib: renamed AltosSensorTMini2, but didn't update AltosIdleFetch
+
+ Because Java found the old installed version of this library. Thanks!
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5914231bfe8220a92dde17901b952e919a40d568
+Author: Bdale Garbee <bdale@gag.com>
+Date: Mon Apr 24 17:18:10 2017 -0600
+
+ update copyright year in docs
+
+commit 8e5b4359050701513a807131564ae54f2e6b919b
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 24 16:40:46 2017 -0700
+
+ altos/ao_pad.c: Use #if HAS_LOG instead of #ifdef HAS_LOG
+
+ TeleFire v0.1 defines HAS_LOG to 0.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c57a5c018e4bd0a0033c8759132a648977bf45f7
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 24 15:59:23 2017 -0700
+
+ doc: Errors in the TeleMini v3.0 updates found by Bdale
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit b6b58aa2fbae1e7782b5a0b700544efe319fe34e
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Apr 22 22:04:31 2017 -0700
+
+ altos: Move old AO_LAUNCH defines to cc1111/ao_launch.h
+
+ These were getting accidentally used by ao_pad.c
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit cd291d38b92b31c3612e6de6cdf4e5988fc01c12
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sun Apr 23 00:02:47 2017 -0600
+
+ allow multiple tests to be logged on telefiretwo without rebooting
+
+commit d75351c5a07241bcbb951758796b4f639ace6b1f
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 23:42:23 2017 -0600
+
+ implement static test start and stop protocol for telefiretwo+telebt
+
+commit 6cfd9411026d536b5b75098b8c9ec3ceb3d945aa
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 23:02:53 2017 -0600
+
+ eliminate spurious close braces
+
+commit e3b30d4bd6faf68c885791fb87229558cc1157a6
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 23:01:44 2017 -0600
+
+ add static test start and stop commands to radio protocol for telefiretwo
+
+commit e5e0ce18b2ae684896a6d7d0a4c10269199d95b5
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 23:01:26 2017 -0600
+
+ enable logging support in telefiretwo
+
+commit e05b281e6d1a7a4fa92d52f2491f27266045df96
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 17:20:41 2017 -0600
+
+ cobble up a command to toggle logging on/off on TeleFireTwo
+
+commit db12c17e9538bd82f2c2bf21357887ee7d894a1c
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 16:59:03 2017 -0600
+
+ a stab at turning on rudimentary logging for telefiretwo
+
+commit 6804ead7f7e54ff34b257e10e381dc52d5a61b06
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Apr 22 15:55:48 2017 -0700
+
+ altoslib: Add TeleFireTwo eeprom support
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 359e2d6eca5258f4fabc59772f1320e195a7397c
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 16:36:18 2017 -0600
+
+ fleshing out logging for telefiretwo
+
+commit 439a51ed503b74c1739cf150cdc91685653deed0
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 15:45:52 2017 -0600
+
+ enable spi flash on telefiretwo
+
+commit ffc90fa3f932aef4dd85147817949aa9474b6d26
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 22 11:38:08 2017 -0600
+
+ fix TeleFireTwo product name in ao-list output
+
+commit 4682323a4bf147b9a908f5f9104bf01ab2cf0533
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 23:02:57 2017 -0700
+
+ altos/stmf0: Pull beeper pin low when beeper is off
+
+ This avoids having the pin float and pick up noise from any adjacent
+ signals, like TeleMini's radio.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit eb1c2bf5244840049c0a58e0ceecfcd9f5c290dd
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 22:24:00 2017 -0700
+
+ doc: Finish updates for v1.7
+
+ Scrub all TeleMini references and make sure they're fixed for v3. No
+ 'emergency' mode yet. No reflashing yet.
+
+ Add v1.7 release notes.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5849ee6c09669e6d2e6940a76bcb5cc23178fc68
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 21:32:26 2017 -0700
+
+ altos/lpc: Really fix aes entry in lpc vpath
+
+ I added another entry instead of fixing the existing one. Not ideal.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c833c93e812936125cfe9532523ea36b5046e58d
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 18:16:45 2017 -0700
+
+ Replace turnon_telemini with v3 version. Add test-teleminiv3
+
+ Prepare for TeleMini v3.0 release.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 8978687dc2ae90e4005a8f7d598940b7df6a4359
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 18:08:25 2017 -0700
+
+ doc: Update TeleMini v3 photos to production unit
+
+ Replace prototype photos
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 86a54146b58be86c58fb45386c7abcfa0bb11677
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 17:15:05 2017 -0700
+
+ alots/stmf0: Fix vpath entry for AES directory
+
+ Mis-placed )
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 64ac93f5495db7a8b06f1eb4fe4eb2418125d792
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 17:06:23 2017 -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>
+
+commit 77c76e429074a53c1c5230a7b5e665d1715b296f
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 17:04:28 2017 -0700
+
+ altos/telemini-v3.0: Remove vestiges of the pre-USB code
+
+ Pre-USB telemini v3 designs had a separate firmware load for radio
+ calibration. Now that we've got enough USB to perform flash/cal/test,
+ we don't need that other firmware load, so we can remove the remaining
+ Makefile remnants of the calibration load.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit adb842b64b04a7d70e543bad7ae59807d549e85a
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 16:40:58 2017 -0700
+
+ altos/lpc: Add (void *) cast to fix alignment warning
+
+ The -Wcast-align warning is generated when this cast is not present.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 51ce352d179835ca08e4cf9326e9e77d6b972fb7
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 09:18:48 2017 -0700
+
+ altos/lpc: Fix up Makefile definitions
+
+ vpath reference to aes was busted.
+ WARN_CFLAGS needs -Wcast-align.
+ Wrap AO_CFLAGS.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit ec319edd2cda321d7542784b997acd0da040fa3d
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Apr 21 09:17:18 2017 -0700
+
+ ao-test-baro: Be more lax about altitude checks
+
+ High pressure here today and the altimeter is reading -69m. Allow down
+ to -100m when testing baro values.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 7db49a2052ec905cdc02f626c0933ca6889d64a4
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 19 23:08:56 2017 -0700
+
+ altos/telemini-v3.0: Add flash loader
+
+ Now that telemini has USB, use the boot loader to make it easy to
+ update firmware.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d1ba276c6e54564f82920f65bf4c19df85c9ea56
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 19 23:08:06 2017 -0700
+
+ altos/telemini-v3.0: Update to production hardware
+
+ Removed LEDs. Added USB. Flipped lots of pins around.
+
+ This appears to make telemini work.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 93983730a6628a2a85b6fc543df236b35d501ee9
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 19 16:00:24 2017 -0700
+
+ altos/telebt-v3.0: Add LCO bits for testing
+
+ Add the USB commands for LCO testing to TeleBT v3.0
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 944d8466a31842c34304b77364d632e259238018
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Apr 19 14:19:28 2017 -0700
+
+ altos/telefiretwo-v0.2: Add AO_CC1200_SPI_SPEED
+
+ Needed for products with different SPI speed options.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1e7143e5d448cd05c355f4a323ae4892b02022ac
+Author: Bdale Garbee <bdale@gag.com>
+Date: Wed Apr 19 15:08:15 2017 -0600
+
+ add new ADC channels for telefiretwo
+
+commit 6e699fa4971668bbe569d2a0e2ed9f891877d140
+Author: Bdale Garbee <bdale@gag.com>
+Date: Tue Apr 18 16:47:43 2017 -0600
+
+ need top level Makefile too
+
+commit 9fa46346d576081f99860cad96c91bcf63233649
+Author: Bdale Garbee <bdale@gag.com>
+Date: Tue Apr 18 16:47:05 2017 -0600
+
+ builds, loads, runs, not very useful yet
+
+commit 207403e53cc80b0649ce3c004f97d8e1dad824c8
+Author: Bdale Garbee <bdale@gag.com>
+Date: Tue Apr 18 16:33:27 2017 -0600
+
+ copy telefiretwo-v0.2 to start firmware for v1.0
+
+commit f69d85e2b32370ab68e2725e739417cad6d7a590
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 13 21:48:46 2017 -0600
+
+ telegps-v2.0: Remove fec_tx code and ADC logging.
+
+ This gets telegps-v2.0 to link.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 4e561ae43a734d870470e36c41232482bd5f398f
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 13 21:47:14 2017 -0600
+
+ altos/stmf0: Split up rom load in altos.ld to make linker happy
+
+ The linker isn't happy when the .ld file tries to add text, the .exidx
+ and .rodata segments in the same block. Split them up for success.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit a5c8b8c59f99108233d99ceceb6f85315694e4b1
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 13 21:18:58 2017 -0600
+
+ cortexelf-v1: Fetch data at TPB rising when MWR or MRD are low
+
+ This should get the right value at least.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 3390c62b6d0761764ec5249d72bda33b984a8f90
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Apr 13 21:16:52 2017 -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>
+
+commit f18793efb1fbfd17963b9146fae084f2b843d7a3
+Author: Bdale Garbee <bdale@gag.com>
+Date: Thu Apr 13 19:36:49 2017 -0600
+
+ initial cut at telegps-v2.0 firmware
+
+commit eb0b2b4e9f56d1d6fc2b06e39c8372dfcdf3b1f5
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 9 13:03:50 2017 -0700
+
+ cortexelf-v1: Initialize key matrix code
+
+ This gets the hex keypad working.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 6efa53bafda18313742849a6c4992f09c3e403c3
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 9 12:59:07 2017 -0700
+
+ cortexelf-v1: Bump SPI pin speed to 40MHz to for sdcard. Fix VGA DMA.
+
+ Tell the DMA code to leave the DMA engine enabled so the VGA output
+ can use it.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c97b4c65d66078a4e187b782669e6b36ee92d30c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 9 12:56:59 2017 -0700
+
+ altos: Use MP switch in cortexelf boot loader for force loader mode
+
+ Provide a way to get to the boot loader on the cortexelf board by
+ turning the MP switch on.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 9e80b8bd10433ecc6ebe7c295e16b62b3883987d
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 9 12:55:34 2017 -0700
+
+ altos: Escape lisp REP loop with () input
+
+ Provide a way to get out of a lisp read-eval-print loop that can be
+ easily input from the keyboard.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 83c1e4e8ca684f555cba252efd3882f811d8e154
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 9 12:54:57 2017 -0700
+
+ altos: Document a few more SPI mode bits in VGA driver
+
+ Just comment changes
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 24cd5dd33ccf65c1b277911c460a89ec2b52e421
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 9 12:53:34 2017 -0700
+
+ altos: Drive row low instead of high in matrix driver
+
+ Driving it high won't work all that well as we're looking for zero bits.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit a68fb412589819980759d49565a084b23eee8b8f
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 9 12:51:49 2017 -0700
+
+ altos: Place AS1107 in 'normal' mode at end of init sequence
+
+ This makes sure the device is out of reset mode while initializing,
+ and then placed in normal mode to turn on the display.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 04d4b17635fc9395c70aa0840971c00082f509ba
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 9 12:48:54 2017 -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>
+
+commit 86d5119f19b5f3131d224982e011fd233b48aa22
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 4 16:05:15 2017 -0700
+
+ cortexelf-v1: More 1802 noodling
+
+ Add code to track the address and data displays, change how 1802 pin
+ tracking works
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 301b724d2169f4ac46d921f518455c783e1dd894
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 4 16:04:25 2017 -0700
+
+ stm: Add more mask-based GPIO controls
+
+ Lets cortexelf do more things with groups of pins, rather than one pin
+ at a time.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 71e430bb39fc97e543778f7bc1f1bef554ba8b75
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 4 16:03:36 2017 -0700
+
+ altos: Allow programs to enable SDCARD debugging if desired
+
+ Provides for per-application control over SDCARD debugging
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 4eced9224f40e48d7057352b3424c18025f43f25
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 4 16:02:46 2017 -0700
+
+ altos: Disable FAT commands unless requested
+
+ This are debugging commands; don't provide them unless requested
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d4ff161e89d852c07934704ea2cbea20a48259a7
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 4 16:00:56 2017 -0700
+
+ telegps-v0.1: Hack up for SDCARD debugging
+
+ Disable everything not SDCARD related for debugging.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 920b70fd5f6b78461c7ebae6b1e6490a0e050bc2
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Apr 4 15:59:56 2017 -0700
+
+ altos: Define CC115L spi speed in each product
+
+ Different SoCs have different SPI speeds available; have each product
+ specify the speed to use instead of trying to use 4Mhz everywhere.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 280eefc8f86e90e742c536a074d7284cce03af15
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 3 11:41:51 2017 -0700
+
+ cortexelf-v1: Add pin definitions for 1802 connections
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 0197157a295d848bac65cf7f4457dd5a99af24e3
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 3 11:37:21 2017 -0700
+
+ stm: Add a few more GPIO functions to make dealing with the 1802 easier
+
+ ao_gpio_set_mask and ao_gpio_get_all
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 89c8e0299504e66fc416a778055958cff467e008
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 3 11:36:52 2017 -0700
+
+ cortexelf-v1: Make bit flipping array constant
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 47004dfe8ee8c8b31085b066d3d0fd5142fd49da
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Apr 3 09:36:00 2017 -0700
+
+ cortexelf-v1: doodling with 1802 bits
+
+ Just some random ideas about how to manage the 1802
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5bb9cf38c84663713c178f54b684d40b6c00b11d
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 20:33:49 2017 -0700
+
+ cortexelf-v1: Add bit flipping array generator
+
+ Someone hooked up the data lines between the systems backwards, so we
+ get to swizzle the bits in software.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 8c1478b55f5dbe9711b31a34d4f5e3563f1f42d2
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 19:32:17 2017 -0700
+
+ cortexelf-v1: Hook up hex keypad using matrix input driver
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 79215de60d3e11b4abd1ecd2fa9575a323b76754
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 19:31:45 2017 -0700
+
+ altos: Allow buttons to be high when pressed rather than low
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 09f8710eb320f37f20dda8c635497c2b505d25e2
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 19:30:57 2017 -0700
+
+ altos: add button matrix driver
+
+ Scans the matrix once per clock tick queuing events for changed keys.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 17ec1c510ccc42bbc387940b5805f452697f78d6
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 17:39:26 2017 -0700
+
+ cortexelf-v1: Hook up AS1107 in test mode
+
+ Provide a 'L' command to display values
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit cc1b56faa88c75c9c86af89c77d7f1349573b7b0
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 17:39:05 2017 -0700
+
+ altos: Add AS1107 LED display driver
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1bc48b075f76bfef258f516549573429b24f284c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 16:37:42 2017 -0700
+
+ cortexelf-v1: Add buttons
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 8284d3639cd24e2fa0faf1e35e7276ba35a24f8f
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 16:22:28 2017 -0700
+
+ cortexelf-v1: Add serialblather command.
+
+ This reads from stdin and dumps it to both serial ports until you type ~
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 6fb817f218a69b28973b0d059d71809717b1e2d1
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 16:17:33 2017 -0700
+
+ lisp: Fix up lisp build so projects can get ao_lisp_const.h built as needed
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 3ce663875d69739cc2d43fcd88b22820cd9d6500
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 15:56:17 2017 -0700
+
+ stm: Use common flash wait loop instead of inlining
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1f5f0638f283fbb784021873c649109d4ed0257c
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 15:53:17 2017 -0700
+
+ cortexelf: Add lisp interpreter
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 54c76d48924fecc2aeabbc352c553822a87f9d19
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 15:40:03 2017 -0700
+
+ cortexelf-v1: Use new memory map to access all flash and ram. Add fat.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 7b031d5a86213364196b67f7e3f92865da8adbf9
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 15:28:45 2017 -0700
+
+ cortexelf-v1: Hook up serial consoles for debugging
+
+ This will make playing with serial ports easier for now.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 62b0228aed5191c8d769f9f34143a13036e210a7
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 15:18:34 2017 -0700
+
+ cortexelf-v1: Fix clock to drive VGA at 640/480. Add sdcard, remove others
+
+ VGA requires the CPU to run at 24MHz.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 637d522c6a15b47051103ccc3626be3206a7a2df
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Apr 2 15:04:09 2017 -0700
+
+ cortexelf-v1: Add ps/2 and vga with graphics
+
+ Start hooking up devices with known drivers.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 9f451db9889cd578c3032356fd2aa4b5ed45878d
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sun Apr 2 15:47:31 2017 -0600
+
+ capture pnpservo makefiles too
+
+commit bc150497de8539827177805c7f4430c67ca6762f
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sun Apr 2 15:47:14 2017 -0600
+
+ makefiles too
+
+commit 66b06332dadd83c309bbfe02240b7a071fd57ff2
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sun Apr 2 15:41:56 2017 -0600
+
+ initial skeleton of CortexELF support
+
+commit d318b5cfc1a0312697739576d35cc1a190d88849
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sat Apr 1 12:23:24 2017 -0600
+
+ first rough cut at skeleton of code for pnpservo .. altos boots and runs
+
+commit 190cdaa5cb18e78caeeaaaaed6a9d304e939eb6b
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 5 22:42:37 2017 -0800
+
+ doc: Rename telemini doc file from telemini-v1.0.inc to telemini.inc
+
+ This file now contains information on both TeleMini versions.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 7bb4dbab45f98dd5fd85d9daf12d27b153c0ef3a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Mar 5 22:33:36 2017 -0800
+
+ ao-tools/ao-flash-stm: Use openocd instead of st-utils
+
+ openocd upstream and debian package can both flash stm32l processors,
+ so use that in preference to st-flash.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit f004eaa2c26b4c61a8c3de2c0667a4e9865e704d
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Mar 2 13:37:12 2017 -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>
+
+commit 59aaac44e3e164b326518b324b52d115fbb76fca
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 1 14:01:59 2017 -0800
+
+ telemini outline svg had wrong version number
+
+commit b5a42665d7811707b6bd4a67d7d8e6532daa29e4
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Mar 1 13:53:36 2017 -0800
+
+ Add initial TeleMini v3 docs
+
+ Uses pictures of the prototype.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d1c2a5729da00be9d393015bbaa2d2f58e936d84
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 17:34:43 2017 -0800
+
+ altos/nucleo-32: Update lisp files, add beeper support
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d1956000ba2e6260977aa669475d3ff725578b55
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 17:32:09 2017 -0800
+
+ altos/lisp: Not quite ready to start making it look like scheme yet
+
+ Lots more code to write before these symbols can be exposed.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 9603d737e9ea58217ff2c2dd7c350c7a29fba980
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 17:29:15 2017 -0800
+
+ altos/stmf0: Support timer 2/3 for the beeper
+
+ Tested on timer 2, all four channels.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 003e9479ad4364d9f7acf189b35f32ccdfd43be0
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 16:51:09 2017 -0800
+
+ altos/stmf0: Support tim1 beeper channel other than 3
+
+ ch1 was broken and ch2 didn't have any code at all.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 3c3f5e316c0c2464568db883d50881f5b898abac
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 17:33:37 2017 -0800
+
+ altos/telemini-v3.0: Add beeper defines needed for more general beeper code
+
+ The beeper code now wants to know which timer, port and pin are in use.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit dc4bee9600be22531fd3c5bec15f712eb2e7ed2d
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 12:18:58 2017 -0800
+
+ altos: Add stm-vga demo project
+
+ Uses the VGA and PS/2 drivers to provide an interactive console.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 0eadc2d50417408beebd50e4a0e7e12430ed67ef
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 12:16:27 2017 -0800
+
+ altos/stm: Add draw and lisp to make search paths.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c296acd643698d0128e2f58f91a9cfeea63f580a
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 12:21:39 2017 -0800
+
+ altos: Add console driver using VGA and PS/2
+
+ Provides an interactive text console.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c1d52178ce63ebdc44c83d1bca5027942e2d778c
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 12:19:42 2017 -0800
+
+ altos: Add PS/2 keyboard driver
+
+ Interrupt driven, includes standard US keymap.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 6b39d3093c3b87689717bb03988d160473c53c64
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Nov 20 00:04:27 2016 -0800
+
+ altos: Add VGA driver for STM32L processors
+
+ Generates vsync/hsync using timers and pixel data using the SPI port.
+ 320x240 video using 640x480 mode and a 24MHz "pixel" clock.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1301d576d9bface4cc625e4a4187401f93f54444
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 12:17:42 2017 -0800
+
+ altos: Add bitmap drawing code
+
+ Includes solid fills, text and lines.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit a487d2fcba57141f6b083d5612c76bac5ad1ac7c
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 12:15:45 2017 -0800
+
+ altos/stm: Add nvic priority register fields. Add more TIM234 defines.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 80fd7f7bef5320ce86048d74dc4a72e1ec361120
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 12:14:10 2017 -0800
+
+ altos/stm: Make i2c code handle PCLK1 of 24MHz
+
+ Just adds the necessary defines to the code.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 72ea90d28817549c4343d2fea03a4c951f849cbe
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Feb 20 12:12:43 2017 -0800
+
+ altos/stm: Allow DMA channels to be hijacked by other code
+
+ This lets code which needs finer control over DMA to use the channel
+ without interference, and leaves the DMA engine running so that it can.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5dc5e2e238f8c1a8ca35d85ec046124afa9385ad
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jan 10 14:45:25 2017 -0800
+
+ altos: Allow for console to be used for stdio
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit e6fb0f13ba230ad9ce86cfa7f56491a0a3bd4b3d
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jan 10 14:43:07 2017 -0800
+
+ altos/avr: Avoid warning about unused args in stdio_put and stdio_get
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 839eadbc8e5694842eb498c6e47cfbf08ba8fbf4
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Nov 20 02:59:40 2016 -0800
+
+ altos/stm: Allow use basepri instead of primask for masking interrupts
+
+ This allows for high priority interrupts (priority 0) to run, even
+ when other interrupts are blocked. Code executing in such interrupt
+ handlers must not attempt to control task execution as that will race
+ with the scheduler.
+
+ Select this by defining AO_NONMASK_INTERRUPT in ao_pins.h.
+ non-maskable interrupt priority is AO_STM_NVIC_NONMASK_PRIORITY
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 088ddbb177efc8be2fc467524dc1668553080d3b
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Nov 20 20:54:10 2016 -0800
+
+ altos/stm: Interrupt priority is in the upper bits of the priority mask
+
+ Because the STM32L only offers 16 priority levels, the bottom four
+ bits of each priority mask are not used. All of the interrupt priority
+ settings in the system were using values < 16, making them all
+ effectively the same. Fix that by moving them into the upper 4 bits
+ and using symbolic constants everywhere.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 992eee8e0b4c6c774f3355af107fb422019ff4e5
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Nov 20 20:56:01 2016 -0800
+
+ altos: Don't wait while idle if trying to minimize interrupt latency
+
+ Keeping the scanout running reasonably means keeping interrupt latency
+ constant, and that requires leaving the CPU running. Don't wait for
+ interrupts when the system is running in this mode.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit f0c187dd6479996b83f85b6decf303ec0fc70fe5
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jan 6 09:10:23 2017 -0800
+
+ ao-tools/ao-usbload: Pad image with 0xff instead of random bits
+
+ Clear the temporary block to 0xff before copying in the target data so
+ that any unused bytes end up being left at 0xff instead of inheriting
+ whatever data was in the block before.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 61f729567ff6355ab52c3e83399761103022a41a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Dec 17 20:57:38 2016 -0800
+
+ altos/cc1111: Remove unneeded initialization in ao_timer.c
+
+ The timers are all stopped when the chip boots, so no need to stop
+ them. This saves some text space, allowing the current code to (just
+ barely) fit.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1029a6e4a61b20698e00e29fc0c8c3877f1e7b0f
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Feb 19 17:36:04 2017 -0800
+
+ altoslib: Add TeleMini v3 support
+
+ eeprom, telemetry and monitor idle. This is just like TeleMini v2,
+ except the ADC ranges are all difference as the voltage dividers are
+ different and the ADC itself has a different range.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5c272d8e50d0b23f31a6a9ebdad81fc514936222
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Feb 19 17:40:28 2017 -0800
+
+ altos/telemini-v3.0: Swap main and apogee sense pins.
+
+ These were just hooked up wrong in the software.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 59ac667c4ae14e0fa699fb0f398d31763a237646
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Feb 19 17:39:21 2017 -0800
+
+ altos: Split out TeleMini v3 log/telem labeling
+
+ Allow the ground software to know which TeleMini version is in use,
+ even though they are very similar with only ADC values differing.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c75736c9cd8f869c257a3024efda843cf0edf2a3
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Feb 18 22:56:49 2017 -0800
+
+ altos/telemini-v3.0: Finish initial turn-on
+
+ TeleMini v3.0 is nearly working; there are some ADC issues still, and
+ lots of altosui work left to decode the new telemetry packet.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit efdeb402d04e7f04ad4bd2764f8f1ca7270b3dff
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 3 06:52:57 2017 +0100
+
+ altos/telemini-v3.0: Update to second prototype version
+
+ Separate radio xtal means we run the processor at 48MHz.
+ Fix the battery monitoring voltage divider resistor values.
+ Disable most of the code until we've got the radio working.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 97c814bc12893bee40f9dc38fabbaa69e0dc6aed
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jan 28 15:35:48 2017 -0800
+
+ altos: Initial TeleMini v3.0 code
+
+ For first prototype, which attempted to use the SoC clock for the radio.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit b94fe9915b33283df6b86bcdc96ceada1fc71ce6
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Feb 19 17:42:05 2017 -0800
+
+ altos/stmf0: Add adc and beep support for TeleMini v3.0
+
+ Note that the ADC code is running very slowly as required by the high
+ impedance dividers on the TeleMini v3.0 pyro circuits.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1dc31a46f1d1adfdeab444664e581a780d995bf7
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Feb 18 22:49:34 2017 -0800
+
+ altos: Require SPI speed to be declared for cc1200
+
+ The cc1200 can't run SPI faster than 10MHz, so make sure every device
+ picks a SPI clock slower than that.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 0bf267a6e2d401c8bd6a06d995e3d000777d622a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Feb 18 22:55:41 2017 -0800
+
+ altos: Allow applications to define LEDs for ao_report.c
+
+ In case they don't have both a red and green LED.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit cf10239e5485a101fcd7a12b28be927af94d577a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Feb 18 22:54:35 2017 -0800
+
+ altos/stmf0: Allow projects to not use the USB boot loader
+
+ Let applications define HAS_BOOT_LOADER on their own if desired.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 3770a5f527cb6d519ce22fe91e0cc4078bf72661
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Feb 18 22:53:03 2017 -0800
+
+ altos/stmf0: Complain if the SPI configuration isn't complete
+
+ If the pin usage values SPI_1_PA5_PA6_PA7 or SPI_1_PB3_PB4_PB5 aren't
+ defined, then the speed values for the pins aren't going to get set
+ correctly, which results in erratic SPI behaviour.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit f85997eb53779e637dca697d0d96da7d1235fa80
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 3 06:51:11 2017 +0100
+
+ altos/stmf0: Allow apps to leave interrupt vectors at 0
+
+ TeleMini v3.0 doesn't need a boot loader, so we'll have the app run
+ its interrupt vector right at the bottom of the address space instead
+ of copying it to the bottom of ram and reconfiguring the chip to use that.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit f43c3ad0c643f714c523e513bdc8585c6d5a4050
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Feb 18 22:46:29 2017 -0800
+
+ ao-bringup: test-chaoskey needs to use the SerialNumber dmesg line
+
+ I had a locally hacked kernel which was reporting the serial number
+ along with the device name. Instead of depending on that, just look
+ for the regular SerialNumber report which is in all kernel versions
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit a21c7b5156e428a4f8e029fdb652c8ca1c63823b
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Feb 3 06:47:32 2017 +0100
+
+ ao-bringup: Allow serial number on turnon_easymega cmdline
+
+ This makes it a bit quicker to do a batch of them.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 51edc29f5ba758ef8ba4fdd5f53fdabc6a31c98a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jan 28 15:33:53 2017 -0800
+
+ altos: Eliminate printf format warning with long vs int
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d96224c2fdc535d08de23aec30d62d4ada9fb8d3
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jan 22 15:29:13 2017 -0800
+
+ altos/chaoskey: use both halves of the CRC
+
+ When pulling 16 bits from the 32-bit crc, instead of just using the
+ low bits, xor the two halves together. This appears to even out the
+ number of zero and one bits.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit bc076747f6cc00508aef909a3a5bd3edf8c9bd66
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Feb 18 12:14:59 2017 -0800
+
+ altos/lisp: Start adding scheme symbols
+
+ Migrating to something more like scheme
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 9c85c9d60334edc2af65a47124873e94e0ff1e9c
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jan 10 14:47:03 2017 -0800
+
+ altos/lisp: Add casts to keep the latest GCC from whinging
+
+ Something about alignment issues.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 399ba0a62422f71ff9669ba03b6a058bb2981c27
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jan 10 14:45:59 2017 -0800
+
+ altos/lisp: Tell compiler that the two lisp memory pools are aligned
+
+ Otherwise, it will generate unaligned accesses to things fetched from
+ them. Sigh.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 30d6b241447cb922b9316e86817f6e31eb973eed
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Nov 20 01:41:59 2016 -0800
+
+ altos/lisp: Clean up hanoi.lisp demo a bit
+
+ No serious changes.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 329f76d5e2732ab1c1b10223842d7816275c7e8b
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 23:37:44 2016 -0800
+
+ altos/lisp: Move stack recursion check after null check
+
+ Don't crash when printing null stack this way.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1999b2c915bd5b7df70cffa7777e411d3032d2d5
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 22:57:22 2016 -0800
+
+ altos/lisp: Include memory stats for test program
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 129e07ccc9b8a33491a905a91ca6c5b0509aba9c
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 22:53:36 2016 -0800
+
+ altos/lisp: Cleanup some DBG defines
+
+ Get rid of the remaining duplicate defines.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 2c80fea1936ff956df127b43e65139afec3929a0
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 22:52:53 2016 -0800
+
+ altos/lisp: Share binary search for memory chunk between mark and move
+
+ Save some text space.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1b1bc92e6781c563e3d3b117b9cda2dddccc44de
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 22:52:10 2016 -0800
+
+ altos/lisp: Add builtin 'collect'
+
+ Collect memory, return amount free.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c3a4d7721f0f5d082336b8cc9c9d765ad2f7d17e
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 22:41:46 2016 -0800
+
+ altos/lisp: Sort frames by atom
+
+ Fortunately, the collector always retains the relative order between
+ addresses, so we can sort based on the atom address itself. This
+ reduces the time spent looking for names in larger (e.g. global)
+ frames.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 8f833f31f625526a5f1e9a1bd561733b5bb2bcaa
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 21:17:54 2016 -0800
+
+ altos/lisp: Build new ao_lisp_stack.c into test and lambdakey
+
+ Helpful to include the new source file.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 35424031747b41b1125e715a975f1679b89fc27a
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 21:16:11 2016 -0800
+
+ altos/lisp: bounds check in move_map plus binary search
+
+ This makes move_map faster by skipping all addresses which aren't
+ changing.
+
+ Also changed the interface from address to offset to avoid computing
+ the offset multiple times.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 85db6d68a273859482e036b60fec7e2b84e9c262
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 21:15:33 2016 -0800
+
+ altos/lisp: Empty lambda body is not an error
+
+ It's not very exciting, but it's still legal
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit ecef616599d5ec4fd5d42e67d0dc779a0630079b
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 21:14:47 2016 -0800
+
+ altos/lisp: Use poly stashes for stacks
+
+ Saves some memory.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 4c812b8c903bd7e689572f8800ecc092af9cfe18
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 21:12:50 2016 -0800
+
+ altos/lisp: Make DBG settings global
+
+ This avoids having different values in different files, which wasn't useful.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit e600fc409c577eec02af612a36431c477a9c875e
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 18 19:04:05 2016 -0800
+
+ altos/lisp: Add continuations
+
+ This provides call/cc and makes 'stacks' visible to the application.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 2cc8ca2b781be0a6e7ce14405eb4611bc00a3a3e
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 18:45:31 2016 -0800
+
+ altos/lisp: Take advantage of implicit progns in hanoi demo
+
+ Remove extra progn wrappers now that cond, lambda and while all
+ support implicit ones.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 11c79167cdd56015bbd1645db2d4394dcb4f0fbb
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 16:52:30 2016 -0800
+
+ altos/lisp: have 'while' return the last body value
+
+ Instead of always returning 'nil', let while return the last body
+ value.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 9126ae10b3c5acf0055caa31b1f08215675af784
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 16:51:34 2016 -0800
+
+ altos/lisp: Take advantage of implicit progn in ROM code
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit eaa528e4e62ba1d9765888760d387303487b2e01
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 16:08:15 2016 -0800
+
+ altos/lisp: Make lambda, cond and while all have implicit progns
+
+ This lets all of these execute more than one sexpr, returning the
+ value of the last.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit ffaf73407bcdf6bc4120c90212de4a2f52cf7991
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 16:07:42 2016 -0800
+
+ altos/lisp: Compile ao_lisp_make_const -no-pie
+
+ Makes debugging easier
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 51bdee662fdfad1937c576daadd2e5eacac17905
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 16:06:55 2016 -0800
+
+ altos/lisp: Fix uninitialized values in ao_lisp_make_const
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 84732aebd10c293101727ba567bfc733dc30efca
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 16:06:05 2016 -0800
+
+ altos/lisp: Dump globals on error
+
+ Useful for debugging
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 05ac336ea954c0f5eefabdefb0c8c5747be3fd32
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 16:05:29 2016 -0800
+
+ altos/lisp: Fix error atom name in ao_lisp_length
+
+ Cut&paste error.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 2ce7ab37df07b3c1ea1ca9befc06477e3b6cdeac
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 16:04:38 2016 -0800
+
+ altos/lisp: Remove some stale frame debugging checks
+
+ No-one sets frame->_num to 0xff to hit these
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d37945f1404043e6bd287ce7ad7a57bc3289609b
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 16 14:59:08 2016 -0800
+
+ altos/lisp: Clean up hanoi.lisp comments.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit bcf5eb5825b1217d74f117b02d09b4ce4b007beb
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 16 14:12:59 2016 -0800
+
+ altos/lisp: Eliminate compiler warning about array bounds at -O3
+
+ Using ao_lisp_pool - 4 caused the compiler to whinge about computing
+ an address outside the bounds of the array. Sigh. Restructure the code
+ to do the adjustment-by-4 in the integer computations instead of the
+ pointer ones.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit a5ef084659205700aab33e81d20fb89833c03249
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 16 14:00:38 2016 -0800
+
+ altos/lisp: binary search for chunk in collect
+
+ Speeds up collect a bit
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 9f19cb10cd12f86b12d0599bab5c2ee351d814ae
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 16 13:59:54 2016 -0800
+
+ altos/test: Disable position independent executables
+
+ This makes debugging programs so much harder
+
+commit a7fcf80e22e70516d0b2da314fb17ced20a3f775
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 16 13:47:49 2016 -0800
+
+ altos/lisp: Allow empty defun bodies
+
+ This allows for (defun foo())
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit daa06c8dedc6dc1cf21936ee2769d9d25f0567bd
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 16 13:19:20 2016 -0800
+
+ altos/lisp: Optimize chunk searching in collect
+
+ Note range of existing chunks to exclude objects outside.
+ Only look at chunks which have been set to reduce loop cost.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c8f9db184cc929ebde845730a6d4b7864e423a84
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 16 12:34:14 2016 -0800
+
+ altos/lisp: Add incremental collection
+
+ Realizing that long-lived objects will eventually float to the bottom
+ of the heap, I added a simple hack to the collector that 'remembers'
+ the top of the heap the last time a full collect was run and then runs
+ incremental collects looking to shift only objects above that
+ boundary. That doesn't perfectly capture the bounds of transient
+ objects, but does manage to reduce the amount of time spent not moving
+ persistent objects each time through the collector.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 8406ddf8f0bd5453d6213973daed35991f80972a
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 20:37:59 2016 -0800
+
+ altos/lisp: Make hanoi example output a bit prettier
+
+ Make the towers symmetrical instead of lopsided. Much nicer looking.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 472ecec64213e6c37b588d69ca2e8efd5e9abe36
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 20:25:03 2016 -0800
+
+ altos/lisp: remove nth from hanoi.lisp
+
+ It's now in ROM.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5161f6d78647591cc7ab8774a04edbc68a09f689
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 20:24:33 2016 -0800
+
+ altos/lambdakey: Strip out unused code
+
+ Make space for more lisp bits!
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit ac0f7768659e288338bf452b4248ae3572ea2f7d
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 20:22:54 2016 -0800
+
+ altos/lisp: Take advantage of multi-arg macros. Add more ROM funcs
+
+ Added nth, or and and.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1a00bf4ac12a6505d4b23d94e99b4b46bf679020
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 20:21:47 2016 -0800
+
+ altos/lisp: Allow macro/nlambda/lexpr to have multiple args
+
+ Entries from the params are bound to the formals with whatever
+ remaining formals there are bound to the last argument as a list.
+ This makes writing functions a bit easier.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5c1fa73f159de9d9839e8619494c26931521d2d4
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 20:20:14 2016 -0800
+
+ altos/lisp: Do better checking for un-evaluated macros in ROM
+
+ Need to look at immediate lambdas as well, and also deal with
+ recursive functions by checking for recursion at each atom
+ dereference.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 881161fe1c5fb0e2b1220c30572eb2c45bedbafe
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 20:18:59 2016 -0800
+
+ altos/lisp: re-use small frames
+
+ This saves a pile more use of the allocator by noting when frames have
+ not been referenced from another frame and freeing them when they go
+ out of scope. Frames with references are left to the allocator to deal
+ with.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 994adc7a47cbf3cbf6041eca7430273f8018de08
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 10:32:36 2016 -0800
+
+ altos/lisp: remove duplicate 'length' lambda from hanoi example
+
+ This function is now a builtin.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 41175ff82bc0e35c99c60b49aa62944a12917157
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 10:18:12 2016 -0800
+
+ altos/lisp: Get lambdakey and nucleo-32 building again
+
+ Remove exti from the build list to make things fit.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 974717eb9dad105c9897ee24f953d98d57eaec77
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 15 09:55:22 2016 -0800
+
+ altos/lisp: Evaluate macros once, then smash them into place
+
+ This assumes that macros are all pure functions, which should be true
+ for syntactic macros.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit b3b5bd2c14cfcde6c551a87ee6da08a53f1e4bc6
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Nov 14 23:04:05 2016 -0800
+
+ altos/lisp: Add license to hanoi demo
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 13a4d451b903d08e52005bcf531efa8de351bf2b
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Nov 14 21:27:41 2016 -0800
+
+ altos/lisp: Improve hanoi demo
+
+ Repaint in place, without first clearing. This makes the updates a lot
+ clealyer looking.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 74ff0c6fd6c41cdaa054dcdb3d05c7d333bc24ff
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Nov 14 21:27:03 2016 -0800
+
+ altos/lisp: Show number of collect calls in ao_lisp_test
+
+ This helps tune the allocator
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5557f6b87a9b8bc9716de8191f2062a772a6ae6c
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Nov 14 21:25:38 2016 -0800
+
+ altos/lisp: Cache freed cons and stack items
+
+ Track freed cons cells and stack items from the eval process where
+ possible so that they can be re-used without needing to collect.
+
+ This dramatically reduces the number of collect calls.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit ce549b2c11e6b2571590021e1c0503d8a6e7a702
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Nov 14 19:55:36 2016 -0800
+
+ altos/lisp: Simplify GC a bit by only marking the head of each object
+
+ We don't need to mark the whole object now as we're getting
+ information about where objects are by walking the tree each time
+ around the loop; ao_lisp_busy is only useful for terminating the walk
+ now.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit ddb4b8d90478ae324aa207a7541352c1ac9451ee
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Nov 14 18:45:12 2016 -0800
+
+ altos/lisp: Change GC to do moves in batches of 32
+
+ This should make it quite a bit faster than doing one at a time.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit affcf6ffc08313151541993ee543bfe390165e81
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 23:38:03 2016 -0800
+
+ altos/stmf0: Add a comment about the requirements for using ao_flash_stm
+
+ Need HSI clock and the flashing functions loaded in ram.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 30db58ade19ec69272a8c39c2f13d7919ca491a9
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 23:36:22 2016 -0800
+
+ altos/lambdakey: Get save/restore working
+
+ Need the HSI clock running for the flash hardware to work.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 33aeffc123af1f9063969acf585f1caac885ced4
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 23:34:54 2016 -0800
+
+ altos/lisp: Append a CRC to the saved image to validate on restore
+
+ The CRC is actually of the ROM bits, so we can tell if the restored
+ image relates to the currently running code.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 8f2d60b4c029bffaa559bd1f31f5b15230dfa674
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 21:18:50 2016 -0800
+
+ altos/lisp: Add save/restore to ao_lisp_test
+
+ Allow testing of the save/restore code under Linux.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit dba374516ed396633659dec571b6a44b03da8ad1
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 21:16:09 2016 -0800
+
+ altos/lisp: Add save/restore infrastructure. Needs OS support to work.
+
+ This sticks a few globals past the end of the heap and then asks the
+ OS to save the heap. On restore, the heap is re-populated by the OS
+ and then various global variables reset.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 29c890b4599b3bbdbd09a5915ea68a63f4e0a9ac
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 21:11:13 2016 -0800
+
+ altos/lisp: Make sure memmove only happens once per object. Other GC fixes
+
+ The memmove may be overlapping, so make sure it happens only once by
+ just checking whether move_size has been set, rather than looking at
+ ao_lisp_moving; that doesn't get set when moving a noted cons as that
+ still needs to be walked at a later time.
+
+ Fix up the various looping move functions to all use the same
+ pattern. Atom was busted.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d46ca67f93e9ecbc4d8c051c3fbdead85490b690
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 21:07:09 2016 -0800
+
+ altos/lisp: Make ao_lisp_ref and ao_lisp_poly non-inline
+
+ These functions are pretty large and end up consuming quite a bit of
+ space if inlined everywhere they are used.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 00827a0ffe30938c26be216369fd2d8f8946d2c4
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 00:28:57 2016 -0800
+
+ altos/lisp: Share mark function for mark and move
+
+ These two operations both wanted to walk the referenced objects;
+ sharing is caring.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 7f7e2431f5d1f7c1782ed6e774ccfc70fb4c87cf
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 11 00:28:31 2016 -0800
+
+ altos/lisp: add length, pack, unpack and flush
+
+ lots more builtins
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit f5a36c15f894803f8804bbc3daf105eed53d5ff6
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 10 23:31:10 2016 -0800
+
+ altos/lisp: Add towers of hanoi example
+
+ Uses vt100 escape sequences to animate the display even.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 7da6bfc195fad97e3afc576c609897c131fd4d8c
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 10 23:29:21 2016 -0800
+
+ altos/lisp: Deal with memory compation in the middle of operations
+
+ Handle memory compaction in places where we've got pointers into the
+ heap across an allocation operation. Either re-compute the values from
+ managed global references or add new roots across the allocation.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 137898e3431d887e75b09d8c1ce57297a1558e43
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 10 23:28:26 2016 -0800
+
+ altos/lisp: Improve lisp test program UI
+
+ Add a prompt for stdin, read from other files on command line before
+ stdin.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 92cdc0cf0e80c1ff3f31cce20fc2b9bda86e3638
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 10 23:25:56 2016 -0800
+
+ altos/lisp: Make read() return eof atom on end of file
+
+ Also make it an exception to hit eof in the middle of an sexpr.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit fb710f7f4f24f74ac3d45fcc423803384d986bb2
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 10 23:24:11 2016 -0800
+
+ altos/lisp: use regular read-eval-print loop for make const
+
+ No need to open code this sequence of operations.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c7d7cdc2318a97534c4c1f9c6fd2b51644be729d
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 10 11:30:55 2016 -0800
+
+ altos/lisp: add progn, while, read and eval
+
+ Progn as a builtin will help with tail-recursion.
+ while provides for loops until tail-recursion works :-)
+ read and eval are kinda useful.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 417161dbb36323b5a6572859dedad02ca92fc65c
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 9 16:22:43 2016 -0800
+
+ altos/lisp: Clean up OS integration bits, add defun
+
+ Provide an abstraction for the OS interface so that it
+ can build more cleanly on Linux and AltOS. Add defun macro.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 0ee44c8e4bf5dabe6a97bf76b366c8b767c387f8
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 9 11:13:58 2016 -0800
+
+ altos/lisp: macros appear to work now
+
+ Needed an extra stack frame to stash the pre-macro state. This
+ simplified macro processing quite a bit; a macro now just evaluates
+ the function and then sends that result to be evaluated again.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 794718abc62f4610495fe2bd535a2b67bc46573c
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 9 09:14:50 2016 -0800
+
+ altos/lisp: working on lexical scoping
+
+ Not working yet
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit cb4cdb115ad83ae0d75eb58e68f561d20279f027
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Nov 6 21:47:31 2016 -0800
+
+ altos/lambdakey-v1.0: Tweak memory allocations
+
+ With non-recursive GC, more memory is available for the heap
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 6e5c1308ce33a864095eae02e7db18b0e043ab6e
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Nov 6 10:53:46 2016 -0800
+
+ altos/lisp: convert GC to non-recursive
+
+ Use a boolean array to note cons cells which would otherwise recurse,
+ then loop until that array is empty.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d8cf97fe22acefab40d7bb321138e46d4483fef7
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Nov 5 17:53:15 2016 -0700
+
+ altos/lisp: more GC issues. add patom
+
+ Use global ao_lisp_stack instead of local stack so that gc
+ moves of that item work.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 286d07d83bd7ff361e5a904c151a75e5a9c8b071
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Nov 5 15:12:05 2016 -0700
+
+ altos/lisp: make sure stack->formals_last gets moved during GC
+
+ Failing this leads to broken formals chains
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 3366efb139653939f053c1fe4aba352ba3b66c94
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Nov 5 14:51:58 2016 -0700
+
+ altos/lisp: Change GC move API
+
+ Pass reference to move API so it can change the values in-place, then
+ let it return '1' when the underlying object has already been moved to
+ shorten GC times.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 6fc1ee0f7adc6fcb3e850bcbaabc1db705314234
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 4 16:51:12 2016 -0700
+
+ altos/lisp: get builtin macros working again
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c9456362c8bad8cd9be717f591f2d0841f88eb50
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Nov 4 16:31:34 2016 -0700
+
+ altos/lisp: Start rewriting eval as state machine
+
+ Ad-hoc code was incomprehensible and I couldn't make 'cond' work, so
+ I'm starting over.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c48bda3625fc507134da7b4af87a634e8eb3715b
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 3 21:51:26 2016 -0700
+
+ altos: Add lambdakey
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 77db0e8162cd01c2b42737b3d71b38cea942484f
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 3 21:49:50 2016 -0700
+
+ altos: Add lambda support to lisp
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 11cb03b1d336ee90c422be27588f57be573a9546
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 2 22:56:01 2016 -0700
+
+ altos/lisp: Separate out values from atoms
+
+ This enables changing values of atoms declared as constants, should
+ enable lets, and with some work, even lexical scoping.
+
+ this required changing the constant computation to run
+ ao_lisp_collect() before dumping the block of constant data, and that
+ uncovered some minor memory manager bugs.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 9e1a787f8828fb7b750ad3310c89a89536ea5286
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 2 14:18:54 2016 -0700
+
+ altos/lisp: add set/setq and ' in reader
+
+ Along with other small fixes
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 8362393a621ea78a96e7f65f602f4bfc7bbd1158
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 2 14:18:31 2016 -0700
+
+ altos/stmf0: Add lisp to include directories
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit caba623cb013b73e1f0ca369edf98e0376bec41a
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Nov 2 14:14:23 2016 -0700
+
+ altos/kernel: Make ao_cmd_readline public. Return char from ao_cmd_lex.
+
+ With these two changes, the readline function can be used by other
+ code.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d2408e72d1e0d3459918601712b09860ab17e200
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Nov 1 21:14:45 2016 -0700
+
+ altos/lisp: Change lisp objects to use ao_poly everywhere. Add const
+
+ This makes all lisp objects use 16-bit ints for references so we can
+ hold more stuff in small amounts of memory. Also adds a separate
+ constant pool of lisp objects for builtins, initial atoms and constant
+ lisp code.
+
+ Now builds (and runs!) on the nucleo-32 boards.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit e2f4d25cd6f6f3787d4ee99264732d5b2ce23d4c
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Oct 31 18:53:09 2016 -0700
+
+ altos: Add lisp reader
+
+commit 56d46ceaa1413415f25e47e81036426132f99924
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Oct 31 16:43:44 2016 -0700
+
+ Add first lisp bits
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 2cfcc622c94d87cdbee099f457b7d63cb2fcbc71
+Author: Bdale Garbee <bdale@gag.com>
+Date: Wed Jan 25 12:21:29 2017 -0700
+
+ use elf, not ihx
+
+commit 4ae8eeb426ef60105ec8e53e289739e5a8ae5dae
+Author: Bdale Garbee <bdale@gag.com>
+Date: Wed Jan 25 12:00:20 2017 -0700
+
+ stop using /usr/share for binaries in remaining turnon scripts
+
+commit f2c7bb5879ba22df05fd1e39f01ea692313306fd
+Author: Richard Hughes <richard@hughsie.com>
+Date: Tue Jan 10 17:15:24 2017 +0000
+
+ altos/chaoskey: Add a metainfo for the ChaosKey
+
+ This provides the information necessary to reflash chaoskey using
+ standard Linux device firmware tooling.
+
+commit 89ecc32b90565ace078c4a84d4406a4d1f86821a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Dec 17 20:58:36 2016 -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>
+
+commit f650211f9e99e1d3d0ae13ae559dd1c082f71545
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Dec 12 16:44:47 2016 -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>
+
+commit d46698a01ed4903d36635b34867bfc4bb8fbafc6
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Nov 17 22:17:20 2016 -0800
+
+ ao-bringup: Improve EasyMini turnon and test scripts
+
+ Wait less time before trying the test script.
+ Have the test script wait for the device to appear. And then use
+ colors to help make the results clear.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 5e24d637a8af09bf64beb7fcf7be4c13eee76a43
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Oct 9 19:42:42 2016 -0700
+
+ altos/test: Fix tests
+
+ A couple of fixups for ao_flight_test to dump pyro info only when
+ running in debug mode, and to change the aprs testing
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit e3d8ad6de7d2dfabe45a285b27f465ba68844f05
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Oct 30 19:08:14 2016 -0700
+
+ altos/nucleo-32: Add basic support for STM32F042 Nucleo-32 board
+
+ This hooks up the LED, USB and the USART.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 148f6e0a107d9e88509958700351794f2f971312
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Oct 30 19:06:20 2016 -0700
+
+ altos/stmf0: Add USART support
+
+ The STM32F0 usart can be operated much like the STM32L usart, but the
+ registers are all moved around.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 26f2727eac0cca8930dde9d757bc094f73801859
+Author: Bdale Garbee <bdale@gag.com>
+Date: Sun Oct 2 17:19:14 2016 -0600
+
+ augment TeleDongle turn on script to support serial number on command line
+
+commit 66d4b5ea4031193e3c79ebdabeb381aae46fe93b
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Sep 22 03:23:34 2016 +0300
+
+ Update pdclib to version using arm-specific 'ar' program
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 2c1ab416728c942ddf176f881f025840ada6bf93
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Sep 5 22:25:07 2016 -0600
+
+ Fix release note html to remove xml bits
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 4fdf8ca9ca1cd5a84b03bd7a03c5806af64b413d
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Sep 5 20:55:17 2016 -0600
+
+ Remove pyro wizard file from master
+
+ This isn't done yet.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 89b8b2ee98e8d329559f54058c574ba9122ced8e
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Sep 5 20:46:05 2016 -0600
+
+ Bump version to 1.6.8
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit a37b687670dd1ccb0274e5fe6bf6145c4fc5acc8
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Sep 5 20:45:12 2016 -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>
+
+commit 45084fd04326b979f349870f09ff9af1b3155cbe
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 3 21:02:35 2016 -0500
+
+ Add 1.6.8 release notes
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 9279b0cd52333a846b57af890f708ebb364b62b7
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 3 01:21:34 2016 -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>
+
+commit d80995c4535a3655ca1b9ca674d6839cfef84c4e
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 3 01:20:20 2016 -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>
+
+commit af2eefbed43e56885a7321319d69b7be17354cdd
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 3 00:55:19 2016 -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>
+
+commit 4fc5cfa2c63c43ab0a9ef7e0cc6832fb1c163bd6
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 3 00:53:44 2016 -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>
+
+commit 1710a4921d4f408300c7d5adf0e83d08cc86be20
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Sep 3 00:52:12 2016 -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>
+
+commit 5d913dde1fa58cbcb5edbc88405180e37ba0dbcd
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Sep 2 23:40:03 2016 -0500
+
+ Bump version to 1.6.7.1
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 30e8f003381c30434058905f53f5a219ac5feb4f
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Sep 2 23:36:36 2016 -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>
+
+commit 3ea30c1909b3ae23918ea6d0a53d2c4065b08763
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Sep 2 23:34:47 2016 -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>
+
+commit dfaabc1ca3aaad0d249283308b06d3e0567f0c59
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Sep 2 23:33:27 2016 -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>
+
+commit 8bbef0c7039f4a0c6ac368fd994c2e52d84d293c
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Sep 2 16:13:25 2016 -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>
+
+commit b2d013aef5b76ff527e8174dff7f6ffe0dfaefae
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Aug 31 21:27:10 2016 -0600
+
+ ao-tools/ao-cal-freq: --verbose option has no parameter
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 08923aa0cf31ae7bd73b66b4d1cd81fae4241ff0
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Aug 31 21:25:59 2016 -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>
+
+commit ab75ab10564c4d5d05719c382a3b71585cd70710
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Aug 29 09:27:53 2016 -0700
+
+ altos/cc1120: remove unused status from ao_radio_fifo_write_stop
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 462039c769f2db9328b04759807c30691f2b96c2
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Aug 14 15:57:39 2016 -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>
+
+commit c62816a00b9aa40879a2ea98da2d10667e09b704
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Aug 14 15:55:13 2016 -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>
+
+commit af1d41e32fc04d5897fd2dc736391d263af48727
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Aug 8 22:40:41 2016 -0700
+
+ Bump verison to 1.6.7
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 46b1234140c04dbfac22be0fdf80be96506b6948
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Aug 8 22:39:16 2016 -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>
+
+commit 48088d1d6a66c5d5271b52191367f07b09626b29
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Aug 4 09:54:16 2016 -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>
+
+commit 71e3a59e42c284fde8ac2767abd029230ed86e07
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Aug 4 09:52:05 2016 -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>
+
+commit bc920c80ef447a5bcdf8165b69fb28b8f63609df
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:35:36 2016 -0700
+
+ Bump to version 1.6.6
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 165868999f45f4572ff2585fcb3986974a5bbd5c
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:52:39 2016 -0700
+
+ ao-bringup: Use released files for chaoskey turnon
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit c4926a69d6e72a035197b3d617c62893a7ea1861
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:30:15 2016 -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>
+
+commit d52cb9dac725206ba7b2d26818c84f134d5bf183
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:53:17 2016 -0700
+
+ ao-chaosread: Eliminate double-free when serial match fails
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 3bdc9028502c766d1c8ddb4f0dedba4bbc22384e
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:28:17 2016 -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>
+
+commit 826ad792389150ea8d80e341cb8ea023db83c9a2
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:26:49 2016 -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>
+
+commit 1934468e96ea9d179abf6e3e728b6b14ce793f46
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:53:50 2016 -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>
+
+commit 782013d0ff2c9f076952c0e172bfcb7016699d5f
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:32:43 2016 -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>
+
+commit 99753673a4a97423300427e276bf550ae5353842
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:31:41 2016 -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>
+
+commit be84201495fa3cabd699012e57e797355e2bd792
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 27 21:28:34 2016 -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>
+
+commit a6701283af7ed2b3016a910d6edbe4a5e8304581
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Aug 2 16:33:52 2016 -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>
+
+commit 647690dbe084d188ba3973da631871a65f2dc50d
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 27 13:29:20 2016 -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>
+
+commit fe13426daff08f2beface2c1906f9a6184f6b987
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 27 13:26:22 2016 -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>
+
+commit 71ddb973ff75680e78fbbef7978ab3893c367629
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 27 13:24:57 2016 -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>
+
+commit 59874a062543c61d164089e8b31f55a9b860c0b1
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 27 13:23:06 2016 -0700
+
+ fixup for interleave
+
+commit 2507b9f29d25f77de249103805087a704069c625
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 27 13:17:51 2016 -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>
+
+commit 17adfd7939ff697afa96f7207a3fe17b6af789bd
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jul 27 12:24:27 2016 -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>
+
+commit 1667cb8e8b702b05fc3ec39ee49029885df64a4a
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 2 20:00:01 2016 +0200
+
+ altos: Add STM32F0 beep and SPI byte API.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit f39bee8875a0595b3d7ec7f5575d1e5eeb7544ec
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jul 12 21:06:23 2016 -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>
+
+commit efd91febfa9bebd2f03508b2240916551450f831
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jul 12 21:06:05 2016 -0700
+
+ Bump version to 1.6.5.1 after 1.6.5 release
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 639d8b3c4353ee25a0536e01653f3a86feb90ad5
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jul 12 15:53:47 2016 -0700
+
+ altos: Add telemetrum v3.0
+
+ Like Telemetrum v2.0, but with cc1200 instead of cc1120
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jul 5 18:03:49 2016 +0200
+
+ Switch from GPLv2 to GPLv2+
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit cd97128e30c47edfcc71f7d872cbdad14867934c
+Author: Bdale Garbee <bdale@gag.com>
+Date: Tue Jul 5 10:21:29 2016 +0200
+
+ remove debian/ from master branch, it should live only on the debian branch
+
+commit a439ee4ac0398f70209292d015c5b82cd58d1d9f
+Author: Bdale Garbee <bdale@gag.com>
+Date: Tue Jul 5 00:48:07 2016 +0200
+
+ updates made during 1.6.5 release process
+
+commit 65ed2f588ca596fe9aa559bebd590a2a11b9859b
+Author: Keith Packard <keithp@keithp.com>
+Date: Sun Jul 3 12:00:10 2016 +0200
+
+ doc: Build 1.6.5 release notes
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d60133c65b4592f0f8c832135664a8e0c922b4f0
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 2 22:52:38 2016 +0200
+
+ Credit Chuck Haskin for helping fix the SPI bug.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 14e73d89d7dbb44e9ffab2820aefb693b6e8ef24
+Author: Keith Packard <keithp@keithp.com>
+Date: Sat Jul 2 22:08:58 2016 +0200
+
+ Bump to 1.6.5. Add preliminary release notes
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 8a6a95bb24517af00717fd377bad82ddb2289cf0
+Author: Keith Packard <keithp@keithp.com>
+Date: Thu Jun 30 20:43:03 2016 -0700
+
+ altos/cc1111: Remove 'show tasks' command
+
+ This saves space on cc1111 parts.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit d2e286f66d2b15df128ffe9b40a201242fc4a10a
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 29 14:22:32 2016 -0700
+
+ Bump to testing version 1.6.4.2
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit a04830a636a71808ea8ef5ac5dfa59d6978d9f3b
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 29 18:41:24 2016 -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>
+
+commit caf3fc2628c13ff38ffbaabda8aa8d146cda748e
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 29 18:33:56 2016 -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>
+
+commit c6c250711355ae8060e956e786702be250ef4527
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 29 12:55:30 2016 -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>
+
+commit a35424cd48205af89ba023db979959dc75b06706
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 29 12:54:31 2016 -0700
+
+ altos: Make task list output more useful
+
+ Add the timeout value and task id
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 6c022e094f6f3c551355742a6f9c3deb6e554fe1
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 29 16:07:22 2016 -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>
+
+commit 349a63aeed6cdeb89bf18c7b2e2c40782c79cc00
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 29 12:52:37 2016 -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>
+
+commit 3b3a24f5f39a1b72cc8947c33b609f454b46aff8
+Author: Keith Packard <keithp@keithp.com>
+Date: Wed Jun 29 12:49:16 2016 -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>
+
+commit 658d8be170f9aea683fe62b68368736a177411a5
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 17:03:34 2016 -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>
+
+commit 30eb5d2fa77e036690170e7057fa9df669375ae5
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 18:40:46 2016 -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>
+
+commit 61ad8e5bf428246ac89cad7cb9a1edf2ef735fd5
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 18:39:31 2016 -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>
+
+commit 5866d191cee56949ccab4c154a14604e83163d42
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 18:37:49 2016 -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>
+
+commit 5ab4a8b911e254dc829b61cb0abc9fd0b46b84b3
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 27 23:25:01 2016 -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>
+
+commit 69791ef235161fef404f682fd6955e7eed8dc125
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 27 23:26:20 2016 -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>
+
+commit f418584d4d225827e08f56de86055eb3f074f8d1
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 27 17:26:19 2016 -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>
+
+commit 2e60cd22f6789c94343e6432822cedab028dc1ba
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 18:25:44 2016 -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>
+
+commit 21a29c7452398e0cca0fb90f99fa42a2a0684668
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 17:15:27 2016 -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>
+
+commit 785d2697376ebd20531d22441a60c41bd927b42a
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 17:12:48 2016 -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>
+
+commit 0dec7d0885970a7d73468dd77220bae78e161b40
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 17:11:38 2016 -0700
+
+ altos/stm: remove ao_dma_abort
+
+ This function isn't used anywhere.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 974aaf73cbb720f1b1183cc239001528b6c7a5b9
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 17:09:00 2016 -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>
+
+commit a7e0bb5eb661cfde31c383d605cb9cb8ca568bc7
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 17:04:59 2016 -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>
+
+commit 40abb0d1e2f43a60ffa34b055ebb913ee3e20faf
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Jun 28 00:07:23 2016 -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>
+
+commit 5b7e81628437389014fdd39e323a6f0176e02ba6
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 27 23:28:28 2016 -0700
+
+ Mark testing version 1.6.4.1
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 6d15cf1580563aea90e9c47f5b268c9c7bb9ba26
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jun 24 12:07:36 2016 -0700
+
+ altosdroid: Deal with multiple installed android SDKs
+
+ Use the latest SDK's zipalign
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 3374a9069618658a33af54472d8670e3086af1e0
+Author: Keith Packard <keithp@keithp.com>
+Date: Fri Jun 24 12:06:32 2016 -0700
+
+ ao-tools/ao-chaosread: Document length (-l) option
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit ca59786b5022f592f6516a3ac54708789db14c94
+Author: Keith Packard <keithp@keithp.com>
+Date: Mon Jun 20 10:19:32 2016 -0700
+
+ Bump android version to 13
+
+ Need to update the maps API key in the package
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+
+commit 10fa950cb9fee0ba28adfc5ead108657655bb289