Keith Packard [Fri, 17 May 2013 10:36:47 +0000 (03:36 -0700)]
altos/lpc: Get USB working
The lpc demo now has a USB command line.
Also allocates system stack so we know when ram is tight at build time
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 17 May 2013 01:58:24 +0000 (18:58 -0700)]
altos: Allow target-specific USB endpoint specifications
The LPC has only a small number of endpoints, and those are not
configurable. Let the LPC USB driver pick the IN and OUT endpoints by itself.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Wed, 8 May 2013 02:27:17 +0000 (19:27 -0700)]
altos: Finish off LPC USB register definitions
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 26 Apr 2013 03:38:32 +0000 (20:38 -0700)]
altos/lpc: Start adding USB register defines
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Mon, 22 Apr 2013 22:10:24 +0000 (17:10 -0500)]
altos/lpc: Start adding USB register definitions
Just the bare struct, no defines yet.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 20 Apr 2013 05:40:38 +0000 (00:40 -0500)]
altos/lpc: Take advantage of USART TX fifo
The USART has a 16-byte TX fifo; keep rough track of how full it is to
avoid waiting for an interrupt after every TX byte.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 20 Apr 2013 05:20:55 +0000 (00:20 -0500)]
altos/lpc: Get USART running
Adds a simple demo thread that spews data to the serial port
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 18 Apr 2013 21:15:52 +0000 (16:15 -0500)]
altos/lpc: Get 100Hz timer running
Use systick, which is built into the ARM core
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 18 Apr 2013 20:55:26 +0000 (15:55 -0500)]
lpcxpresso: Add ao_demo.c
Kinda necessary for the demo to build
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 18 Apr 2013 20:54:13 +0000 (15:54 -0500)]
lpc: Initial lpcxpresso bits
This gets the LPC11U14 clock set to the PLL and blinks the LED.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 17 May 2013 10:34:50 +0000 (03:34 -0700)]
libaltos: use PurgeComm in Windows altos_close to abort in-progress ops
Instead of manually signalling the related events, use PurgeComm which
can then abort the operations itself. Also make sure all of the
relevant handles are set to INVALID before closing them to avoid race conditions.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 17 May 2013 10:27:20 +0000 (03:27 -0700)]
libaltos: Build the linux library targets when doing a 'fat' build
These are necessary for the fat release, so make sure they're built then.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 17 May 2013 10:21:08 +0000 (03:21 -0700)]
altos/cc1111: Hack on USB driver to make Windows happy
The Windows modem driver is quite chatty at startup time, getting and
setting the comm parameters each time the device is opened. Sometimes,
when setting the parameters, the cc1111 would STALL EP0.
Most of the time, Windows would happily pass this as an error back to
AltosUI which would then re-try the open (and succeed, most of the
time).
Sometimes, Windows would stall for 30 seconds before passing the error
back. This made the whole UI freeze, and I suspect most people assumed
our app had died.
A bit of analysis with the beagle USB sniffer and I discovered the
STALL settings, but there wasn't any correlation between the data on
the wire and when the STALL would be generated.
So, I found a couple of other cc1111 USB stacks on the net and just
looked to see how our driver differed. There wasn't anything clearly
related, but there were a list of small differences:
1) Other drivers didn't bother waiting for the hardware to
ack the USBADDR setting; doing it this way means we can set
the address *before* acking the setup packet. It'll get
set eventually, at which point the device will start responding to
packets again.
Easy to fix, and saves a bit of code space too.
2) The other drivers set the STALL bit for setup packets which aren't
understood. This shouldn't have any effect on 'good' systems as
those shouldn't ever be generating bogus setup packets anyways.
The driver already handled the STALL state in the interrupt
handler, the only requirement was to figure out when to explicitly
set the STALL bit.
That required moving the state updating code from the start of the
ep0 setup handling to the end, after the setup packet had been
examined and data queued in or out as appropriate.
3) Our driver explicitly queued an IN packet for any setup request
that wasn't waiting for an OUT pack. This appears to tie in with
the USBADDR change above as before I made that change, this change
caused the driver to fail to respond to most setup packets.
This was simple once the above change was made, just move the
generation of the IN packet inside the code that switched to the
IN state.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Wed, 15 May 2013 22:32:59 +0000 (15:32 -0700)]
altos: Generate unmodulated carrier for CC1120 test mode
This sets the deviation to 0, enables the preamble and turns on the
transmitter. It will sit there happily sending a bare carrier forever
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Wed, 15 May 2013 05:29:06 +0000 (22:29 -0700)]
altos: Move MS5607 info from 'v' to 'c s'
Makes more sense there.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Wed, 15 May 2013 05:19:07 +0000 (22:19 -0700)]
altos: Remove some MMA655x debugging printfs
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 17:48:24 +0000 (10:48 -0700)]
altos: Grab SPI mutex until MPU6000 I2C mode is disabled
If other drivers use the SPI bus, the MPU6000 gets confused as its
sitting on the bus looking for I2C messages. Just grab the mutex
before the OS is running and hold onto it until the MPU6000 has been initialized.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 16:01:49 +0000 (09:01 -0700)]
altos: Initialize MPU6000 CS pin for SPI mode
Without this, we can't talk to the chip very well
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 16:56:16 +0000 (09:56 -0700)]
altos: Fix telemega v0.3 igniter order (drogue/main moved). Label ADC dump
telemega moves the igniters around so that E/F are now drogue/main.
Add custom labels for ADC values to make parsing possible
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 16:25:08 +0000 (09:25 -0700)]
altos: gps serial routines are called ao_gps_*, not ao_ublox_*
This caused the u-blox driver to use serial port 1 instead of the
project-specified serial port.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 16:21:54 +0000 (09:21 -0700)]
altos: Give u-blox 3 seconds after boot before we bug it
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 16:12:29 +0000 (09:12 -0700)]
altos: Add 'g' command to ublox GPS code.
Take the gps_dump function from ao_gps_skytraq.c and move it to a new
file so it can be shared with the u-blox driver. That affects every
skytraq and u-blox user as they need to include the new file.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Wed, 15 May 2013 08:24:56 +0000 (01:24 -0700)]
altos: Add flash-loader for telescience-v0.2
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 15:51:22 +0000 (08:51 -0700)]
altos: Set u-blox navigation settings
Airborne mode, < 4g (as good as it gets)
Only use 3D fixes (2D isn't very useful)
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 15:35:24 +0000 (08:35 -0700)]
altos: Use symbolic names for ublox packet id
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 08:06:20 +0000 (01:06 -0700)]
altosui: Generate useful KML files from TeleGPS logs
Use GPS altitude when baro altitude is not present.
Don't require flight number.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 07:38:34 +0000 (00:38 -0700)]
altosui: Use GPS alt + baro height for KML altitude
GPS altitude is generally more absolutely correct than baro altitude,
so use that as the nominal pad altitude when generating a KML
file. This results in a KML file that has the flight trace start and
end closer to the ground, which is always nice.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 07:24:53 +0000 (00:24 -0700)]
altoslib: Use sequence numbers to track GPS updates to AltosRecord
State objects now record what GPS sequence ID they have to know when
the GPS data has been updated. Record objects bump the GPS sequence
each time new GPS data is recorded. This way, record objects aren't
modified as they're iterated over to generate the list of state
objects which makes it possible to iterate multiple times and get the
same resulting set of states.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:59:26 +0000 (22:59 -0700)]
altos/test: ao_gps_test_ublox uses ao_gps_blox.h
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:58:18 +0000 (22:58 -0700)]
altos: Struct used for u-blox testing had lat/lon swapped
The structs in ao_gps_ublox.h are used only by the test framework, but
it's useful to have that look right anyways.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:33:12 +0000 (22:33 -0700)]
altos: Switch TeleMega v0.3 to u-blox
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:32:25 +0000 (22:32 -0700)]
altos: Provide a define for the number of sat infos in a telem packet
12 fit, but it's best to use a symbolic constant
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:31:31 +0000 (22:31 -0700)]
altos: Add U-Blox GPS driver
Uses binary mode.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:29:22 +0000 (22:29 -0700)]
altos: Don't bother fixing telelco-v0.1, just disable it
Lots of stuff to do to make this old project build; just disable it
instead of fixing
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:28:27 +0000 (22:28 -0700)]
altosuilib: Mistake in the MegaDongle listing -- was set to TeleMega
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 14 May 2013 05:27:00 +0000 (22:27 -0700)]
altoslib: Correct hexfile address ranges
Stop trying to use sentinal values for addresses and just keep a
boolean tracking whether they've been initialized. Avoids precision
errors in the variables.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sat, 11 May 2013 02:21:18 +0000 (19:21 -0700)]
altosui: Wait for valid callsign/flight when graphing
Wait for the data record to indicate that the flight value is valid
before setting the graph callsign/flight/serial data.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 10 May 2013 04:06:52 +0000 (21:06 -0700)]
Merge branch 'master-fixes' into stm-flash-fixes
Keith Packard [Fri, 10 May 2013 04:06:23 +0000 (21:06 -0700)]
micropeak: Use new 'last logdir' preference for MicroPeak save/load dialogs
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 10 May 2013 04:04:52 +0000 (21:04 -0700)]
Information from configure about android build was misprinted
A typo in the script caused it to print either 'yes' or ''
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 10 May 2013 04:04:11 +0000 (21:04 -0700)]
altoslib: Add non-persistent 'last logdir' preference
This is used to record the last directory for reading or writing log
files so that the UI can pop back to the same place next time.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 10 May 2013 04:03:38 +0000 (21:03 -0700)]
Add altosdroid notebook entry for imperial units
Signed-off-by: Keith Packard <keithp@keithp.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Keith Packard [Mon, 29 Apr 2013 06:22:41 +0000 (23:22 -0700)]
altos: Add .gitignore to kalman test dir