]>
git.gag.com Git - fw/altos/log
Bdale Garbee [Fri, 22 Feb 2019 04:57:26 +0000 (21:57 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Fri, 22 Feb 2019 04:57:08 +0000 (21:57 -0700)]
doc: actually add the telelaunch files
Keith Packard [Fri, 22 Feb 2019 03:28:14 +0000 (19:28 -0800)]
altos: Allow applications to override newlib printf selection
Re-defining NEWLIB_PRINTF_CFLAGS will allow applications to select
printf with floating point support if desired.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 22 Feb 2019 03:26:41 +0000 (19:26 -0800)]
altos: Fix ISR declarations to make them non-weak
In my zeal to eliminate warnings, I added declarations of all ISR
functions to a shared header file. However, I managed to include the
'weak' declaration, which meant that the intended ISR functions were
as weak as the 'default' ISR functions. This left all interrupts
non-functional, which doesn't make for a happy program.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 19 Feb 2019 00:43:50 +0000 (16:43 -0800)]
altos/telefireone-v2.0: Remove build of ao_product.h from Makefile
This is built in common code now.
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Fri, 22 Feb 2019 00:14:24 +0000 (17:14 -0700)]
doc: new TeleLaunch system manual
Bdale Garbee [Tue, 19 Feb 2019 00:39:34 +0000 (17:39 -0700)]
altos: first cut of code for telefireone-v2.0
Keith Packard [Tue, 19 Feb 2019 00:26:39 +0000 (16:26 -0800)]
altos: Build telefireone-v1.0 by default
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 19 Feb 2019 00:26:08 +0000 (16:26 -0800)]
altos/telefireone-v1.0: Track ao_led_init API change
No longer takes a parameter.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 19 Feb 2019 00:25:38 +0000 (16:25 -0800)]
altos/telefireone-v1.0: Set various ADC values
Reference voltage and divider resistor values.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 19 Feb 2019 00:25:06 +0000 (16:25 -0800)]
altos/telefireone-v1.0: Set AO_LOG_FORMAT
Use AO_LOG_FORMAT_TELFIRETWO for now; perhaps we'll have a new format
at some point.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 19 Feb 2019 00:24:21 +0000 (16:24 -0800)]
altos/telefireone-v1.0: Turn off USE_INTERNAL_FLASH
This is for TeleMini v1.0 which stored log data to the program flash.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 19 Feb 2019 00:23:13 +0000 (16:23 -0800)]
altos/telefireone-v1.0: Clean up Makefile
Follow other projects and remove common bits which are now in
Makefile.defs
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 19 Feb 2019 00:22:07 +0000 (16:22 -0800)]
altos/telefireone-v1.0: Doesn't have a beeper
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 19 Feb 2019 00:20:14 +0000 (16:20 -0800)]
altos: Remove AO_LOG_STATE from ao_log_telefiretwo
Telefiretwo never changes flight state, so these packets weren't going
to be written.
Also stop passing &log to ao_log_firetwo -- it always got the global
anyways, just use it directly.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 18 Feb 2019 20:59:05 +0000 (12:59 -0800)]
altos: Move common build definitions to src/Makefile.defs
This cleans up the build process for all architectures, providing a
common place to specify vpath, cflags and build rules for various
common files.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 18 Feb 2019 19:25:21 +0000 (11:25 -0800)]
altos/attiny: Mark 'mode' param to ao_exti_setup_port as used
Retain API.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 18 Feb 2019 18:42:23 +0000 (10:42 -0800)]
altos: Add -Wshadow to CFLAGS
And fix up the related messages.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 18 Feb 2019 18:41:31 +0000 (10:41 -0800)]
altos/stm-demo: Make this build again after various API and CFLAGS changes
Deal with LED API change. Remove unused functions.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 18 Feb 2019 18:40:06 +0000 (10:40 -0800)]
ao-tools/ao-dump-up: Document --wait flag
--wait means to poll for a µPusb device instead of bailing when none
exists at startup. Quite useful for testing a batch of new device.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 18 Feb 2019 18:39:11 +0000 (10:39 -0800)]
ao-bringup: chaosread is no longer part of altos
this has been moved to a separate project.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 18 Feb 2019 18:38:21 +0000 (10:38 -0800)]
stm: Expose LCD font API in ao_lcd_font.h
That required renaming the existing LCD font defintions from
ao_lcd_font.h to ao_lcd_font_bits.h.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:39:34 +0000 (22:39 -0800)]
altos: Add a pile more compiler warnings
Adds:
-Wpointer-arith
-Wstrict-prototypes
-Wmissing-prototypes
-Wmissing-declarations
-Wnested-externs
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:38:23 +0000 (22:38 -0800)]
altos: Declare task stack as union of uint8_t and uint32_t
Support -Wcast-align and -Wpointer-arith while still allowing
architectures to pick whether they want an 8-bit or 32-bit stack.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:34:21 +0000 (22:34 -0800)]
altos: Remove unused ao_adc_get from ao_adc_stm.c
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:33:32 +0000 (22:33 -0800)]
altos: Stop doing pointer arith on void *
Switch to uint8_t * instead.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:32:24 +0000 (22:32 -0800)]
altos: Add 'void' to function declarations with no params.
Support -Wstrict-prototypes
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:28:02 +0000 (22:28 -0800)]
altos: Declare all public functions in header files
Including interrupt vectors to catch mis-spellings.
Working toward supporting -Wmissing-prototypes
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:24:37 +0000 (22:24 -0800)]
altos: Mark local functions 'static'
Working towards supporting -Wmissing-prototypes
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:35:02 +0000 (22:35 -0800)]
altos/stm: Note that ao_i2c_recv_dma_isr isn't actually used
This function resets the i2c transceiver after DMA completes, but it
hasn't ever been hooked up. Some testing would be a good idea. For
now, just add a comment and mark the function as referenced to avoid a
compiler warning.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 5 Feb 2019 06:42:05 +0000 (22:42 -0800)]
altos: Fix spelling of stm_dma_ch4_5_6_isr
This spellingn error would have caused all DMA to these channels to fail.
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Mon, 18 Feb 2019 00:35:25 +0000 (17:35 -0700)]
altos: ADS124S0X driver compiles with initialization code maybe completed
Bdale Garbee [Sun, 17 Feb 2019 21:38:53 +0000 (14:38 -0700)]
altos: add initial support for TeleFireOne v2.0
Keith Packard [Sun, 3 Feb 2019 20:48:45 +0000 (12:48 -0800)]
Use strip-nondeterminism to fix JAR timestamps
.jar files are just zip files, and contain dates. These will cause the
build to be non-reproducible. Use strip-nondeterminism to smash all of
these back to a fixed value.
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Mon, 28 Jan 2019 20:46:59 +0000 (13:46 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Mon, 28 Jan 2019 20:45:31 +0000 (13:45 -0700)]
Makefiles, too
Keith Packard [Mon, 28 Jan 2019 19:35:32 +0000 (11:35 -0800)]
altos/telefireeight-v2.0: Add flash loader Makefile
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 28 Jan 2019 19:33:19 +0000 (11:33 -0800)]
altos: Delete unused config bits for telefireeight-v2.0. Add Makefile
Clean up the config and set the copyright year.
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Mon, 28 Jan 2019 02:20:02 +0000 (19:20 -0700)]
altos: add telefireeight-v2.0 to src/Makefile and to Releasing
Bdale Garbee [Mon, 28 Jan 2019 02:16:41 +0000 (19:16 -0700)]
altos: add support for telefireeight-v2.0
Bdale Garbee [Wed, 9 Jan 2019 22:42:42 +0000 (15:42 -0700)]
doc: add force-bootloader instructions for TeleGPS v1 and v2
Keith Packard [Tue, 8 Jan 2019 01:15:41 +0000 (17:15 -0800)]
doc: Fix typo in TeleBT v3 flash-force instructions
taht → that
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 8 Jan 2019 01:12:56 +0000 (17:12 -0800)]
Remove ao-chaosread
This program is now provided by the independent chaosread program.
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Sun, 6 Jan 2019 01:02:34 +0000 (18:02 -0700)]
doc: add flash-force instructions for TeleBT v3.0
Keith Packard [Thu, 3 Jan 2019 19:59:02 +0000 (11:59 -0800)]
ao-tools/ao-telem: Print out 'log_max' value. Clean up compiler warnings.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 3 Jan 2019 19:57:42 +0000 (11:57 -0800)]
ao-tools/ao-cal-accel: Initialize byte count var 'l'
When left uninitialized, the program would randomly segfault at startup.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 3 Jan 2019 19:55:38 +0000 (11:55 -0800)]
ao-tools/ao-load: Return status from 'rewrite'
Was just falling off the end of this function, returning a random value.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 3 Jan 2019 19:41:49 +0000 (11:41 -0800)]
ao-tools: Fix warnings in ao-tools
None of these appear likely to have caused actual problems.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 3 Jan 2019 19:40:32 +0000 (11:40 -0800)]
ao-tools: Add lots of compiler warning flags to ao-tools build
This catches some uninitialized variable errors which cause
ao-cal-accel to crash (fixes coming next)
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 3 Jan 2019 07:51:58 +0000 (23:51 -0800)]
doc: Update all docs to 1.9. Note this in doc/RELNOTES
Missed a bunch of 1.8.7 numbers due to a missing step in the release process
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Thu, 3 Jan 2019 07:49:22 +0000 (00:49 -0700)]
updates to Releasing based on 1.9 release process learnings
Keith Packard [Thu, 3 Jan 2019 06:02:42 +0000 (22:02 -0800)]
doc: Skip .pdf generation when asciidoctor-pdf is missing
Not available in debian unstable yet
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 31 Dec 2018 23:20:57 +0000 (15:20 -0800)]
Update to version 1.9
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 31 Dec 2018 23:20:23 +0000 (15:20 -0800)]
Change Releasing to reflect asciidoctor switch
Don't need to hack .xml files anymore (yay!)
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 31 Dec 2018 23:17:01 +0000 (15:17 -0800)]
doc: Add 1.9 release notes
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 31 Dec 2018 23:17:42 +0000 (15:17 -0800)]
doc: Set doc version to 1.9
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 31 Dec 2018 23:17:20 +0000 (15:17 -0800)]
doc: Add EasyMega v2.0 specs
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 31 Dec 2018 23:18:08 +0000 (15:18 -0800)]
doc: Update doc/RELNOTES to adapt to asciidoctor change
Moving to asciidoctor means changing our doc release process
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 30 Dec 2018 22:28:07 +0000 (14:28 -0800)]
Add shipping products to fat_altos target, note that in Releasing
These bits are used to build alpha/beta releases, so they should
support all existing products.
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Mon, 31 Dec 2018 19:37:45 +0000 (12:37 -0700)]
ao-bringup: get turnon_easymega working for v2.0
Keith Packard [Sun, 30 Dec 2018 22:15:51 +0000 (14:15 -0800)]
altoslib: Remove spurious debug printf in AltosCalData
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 30 Dec 2018 22:11:03 +0000 (14:11 -0800)]
altos: Don't validate ADXL375 self test for maximum value
The data sheet says this is unreliable, and that we should be using an
FFT anyways.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 30 Dec 2018 21:42:50 +0000 (13:42 -0800)]
altos: Make HAS_ACCEL_DEBUG build again
Need to not use ao_error_h_sq_avg without HAS_ACCEL
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Sun, 30 Dec 2018 22:16:29 +0000 (15:16 -0700)]
update easymega turn-on script for v2.0
Keith Packard [Fri, 2 Nov 2018 02:40:31 +0000 (19:40 -0700)]
doc: Use icons for admonitions
This replaces the text 'WARNING' or 'NOTE' with a suitable icon instead.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 26 Oct 2018 00:01:38 +0000 (17:01 -0700)]
doc: Remove asciidoc related files
These all helped asciidoc generate documentation
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 25 Oct 2018 23:56:24 +0000 (16:56 -0700)]
Remove cc1111 products from 'fat_altos' list, which is used for keithp-fat
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 25 Oct 2018 23:50:17 +0000 (16:50 -0700)]
doc: Switch to asciidoctor to format docs
asciidoc and a2x are no longer actively maintained and Debian policy
encourages people to move away from them to asciidoctor.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 23 Oct 2018 23:07:09 +0000 (16:07 -0700)]
Generate LED icons on the fly. Include SVG versions.
This builds the required LED images from source code.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 22 Oct 2018 23:48:56 +0000 (16:48 -0700)]
Don't force CFLAGS from top level
Let the system defaults control this value.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 22 Oct 2018 23:48:04 +0000 (16:48 -0700)]
ao-tools: Spelling fixes in a couple of man pages
ao-dbg.1 and ao-eeprom.1
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 22 Oct 2018 23:47:20 +0000 (16:47 -0700)]
Add keywords to .desktop files
Makes applications easier to find with search
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 21 Oct 2018 00:29:36 +0000 (17:29 -0700)]
altoslib: When flashing hardware, pull USB data from device if needed
If we fail to extract USB vid/pid and product values from the device
ROM, use the data discovered over USB when the device was originally
discovered.
Also, use the USB product to select appropriate .ihx files instead of
only using the USB vid/pid. This will help people avoid using the
wrong file when reflashing devices.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 21 Oct 2018 00:26:53 +0000 (17:26 -0700)]
altos/easymega-v2.0: Handle different mpu9250 orientation
The mpu9250 on EasyMega v2.0 is rotated 90° compared with EasyMega v1
and TeleMega IMU devices.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 21 Oct 2018 00:24:41 +0000 (17:24 -0700)]
altoslib: Add support for EasyMega-v2
adxl375 instead of mma6555.
mpu9250 rotated 90° compared with other megas.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 21 Oct 2018 00:22:59 +0000 (17:22 -0700)]
altoslib: Add support for TeleGPS v2
The battery voltage ADC values are different from TeleGPS v1 (max 4095
instead of 32767).
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 20 Oct 2018 14:34:57 +0000 (07:34 -0700)]
altos/adxl375: Clean up initialization, shortening self test period
Set the self test period to that suggested in the documentation.
Eliminate some debug variables.
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Sat, 20 Oct 2018 07:18:12 +0000 (01:18 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Sat, 20 Oct 2018 07:17:39 +0000 (01:17 -0600)]
altoslib: fix computation of TeleGPS battery voltage
Keith Packard [Fri, 19 Oct 2018 20:20:31 +0000 (13:20 -0700)]
altosui: Add EasyMega v2.0 firmware to release
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 19 Oct 2018 20:19:03 +0000 (13:19 -0700)]
altoslib: Add ADXL375 support and EasyMega v2.0 support
EasyMega v2.0 replaces the MMA655X with an ADXL375 part.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 19 Oct 2018 15:41:51 +0000 (08:41 -0700)]
altos: Add EasyMega v2.0 to default build
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 13 Oct 2018 16:43:25 +0000 (09:43 -0700)]
altos/easymega-v2.0: Add adxl375, replace mpu6000 with 9250 [v2]
Should reflect current hardware design now.
v2:
Use SPI mode 3 for ADXL375
Invert ADXL375 values
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 13 Oct 2018 16:46:01 +0000 (09:46 -0700)]
altos/easymega-v2.0: Change binary to easymega-v2.0 instead of easymega-v1.0
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 13 Oct 2018 16:41:31 +0000 (09:41 -0700)]
altos: Add ADXL375 driver [v2]
Includes self-test code and multi-byte mode operation for reading
sample registers.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 15 Oct 2018 18:15:31 +0000 (11:15 -0700)]
altos/stm: Support SPI modes other than 0
ADXL375 requires SPI mode 3.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 13 Oct 2018 20:42:34 +0000 (13:42 -0700)]
altos/stm: Make beeper driver support all possible tim234 configs
And update all users to be explicit about the desired config.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 19 Oct 2018 15:12:22 +0000 (08:12 -0700)]
altos: Create ao_data_fill shared function
This fills a data ring entry with all of the current sensor values
other than the ADC. It is used in all of the adc completion functions.
Signed-off-by: Keith Packard <keithp@keithp.com>
Bdale Garbee [Sat, 13 Oct 2018 16:17:47 +0000 (10:17 -0600)]
altos: remove usbtrng support (chaoskey prototypes)
Bdale Garbee [Sat, 13 Oct 2018 16:12:39 +0000 (10:12 -0600)]
altos: remove telescience support
Bdale Garbee [Sat, 13 Oct 2018 16:02:13 +0000 (10:02 -0600)]
altos: remove teledongle-v1.8 support (what was that, anyway?!?)
Bdale Garbee [Sat, 13 Oct 2018 15:59:22 +0000 (09:59 -0600)]
altos: remove megadongle-v0.1 support, never went beyond prototype
Bdale Garbee [Sat, 13 Oct 2018 15:57:44 +0000 (09:57 -0600)]
altos: remove telepyro-v0.1 support, which was never completed anyway
Bdale Garbee [Sat, 13 Oct 2018 15:55:03 +0000 (09:55 -0600)]
altos: remove teleterra-v0.1, also an ancient cc1111 project
Keith Packard [Sat, 13 Oct 2018 15:33:49 +0000 (08:33 -0700)]
altos/drivers: Use stdbool in ao_ms5607.c
We don't have TRUE and FALSE anymore (they were pdclib specific).
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 13 Oct 2018 15:27:41 +0000 (08:27 -0700)]
altos: Remove pdclib bits from Makefile
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 13 Oct 2018 15:27:17 +0000 (08:27 -0700)]
Remove .gitmodules
We no longer use submodules (yay!)
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 13 Oct 2018 15:26:02 +0000 (08:26 -0700)]
Bump version to 1.8.7.1
Tag development versions
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 2 Oct 2018 19:48:25 +0000 (12:48 -0700)]
altos/stm32f4-disco: Start hooking up stm32f413 USB for the disco board
Non-working as yet.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 2 Oct 2018 19:46:19 +0000 (12:46 -0700)]
altos/stm32f4: Add start of stm32f413 USB support
This code doesn't work yet.
Signed-off-by: Keith Packard <keithp@keithp.com>