fw/altos
7 years agoaltos: Wait after configuring boot pin before testing it
Keith Packard [Mon, 29 Apr 2013 06:06:24 +0000 (23:06 -0700)]
altos: Wait after configuring boot pin before testing it

Clearly the pin isn't quite ready just after it's been configured, so
hang around for a while (100 nops) to let things setting down before
testing the value of the pin. Makes booting a lot more reliable.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Create per-product flash loaders
Keith Packard [Sat, 27 Apr 2013 22:33:04 +0000 (15:33 -0700)]
altos/stm: Create per-product flash loaders

Split the flash loader prototype into pieces so that each product can
build a custom flash loader with very little code.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add ao_boot_chain to telemega v0.3
Keith Packard [Sat, 27 Apr 2013 07:37:15 +0000 (00:37 -0700)]
altos: Add ao_boot_chain to telemega v0.3

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/ao-stmload: Add --verbose flag
Keith Packard [Sat, 27 Apr 2013 07:26:11 +0000 (00:26 -0700)]
ao-tools/ao-stmload: Add --verbose flag

This dumps out the serial communication so you can see where things go wrong.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Remove stdio from stm-flash
Keith Packard [Sat, 27 Apr 2013 07:25:36 +0000 (00:25 -0700)]
altos: Remove stdio from stm-flash

This saves enough memory to fit in under 4kB

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Get rodata into flash, make sure sections are aligned
Keith Packard [Sat, 27 Apr 2013 07:24:08 +0000 (00:24 -0700)]
altos: Get rodata into flash, make sure sections are aligned

.rodata* needs to be in flash; otherwise strings get left in ram.
Failing to align sections makes the initialized data get dumped into
the wrong place in memory.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make stm-bringup build again
Keith Packard [Sat, 27 Apr 2013 07:23:14 +0000 (00:23 -0700)]
altos: Make stm-bringup build again

stm requires AO_BOOT_LOADER_BASE now

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Run self loader when application sets boot addr to 0
Keith Packard [Sat, 27 Apr 2013 07:20:47 +0000 (00:20 -0700)]
altos: Run self loader when application sets boot addr to 0

This causes the flash loader startup code to fall into the loader when
the application sets the boot address to zero.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Allow STM usb driver to be used without stdio
Keith Packard [Sat, 27 Apr 2013 07:19:13 +0000 (00:19 -0700)]
altos: Allow STM usb driver to be used without stdio

This lets the self flashing loader be linked without any of the stdio
code, which saves a bunch of memory.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm-flash: Check target flash address against AO_BOOT_APPLICATION_BASE
Keith Packard [Tue, 23 Apr 2013 02:08:35 +0000 (20:08 -0600)]
altos/stm-flash: Check target flash address against AO_BOOT_APPLICATION_BASE

Allows that value to change

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/ao-stmload: application base moved to 0x08001000
Keith Packard [Tue, 23 Apr 2013 01:59:12 +0000 (20:59 -0500)]
ao-tools/ao-stmload: application base moved to 0x08001000

And, use a symbolic name so it can be easily moved in the future

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools: reboot to loader now uses 'X' instead of 'L'
Keith Packard [Tue, 23 Apr 2013 01:56:00 +0000 (20:56 -0500)]
ao-tools: reboot to loader now uses 'X' instead of 'L'

'L' is used by lots of other commands; switch to 'X' which is free.

Sigh. Someday we'll have words for commands instead of just letters

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Use flash loader on all STM products
Keith Packard [Tue, 23 Apr 2013 01:35:57 +0000 (20:35 -0500)]
altos: Use flash loader on all STM products

Includes the boot chain stuff

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Provide another 4kB of flash space for apps
Keith Packard [Tue, 23 Apr 2013 01:33:33 +0000 (20:33 -0500)]
altos/stm: Provide another 4kB of flash space for apps

With the flash loader now < 4kB, we can use the spare 4kB for applications

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Shrink stm flash loader to < 4kB
Keith Packard [Tue, 23 Apr 2013 01:32:18 +0000 (20:32 -0500)]
altos/stm: Shrink stm flash loader to < 4kB

Saves 4kB of flash space for applications.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Allow core timer to be excluded from build
Keith Packard [Tue, 23 Apr 2013 01:30:31 +0000 (20:30 -0500)]
altos/stm: Allow core timer to be excluded from build

This removes all of the support for the base 100Hz timer from the
system, saving space when not needed

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Don't define task macros when not tasking
Keith Packard [Tue, 23 Apr 2013 01:29:56 +0000 (20:29 -0500)]
altos/stm: Don't define task macros when not tasking

The necessary data structures aren't defined in this case.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Eliminate stdio looping when system has a single stdio source
Keith Packard [Tue, 23 Apr 2013 01:27:52 +0000 (20:27 -0500)]
altos: Eliminate stdio looping when system has a single stdio source

No need to loop if there's only one

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Move ao_notask to core
Keith Packard [Tue, 23 Apr 2013 01:24:48 +0000 (20:24 -0500)]
altos: Move ao_notask to core

The STM flash loader wants to be taskless too, share this very simple
implementation of sleep/wakeup.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/ao-stmload: Remove IRC dregs in source code
Keith Packard [Sun, 24 Mar 2013 23:16:55 +0000 (16:16 -0700)]
ao-tools/ao-stmload: Remove IRC dregs in source code

oops.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui/altoslib: Move more flashing code from altosui to altoslib
Keith Packard [Sun, 24 Mar 2013 23:15:21 +0000 (16:15 -0700)]
altosui/altoslib: Move more flashing code from altosui to altoslib

Required a bit of refactoring to eliminate swing types from the
flashing code, but nothing major.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui & altoslib: Move a pile of debug/programming bits to altoslib
Keith Packard [Sun, 24 Mar 2013 23:01:08 +0000 (16:01 -0700)]
altosui & altoslib: Move a pile of debug/programming bits to altoslib

Prepare to create external Java utilities to flash devices

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Support 32-bit ihx files
Keith Packard [Sun, 24 Mar 2013 22:35:15 +0000 (15:35 -0700)]
altosui: Support 32-bit ihx files

This just borrows the same 32-bit ihx parsing changes from ao-tools.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/ao-stmload: Fix ELF, add IHX, add self-flashing
Keith Packard [Sun, 24 Mar 2013 22:33:31 +0000 (15:33 -0700)]
ao-tools/ao-stmload: Fix ELF, add IHX, add self-flashing

This splits loading into ELF and IHX paths, and splits flashing into
stlink and self-flashing paths.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/lib: Add loading support for 32-bit ihx files
Keith Packard [Sun, 24 Mar 2013 22:30:24 +0000 (15:30 -0700)]
ao-tools/lib: Add loading support for 32-bit ihx files

These place the upper 16 bits of the address in a special record. That
requires handling records in file order, so don't sort them in address
order anymore, instead find the bounds of the loaded data by scanning
them all.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Add comments to the .ld files explaining how the romconfig stuff works
Keith Packard [Sun, 24 Mar 2013 22:27:42 +0000 (15:27 -0700)]
altos/stm: Add comments to the .ld files explaining how the romconfig stuff works

Would be nice to be able to explicitly define addresses for the
romconfig variables, but I can't figure out how to make that
work. Instead, just explicitly load the files in teh right order to
make things land in the right places.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Add .elf to .ihx rule
Keith Packard [Sun, 24 Mar 2013 22:26:26 +0000 (15:26 -0700)]
altos/stm: Add .elf to .ihx rule

Uses objcopy -O ihex to extract the initialized bits from an elf file

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Switch ao_stm_flash to read/write binary blocks
Keith Packard [Sun, 24 Mar 2013 22:24:42 +0000 (15:24 -0700)]
altos: Switch ao_stm_flash to read/write binary blocks

Change from development testing code to something that actually reads
and writes data from the USB link.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Create ihx version of stm-demo
Keith Packard [Sun, 24 Mar 2013 22:21:58 +0000 (15:21 -0700)]
altos: Create ihx version of stm-demo

Both ao-stmload and the eventual java loader will support ihx files.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add erase command to stm-flash app. Validate addresses.
Keith Packard [Sat, 23 Mar 2013 09:23:03 +0000 (02:23 -0700)]
altos: Add erase command to stm-flash app. Validate addresses.

This also leaves the code writing fixed values and printing read data
in ascii instead of binary. Useful for debugging, will want changing
for the product.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Fix STM flash programming
Keith Packard [Sat, 23 Mar 2013 09:21:27 +0000 (02:21 -0700)]
altos: Fix STM flash programming

Wait for flash to go non-busy after writing or erasing a page and
before jumping back out of the RAM code.

Export a separate 'erase' operation for testing.

Re-lock flash after every operation.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Validate boot chain start address
Keith Packard [Sat, 23 Mar 2013 09:18:55 +0000 (02:18 -0700)]
altos: Validate boot chain start address

If the first block of boot memory has been smashed, and the start
address is bogus, don't bother trying to jump to the
application. This makes the system more resiliant to flash failures,
presuming the loader erases the first block, programs the other blocks
and then finally comes back to program the first block.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Mark .boot section as (NOLOAD)
Keith Packard [Sat, 23 Mar 2013 09:17:04 +0000 (02:17 -0700)]
altos: Mark .boot section as (NOLOAD)

For some reason, the silly linker marks things in section .boot as
data rather than bss, so they'd end up initialized by default. Force
them to be NOLOAD so they preserve values across reboot so that boot
chaining works properly.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Fix up stm-flash output file name. Use discovery LED pins
Keith Packard [Sat, 23 Mar 2013 09:15:35 +0000 (02:15 -0700)]
altos: Fix up stm-flash output file name. Use discovery LED pins

Include the AltOS version in the file name, just like any other AltOS
program.

Switch the LEDs to the discovery board as we're using
that. Eventually, we'll stop using LEDs entirely.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add actual flashing functions to stm-flash app
Keith Packard [Tue, 12 Mar 2013 01:14:28 +0000 (18:14 -0700)]
altos: Add actual flashing functions to stm-flash app

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Clean up boot loader support
Keith Packard [Mon, 11 Mar 2013 20:21:04 +0000 (13:21 -0700)]
altos: Clean up boot loader support

Split out code into separate files.
Add support for getting back to boot loader from application.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add program flash function
Keith Packard [Mon, 11 Mar 2013 07:01:52 +0000 (00:01 -0700)]
altos: Add program flash function

And get it loaded to RAM so it can execute correctly.

Nothing calls it yet...

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make stm-flash capable of switching to application
Keith Packard [Mon, 11 Mar 2013 04:02:59 +0000 (21:02 -0700)]
altos: Make stm-flash capable of switching to application

This shrinks the base OS load down a bit as well so that stm-flash
fits comfortably in the first 8kB of memory.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoAdd STM self-flashing loader
Keith Packard [Sun, 24 Feb 2013 08:18:14 +0000 (00:18 -0800)]
Add STM self-flashing loader

This allows the real application to get loaded at 0x2000 and jumps to
that at startup time if the boot pin is set appropriately

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Sanity check barometer before going to pad mode
Keith Packard [Wed, 8 May 2013 02:29:06 +0000 (19:29 -0700)]
altos: Sanity check barometer before going to pad mode

Make sure the barometer is reporting some sensible value before
letting TM try to fly the rocket.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Elide M25 debug output from storage info command
Keith Packard [Wed, 8 May 2013 02:28:07 +0000 (19:28 -0700)]
altos: Elide M25 debug output from storage info command

This is just chip-specific info that no UI actually needs. It takes a
bunch of ROM to write it though, making TeleMetrum not have much space left.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Set APRS deviation to 3kHz
Keith Packard [Mon, 6 May 2013 23:08:52 +0000 (16:08 -0700)]
altos: Set APRS deviation to 3kHz

I finally found a bunch of references to APRS on the net and they all
appear to assume a 3kHz deviation. Let's see if this works better with
Yaesu radios.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/test: Fix warning in ao_aprs_test
Keith Packard [Fri, 3 May 2013 08:07:06 +0000 (01:07 -0700)]
altos/test: Fix warning in ao_aprs_test

Was not forward-declaring ao_radio_send_aprs, causing a warning

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Use SYSTICK on STM32L
Keith Packard [Wed, 1 May 2013 15:58:17 +0000 (08:58 -0700)]
altos: Use SYSTICK on STM32L

It's probably more power efficient than using one of the timers, and
it's certainly easier to configure.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Mark GPS telemetry packets with GPS time stamp
Keith Packard [Wed, 1 May 2013 15:56:57 +0000 (08:56 -0700)]
altos: Mark GPS telemetry packets with GPS time stamp

This provides a reasonable accurate indication of the system time when
the GPS location data was received, and also makes sure GPS packets
get some timestamp when no other telemetry is being transmitted.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Update GPS state even if new state is unlocked
Keith Packard [Wed, 1 May 2013 03:25:20 +0000 (20:25 -0700)]
altoslib: Update GPS state even if new state is unlocked

Otherwise, we can't see fine GPS details while GPS is unlocked, and
that's annoying

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Use separate exception stack on STM32L
Keith Packard [Wed, 1 May 2013 02:04:26 +0000 (19:04 -0700)]
altos: Use separate exception stack on STM32L

This reserves 512 bytes of memory for a stack, then makes sure that
exceptions continue to use that stack while processes use the per-task
stack.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Reduce stack usage of FAT driver and logger
Keith Packard [Wed, 1 May 2013 01:57:53 +0000 (18:57 -0700)]
altos: Reduce stack usage of FAT driver and logger

Move some large stack arrays to static storage.
Also eliminates some printf error messages which don't seem that
useful except for debugging.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Open up the DVGA gain to use all of the available settings
Keith Packard [Tue, 30 Apr 2013 07:12:44 +0000 (00:12 -0700)]
altos: Open up the DVGA gain to use all of the available settings

We usually work in RF quiet areas; let the AGC hardware try all of the
available gain settings.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Stop using telelco v0.2 top LEDS for radio TX/RX
Keith Packard [Tue, 30 Apr 2013 07:06:08 +0000 (00:06 -0700)]
altos: Stop using telelco v0.2 top LEDS for radio TX/RX

The top LEDs are now used for signal strength; a red LED indicates
failed communcations, so we don't need to blink stuff and annoy the user.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make cc1120 driver return false on recv timeout
Keith Packard [Tue, 30 Apr 2013 07:05:33 +0000 (00:05 -0700)]
altos: Make cc1120 driver return false on recv timeout

Was returning an uninitialized value, which was often not zero

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Reconfigure CC1120 receiver to match our usage
Keith Packard [Tue, 30 Apr 2013 06:53:43 +0000 (23:53 -0700)]
altos: Reconfigure CC1120 receiver to match our usage

Open up the AGC to the full range.
Set the AGC ref based on our receive BW (100kHz).

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Compute "real" RSSI value in radio code as needed
Keith Packard [Tue, 30 Apr 2013 06:20:25 +0000 (23:20 -0700)]
altos: Compute "real" RSSI value in radio code as needed

Instead of dragging around the weird CC1111 RSSI values, just compute
a dBm value in a signed 8-bit integer, ao_radio_rssi. Use that
everywhere we need RSSI internally. We leave the weird CC1111 value in
the packet reply as that's what the host expects.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Add Notebook entry for reloading telem data option
Keith Packard [Tue, 30 Apr 2013 03:24:16 +0000 (20:24 -0700)]
altosdroid: Add Notebook entry for reloading telem data option

This lets the user recover the rocket flight data after stopping the
application but before recovering the rocket.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: More .gitignore bits
Keith Packard [Mon, 29 Apr 2013 06:30:29 +0000 (23:30 -0700)]
altos: More .gitignore bits

stm-demo

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add a bunch of .gitignore files
Keith Packard [Mon, 29 Apr 2013 06:27:32 +0000 (23:27 -0700)]
altos: Add a bunch of .gitignore files

Ignore ao_product.h and built binaries

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add ublox checksum app to generate ublox config lines
Keith Packard [Mon, 29 Apr 2013 06:25:37 +0000 (23:25 -0700)]
altos: Add ublox checksum app to generate ublox config lines

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add .gitignore to kalman test dir
Keith Packard [Mon, 29 Apr 2013 06:22:41 +0000 (23:22 -0700)]
altos: Add .gitignore to kalman test dir

7 years agoaltos: Build test framework for kalman filter
Keith Packard [Mon, 29 Apr 2013 06:21:17 +0000 (23:21 -0700)]
altos: Build test framework for kalman filter

This has some known flight data and generates kalman filter
information for them to test

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Ignore ao_aes_test binary
Keith Packard [Mon, 29 Apr 2013 06:15:28 +0000 (23:15 -0700)]
altos: Ignore ao_aes_test binary

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/test: Add telemega plot helper script
Keith Packard [Mon, 29 Apr 2013 06:14:50 +0000 (23:14 -0700)]
altos/test: Add telemega plot helper script

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add nickle micropeak log parsing code
Keith Packard [Mon, 29 Apr 2013 06:11:27 +0000 (23:11 -0700)]
altos: Add nickle micropeak log parsing code

I think this was just some debugging stuff, but it doesn't seem useless

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add telelco-v0.2 project
Keith Packard [Mon, 29 Apr 2013 06:09:54 +0000 (23:09 -0700)]
altos: Add telelco-v0.2 project

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Allow LCD segments to not be multiplexed across digits
Keith Packard [Mon, 29 Apr 2013 06:08:03 +0000 (23:08 -0700)]
altos: Allow LCD segments to not be multiplexed across digits

This allows each LCD segment to be individually configured as to which
COM and which SEG drives it, permitting maximum flexibility in wiring.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Clear any broken cc1120 TX fifo bits before transmitting
Keith Packard [Mon, 29 Apr 2013 06:05:18 +0000 (23:05 -0700)]
altos: Clear any broken cc1120 TX fifo bits before transmitting

This just goes and clears the transmitter before using it, just in
case it got wedged somehow. It also clears the bits while waiting for
the radio to go idle, otherwise it'd never make it.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make cc1120 driver wait for TX finished
Keith Packard [Mon, 29 Apr 2013 06:03:57 +0000 (23:03 -0700)]
altos: Make cc1120 driver wait for TX finished

Otherwise, we may come in and try to use the radio again too quickly,
causing it to go into a TX fifo error state.

This change watches the MARC status until the transmitter is
explicitly marked as finished.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Provide timeout value to ao_radio_recv
Keith Packard [Mon, 29 Apr 2013 06:02:12 +0000 (23:02 -0700)]
altos: Provide timeout value to ao_radio_recv

Instead of using ao_alarm around calls to ao_radio_recv, provide an
explicit timeout value as needed by radio functions with more
complicated system interaction than the cc1111. The timeout is 8 bits
of clock ticks.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Build test framework for AES code
Keith Packard [Mon, 29 Apr 2013 05:52:23 +0000 (22:52 -0700)]
altos: Build test framework for AES code

Simple CBC-CMAC test with a constant 0 key and constant 0 data for now.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make telemega-v0.3 binary use the right name
Keith Packard [Sun, 28 Apr 2013 06:23:33 +0000 (23:23 -0700)]
altos: Make telemega-v0.3 binary use the right name

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Remove USB EP0 task
Keith Packard [Tue, 23 Apr 2013 01:23:48 +0000 (20:23 -0500)]
altos/stm: Remove USB EP0 task

Handl EP0 actions from interrupt handler. This allows USB to be used
in a taskless environment, like the STM flash loader

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools/lib: Deal with binary USB data in debugging output
Keith Packard [Sun, 24 Mar 2013 22:29:32 +0000 (15:29 -0700)]
ao-tools/lib: Deal with binary USB data in debugging output

Dump non-ascii characters in hex format.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: Always declare all romconfig variables
Keith Packard [Sun, 24 Mar 2013 22:20:09 +0000 (15:20 -0700)]
altos/stm: Always declare all romconfig variables

I haven't figured out how to assign addresses for specific initialized
variables, so we'll just have to always declare all of them and make
sure that we add new ones at the end.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Call ao_task_init before initializing any drivers
Keith Packard [Sun, 24 Mar 2013 22:14:12 +0000 (15:14 -0700)]
altos: Call ao_task_init before initializing any drivers

When using task queues, the sleep queues must be initialized before
any invocation of ao_wakeup or the OS will crash. Just make sure
ao_task_init is always invoked early in the task process to get that done.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Expose ao_put_string function
Keith Packard [Mon, 11 Mar 2013 04:05:34 +0000 (21:05 -0700)]
altos: Expose ao_put_string function

This works like puts, except it doesn't add a trailing newline.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoAllow build without SDCC
Keith Packard [Fri, 3 May 2013 06:14:02 +0000 (23:14 -0700)]
Allow build without SDCC

The AltOS directory handles not building the cc1111 apps when sdcc is
missing already, so don't require it, just whinge if it's missing

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Mon, 29 Apr 2013 23:24:43 +0000 (17:24 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

7 years agoadd libssl-dev as a build dep since it's used in FAT filesystem test code
Bdale Garbee [Mon, 29 Apr 2013 23:11:48 +0000 (17:11 -0600)]
add libssl-dev as a build dep since it's used in FAT filesystem test code

7 years agopoint to pkgconfig content in /opt/cortex so stlink stuff works
Bdale Garbee [Mon, 29 Apr 2013 23:06:57 +0000 (17:06 -0600)]
point to pkgconfig content in /opt/cortex so stlink stuff works

7 years agoaltosdroid: Add wish for persistent TBT and freq settings
Keith Packard [Sat, 27 Apr 2013 23:07:34 +0000 (16:07 -0700)]
altosdroid: Add wish for persistent TBT and freq settings

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: All STM ADC users need to declare HAS_ADC_TEMP
Keith Packard [Sat, 27 Apr 2013 07:37:36 +0000 (00:37 -0700)]
altos: All STM ADC users need to declare HAS_ADC_TEMP

Otherwise we can't configure the ADC unit correctly at boot time

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Build telemega-v0.3 by default
Keith Packard [Sat, 27 Apr 2013 07:36:11 +0000 (00:36 -0700)]
altos: Build telemega-v0.3 by default

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoMerge remote-tracking branch 'origin/master'
Keith Packard [Fri, 26 Apr 2013 05:22:50 +0000 (22:22 -0700)]
Merge remote-tracking branch 'origin/master'

7 years agoaltos: Add TeleMega v0.3 support
Keith Packard [Fri, 26 Apr 2013 05:21:26 +0000 (22:21 -0700)]
altos: Add TeleMega v0.3 support

Includes adding SPI support to the MPU6000 driver

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add MR25 everspin MRAM driver
Keith Packard [Fri, 26 Apr 2013 04:27:03 +0000 (21:27 -0700)]
altos: Add MR25 everspin MRAM driver

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make SD card driver compile without radio support
Keith Packard [Fri, 26 Apr 2013 04:25:39 +0000 (21:25 -0700)]
altos: Make SD card driver compile without radio support

The SD card driver blocks the radio when trying to access the card as
that operation appears very sensitive to RFI. This fix makes the
driver work when there *isn't* a radio driver in the same device.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodocument need for an ARM Cortex toolchain in /opt/cortex, point to build docs
Bdale Garbee [Thu, 25 Apr 2013 06:26:39 +0000 (00:26 -0600)]
document need for an ARM Cortex toolchain in /opt/cortex, point to build docs

7 years agoRe-add telemega outline pictures
Keith Packard [Mon, 22 Apr 2013 20:53:04 +0000 (15:53 -0500)]
Re-add telemega outline pictures

after the great renaming

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Re-generate TeleMega bits
Keith Packard [Mon, 22 Apr 2013 20:15:03 +0000 (15:15 -0500)]
altos: Re-generate TeleMega bits

Lost in the great megametrum rename

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoname change from MegaMetrum to TeleMega
Bdale Garbee [Mon, 22 Apr 2013 19:00:26 +0000 (13:00 -0600)]
name change from MegaMetrum to TeleMega

7 years agoMove cortex toolchain to /opt/cortex
Keith Packard [Mon, 22 Apr 2013 16:06:36 +0000 (11:06 -0500)]
Move cortex toolchain to /opt/cortex

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Add request for sat images to AltosDroid Notebook
Keith Packard [Mon, 22 Apr 2013 02:04:50 +0000 (21:04 -0500)]
altosdroid: Add request for sat images to AltosDroid Notebook

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Add a few more Notebook entries
Keith Packard [Mon, 22 Apr 2013 01:53:14 +0000 (20:53 -0500)]
altosdroid: Add a few more Notebook entries

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosdroid: Bump APK version, and re-upload. altosdroid_v1.2-1
Mike Beattie [Mon, 22 Apr 2013 01:50:35 +0000 (13:50 +1200)]
altosdroid: Bump APK version, and re-upload.

Didn't re-build altoslib for the previous APK!

Signed-off-by: Mike Beattie <mike@ethernal.org>
7 years agoaltos: update .gitignore files
Mike Beattie [Mon, 22 Apr 2013 01:50:13 +0000 (13:50 +1200)]
altos: update .gitignore files

Signed-off-by: Mike Beattie <mike@ethernal.org>
7 years agodocument my snazzy new 4-pin to MM v0.1 debug cable
Bdale Garbee [Sun, 21 Apr 2013 05:55:06 +0000 (23:55 -0600)]
document my snazzy new 4-pin to MM v0.1 debug cable

7 years agoaltosdroid: Add Notebook to track feature requests
Keith Packard [Sun, 21 Apr 2013 03:30:23 +0000 (22:30 -0500)]
altosdroid: Add Notebook to track feature requests

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agolibaltos: Delay after opening bluetooth device on linux
Keith Packard [Sun, 21 Apr 2013 03:16:28 +0000 (22:16 -0500)]
libaltos: Delay after opening bluetooth device on linux

Writes immediately after the open disappear sometimes.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agolibaltos: Try Bluetooth open 5 times on EBUSY
Keith Packard [Sun, 21 Apr 2013 03:05:01 +0000 (22:05 -0500)]
libaltos: Try Bluetooth open 5 times on EBUSY

After closing Bluetooth, it can take a second before the device is up
for another connection. Hang around retrying a few times.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Start filling in details about Altos Droid flight monitoring
Keith Packard [Sun, 21 Apr 2013 02:40:47 +0000 (21:40 -0500)]
doc: Start filling in details about Altos Droid flight monitoring

This is almost all identical to AltosUI; I think we'll want to share
the two sections.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Add a bunch of Altos Droid material to the docs
Keith Packard [Sat, 20 Apr 2013 22:38:15 +0000 (17:38 -0500)]
doc: Add a bunch of Altos Droid material to the docs

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