fw/altos
10 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

10 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

10 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

10 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>
10 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>
10 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>
10 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'

10 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>
10 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>
10 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>
10 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

10 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>
10 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>
10 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

10 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>
10 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>
10 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>
10 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>
10 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>
10 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

10 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>
10 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>
10 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>
10 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>
10 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>
10 years agoaltosdroid: Release v1.2, push to play store. altosdroid_v1.2
Mike Beattie [Sun, 21 Apr 2013 02:52:56 +0000 (14:52 +1200)]
altosdroid: Release v1.2, push to play store.

Signed-off-by: Mike Beattie <mike@ethernal.org>
10 years agoMerge branch 'altosdroid'
Mike Beattie [Sun, 21 Apr 2013 02:51:07 +0000 (14:51 +1200)]
Merge branch 'altosdroid'

10 years agoaltosdroid: Make the service class implement locationlistener
Mike Beattie [Sun, 21 Apr 2013 02:46:41 +0000 (14:46 +1200)]
altosdroid: Make the service class implement locationlistener

Signed-off-by: Mike Beattie <mike@ethernal.org>
10 years agoaltosdroid: fix up 'send last' code.
Mike Beattie [Sun, 21 Apr 2013 02:44:07 +0000 (14:44 +1200)]
altosdroid: fix up 'send last' code.

Signed-off-by: Mike Beattie <mike@ethernal.org>
10 years agoaltosdroid: check for mAltosVoice being null.
Mike Beattie [Sun, 21 Apr 2013 02:41:50 +0000 (14:41 +1200)]
altosdroid: check for mAltosVoice being null.

Signed-off-by: Mike Beattie <mike@ethernal.org>
10 years agoaltosdroid: set tab height based on screen density.
Mike Beattie [Sun, 21 Apr 2013 02:41:28 +0000 (14:41 +1200)]
altosdroid: set tab height based on screen density.

Signed-off-by: Mike Beattie <mike@ethernal.org>
10 years agoaltosdroid: Add filters for TeleBT bluetooth devices.
Mike Beattie [Sun, 21 Apr 2013 02:40:58 +0000 (14:40 +1200)]
altosdroid: Add filters for TeleBT bluetooth devices.

Signed-off-by: Mike Beattie <mike@ethernal.org>
10 years agoaltosdroid: incorrect property syntax in pad xml
Mike Beattie [Sun, 21 Apr 2013 02:40:33 +0000 (14:40 +1200)]
altosdroid: incorrect property syntax in pad xml

Signed-off-by: Mike Beattie <mike@ethernal.org>
10 years agoaltosdroid: whitespace and import tidyup
Mike Beattie [Sun, 21 Apr 2013 02:40:03 +0000 (14:40 +1200)]
altosdroid: whitespace and import tidyup

Signed-off-by: Mike Beattie <mike@ethernal.org>
10 years agoaltosdroid: Update distance/bearing on map tab
Keith Packard [Sat, 20 Apr 2013 22:16:50 +0000 (17:16 -0500)]
altosdroid: Update distance/bearing on map tab

Signed-off-by: Keith Packard <keithp@keithp.com>
10 years agoimprove text in telebt turn-on script
Bdale Garbee [Sat, 20 Apr 2013 18:22:38 +0000 (12:22 -0600)]
improve text in telebt turn-on script

11 years agoMerge branch 'master' into droid-gps
Keith Packard [Wed, 17 Apr 2013 17:41:05 +0000 (10:41 -0700)]
Merge branch 'master' into droid-gps

11 years agoaltosdroid: Fix integer formatting in tabs
Keith Packard [Wed, 17 Apr 2013 17:38:54 +0000 (10:38 -0700)]
altosdroid: Fix integer formatting in tabs

Was trying to use AltosDroid.number for integers, which didn't work as
it expected doubles.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosui: Disable main deploy setting for TeleGPS
Keith Packard [Wed, 17 Apr 2013 00:47:17 +0000 (17:47 -0700)]
altosui: Disable main deploy setting for TeleGPS

Just like all of the other flight computer settings, disable the main
deploy altitude configuration for TeleGPS.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosui: Handle broken network in map tile loading
Keith Packard [Wed, 17 Apr 2013 00:33:42 +0000 (17:33 -0700)]
altosui: Handle broken network in map tile loading

Handle missing pngfiles in AltosSetMapCache by checking ImageIO.read
for null return.

Do incremental map tile downloading asynchronously so that the UI
doesn't lock up when the network is slow

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Check for missing values
Keith Packard [Tue, 16 Apr 2013 21:22:23 +0000 (14:22 -0700)]
altosdroid: Check for missing values

When displaying numbers, check for MISSING values and display nothing

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoMerge branch 'master' into droid-gps
Keith Packard [Tue, 16 Apr 2013 06:26:33 +0000 (23:26 -0700)]
Merge branch 'master' into droid-gps

11 years agoaltosui: remove debug message from AltosFlightUI
Keith Packard [Tue, 16 Apr 2013 06:25:55 +0000 (23:25 -0700)]
altosui: remove debug message from AltosFlightUI

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoMerge branch 'master' into droid-gps
Keith Packard [Tue, 16 Apr 2013 06:19:44 +0000 (23:19 -0700)]
Merge branch 'master' into droid-gps

11 years agoaltoslib: Check for null state.gps before accessing it in eeprom records
Keith Packard [Tue, 16 Apr 2013 06:14:22 +0000 (23:14 -0700)]
altoslib: Check for null state.gps before accessing it in eeprom records

Used to be we'd set state.gps to garbage before seeing the first GPS
record; now we leave it null, which will cause crashes for code that
doesn't expect it. The code for reading and replaying eeprom data was
not checking and was nicely crashing as a result.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoMerge branch 'master' into droid-gps
Keith Packard [Mon, 15 Apr 2013 03:02:10 +0000 (20:02 -0700)]
Merge branch 'master' into droid-gps

11 years agomicropeak: Oops. Lost the call to actually start downloading data
Keith Packard [Sun, 14 Apr 2013 21:54:52 +0000 (14:54 -0700)]
micropeak: Oops. Lost the call to actually start downloading data

Lost when adding the 'help' text somehow; presumably a debugging issue.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Update UI even if no telem has been received. Center map.
Keith Packard [Sat, 13 Apr 2013 19:13:18 +0000 (12:13 -0700)]
altosdroid: Update UI even if no telem has been received. Center map.

This allows the receiver location to be displayed even when telemetry
is not.

Center the map on the first valid location, either receiver or
rocket. Update center if a significantly more precise location is received.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Get rid of a couple of startup messages
Keith Packard [Sat, 13 Apr 2013 18:45:23 +0000 (11:45 -0700)]
altosdroid: Get rid of a couple of startup messages

These are just annoying

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Show our position in the map tab. Squeeze to fit phones
Keith Packard [Sat, 13 Apr 2013 18:39:14 +0000 (11:39 -0700)]
altosdroid: Show our position in the map tab. Squeeze to fit phones

Shrink everything to fit on phones, then add phone location to the map tab

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoMerge branch 'master' into droid-gps
Keith Packard [Sat, 13 Apr 2013 17:51:04 +0000 (10:51 -0700)]
Merge branch 'master' into droid-gps

11 years agoaltosdroid: Shrink text so it fits on my phone
Keith Packard [Sat, 13 Apr 2013 17:50:26 +0000 (10:50 -0700)]
altosdroid: Shrink text so it fits on my phone

Yes, this is a hack; will try to figure out how to make it resizeable

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoWindows: Add all of the AltusMetrum USB IDs to telemetrum.inf
Keith Packard [Sat, 13 Apr 2013 17:39:14 +0000 (10:39 -0700)]
Windows: Add all of the AltusMetrum USB IDs to telemetrum.inf

This should make Windows load the driver

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agolibaltos: Retry Windows serial port open five times
Keith Packard [Fri, 12 Apr 2013 05:16:03 +0000 (22:16 -0700)]
libaltos: Retry Windows serial port open five times

Maybe this helps?

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Make sure the packet format is set reasonably for radio test
Keith Packard [Fri, 12 Apr 2013 10:09:16 +0000 (03:09 -0700)]
altos: Make sure the packet format is set reasonably for radio test

Dunno if this matters, but it might as well be set reasonably

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltoslib: Remove spurious debug message
Keith Packard [Fri, 12 Apr 2013 07:55:59 +0000 (00:55 -0700)]
altoslib: Remove spurious debug message

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Don't include bufio debug commands by default
Keith Packard [Fri, 12 Apr 2013 09:42:37 +0000 (02:42 -0700)]
altos: Don't include bufio debug commands by default

We shouldn't need these

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Stick a mutex around FAT operations
Keith Packard [Fri, 12 Apr 2013 09:35:15 +0000 (02:35 -0700)]
altos: Stick a mutex around FAT operations

This allows the command line and logging operations to occur safely in parallel

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Delay while waking up SD card a bit
Keith Packard [Fri, 12 Apr 2013 08:55:33 +0000 (01:55 -0700)]
altos: Delay while waking up SD card a bit

This seems to make bringing the card from idle to ready mode more
reliable. If you spam the card with requests, it will eventually
whinge and shut down communications.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: The Map already draws our location; no receiver marker needed
Keith Packard [Fri, 12 Apr 2013 08:04:55 +0000 (01:04 -0700)]
altosdroid: The Map already draws our location; no receiver marker needed

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Check state.gps != null before using it
Keith Packard [Fri, 12 Apr 2013 08:00:36 +0000 (01:00 -0700)]
altosdroid: Check state.gps != null before using it

Avoid crashing.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltoslib: Remove spurious debug message
Keith Packard [Fri, 12 Apr 2013 07:55:59 +0000 (00:55 -0700)]
altoslib: Remove spurious debug message

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Compute course from android device to rocket, display it
Keith Packard [Fri, 12 Apr 2013 07:19:24 +0000 (00:19 -0700)]
altosdroid: Compute course from android device to rocket, display it

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltoslib: Add range and elevation to AltosGreatCircle
Keith Packard [Fri, 12 Apr 2013 06:56:47 +0000 (23:56 -0700)]
altoslib: Add range and elevation to AltosGreatCircle

Move the computations from AltosState here so they can be re-used elsewhere.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Mike was right -- only need one LocationListener
Keith Packard [Fri, 12 Apr 2013 05:39:14 +0000 (22:39 -0700)]
altosdroid: Mike was right -- only need one LocationListener

I mis-read the docs and thought we needed two listeners, one for GPS
and one for network position. Looks like we don't

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Send LOCATION and CRC_ERROR messages to UI.
Keith Packard [Fri, 12 Apr 2013 05:34:36 +0000 (22:34 -0700)]
altosdroid: Send LOCATION and CRC_ERROR messages to UI.

This collects all position changes and crc error increments and sends
them along to the UI for presentation.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosdroid: Hook up the position listeners
Keith Packard [Fri, 12 Apr 2013 05:16:25 +0000 (22:16 -0700)]
altosdroid: Hook up the position listeners

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agodoc: Add an outline of an AltosDroid chapter
Keith Packard [Tue, 9 Apr 2013 21:53:25 +0000 (14:53 -0700)]
doc: Add an outline of an AltosDroid chapter

Not much content yet, but I think this is pretty much the sections we need

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltoslib/altosui: Adapt monitor idle to new AltosListenerState
Keith Packard [Tue, 9 Apr 2013 07:38:25 +0000 (00:38 -0700)]
altoslib/altosui: Adapt monitor idle to new AltosListenerState

Move the receiver battery monitoring to the new spot

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltoslib/altosui: Carry receiver status around in AltosListenerState
Keith Packard [Tue, 9 Apr 2013 07:28:05 +0000 (00:28 -0700)]
altoslib/altosui: Carry receiver status around in AltosListenerState

This moves the crc_errors into the new structure and adds a receiver
battery voltage value there as well. Now the receiver status can be
monitored separately from the flight status. That also means that code
receiving state updates should be prepared to accept missing listener
or flight state values.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Monitor battery voltage on telebt
Keith Packard [Tue, 9 Apr 2013 00:42:18 +0000 (17:42 -0700)]
altos: Monitor battery voltage on telebt

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Tue, 9 Apr 2013 00:02:37 +0000 (18:02 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

11 years agoaltos: Create telebt-v1.0 product. Remove old telebt products
Keith Packard [Mon, 8 Apr 2013 23:48:40 +0000 (16:48 -0700)]
altos: Create telebt-v1.0 product. Remove old telebt products

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Create telebt-v1.0 product. Remove old telebt products
Keith Packard [Mon, 8 Apr 2013 23:48:40 +0000 (16:48 -0700)]
altos: Create telebt-v1.0 product. Remove old telebt products

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Try RDF mode for TX calibration
Keith Packard [Sun, 7 Apr 2013 06:48:36 +0000 (23:48 -0700)]
altos: Try RDF mode for TX calibration

Trying to get the radio to stop modulating the carrier when
calibrating the radio, we'll try RDF mode which says no preamble or
sync data. This might shift the frequency though?

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosui: Graph TeleMini flights without crashing
Keith Packard [Wed, 3 Apr 2013 00:44:06 +0000 (17:44 -0700)]
altosui: Graph TeleMini flights without crashing

Adding maps to the graph UI failed to check for missing GPS data in a
couple of places causing crashes when fed a TeleMini file.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosui: Display current GPS in 'pad' tab for 'startup' staten
Keith Packard [Wed, 3 Apr 2013 00:29:40 +0000 (17:29 -0700)]
altosui: Display current GPS in 'pad' tab for 'startup' staten

This is the state for telegps, so just display the current GPS info as
we don't know where it started at.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosui: Hide flight-related tabs for telegps
Keith Packard [Tue, 2 Apr 2013 23:48:05 +0000 (16:48 -0700)]
altosui: Hide flight-related tabs for telegps

Products without a flight state don't need ascent/descent/landed tabs.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltosui: Don't display missing sensor data
Keith Packard [Tue, 2 Apr 2013 23:47:07 +0000 (16:47 -0700)]
altosui: Don't display missing sensor data

For devices without sensors, don't display temperature, barometric and
accelerometer-derived values.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltoslib: Make any incoming telem packet update the RSSI value
Keith Packard [Tue, 2 Apr 2013 23:44:58 +0000 (16:44 -0700)]
altoslib: Make any incoming telem packet update the RSSI value

Every packet has RSSI info, so use the latest one available. This
makes telegps RSSI available as it never sends sensor packets (having
no sensors).

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoSet telegps USB id to 0025
Keith Packard [Tue, 2 Apr 2013 23:43:53 +0000 (16:43 -0700)]
Set telegps USB id to 0025

It was accidentally using the same ID as megadongle...

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Shorten SD initialization timeouts.
Keith Packard [Tue, 2 Apr 2013 23:41:29 +0000 (16:41 -0700)]
altos: Shorten SD initialization timeouts.

This makes failure when no card is present much quicker.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Horrible kludge -- disable radio while talking with SD card
Keith Packard [Mon, 1 Apr 2013 09:39:35 +0000 (02:39 -0700)]
altos: Horrible kludge -- disable radio while talking with SD card

The SD card really doesn't like the RFI generated by our enormous
radio, so just lock the radio out while working with the card.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Add defines for the specific pins used for telegps SPI
Keith Packard [Mon, 1 Apr 2013 09:10:14 +0000 (02:10 -0700)]
altos: Add defines for the specific pins used for telegps SPI

These aren't needed at this point, but who knows?

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Retry SD card I/O. Use time for timeouts instead of counts
Keith Packard [Mon, 1 Apr 2013 09:08:18 +0000 (02:08 -0700)]
altos: Retry SD card I/O. Use time for timeouts instead of counts

Sometimes I/O operations may fail; give the card a chance and retry
the operation in case it works the next time.

Replace the loop counts with loops that check the clock so that
they'll have consistent timeouts even if the CPU or SPI speed changes.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Provide build hooks for sampling profiler in telegps
Keith Packard [Mon, 1 Apr 2013 09:07:06 +0000 (02:07 -0700)]
altos: Provide build hooks for sampling profiler in telegps

Might prove useful if the CPU is ever doing anything?

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Add a FAT test that re-writes the same file multiple times
Keith Packard [Mon, 1 Apr 2013 09:06:03 +0000 (02:06 -0700)]
altos: Add a FAT test that re-writes the same file multiple times

This caught a bunch of FAT cluster chain allocation bugs.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Support open on multiple simultaneous FAT files
Keith Packard [Mon, 1 Apr 2013 09:03:57 +0000 (02:03 -0700)]
altos: Support open on multiple simultaneous FAT files

Need to be able to see the contents of a log file, even if the logger
is running.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Make sure FAT cluster allocation works for size zero files
Keith Packard [Mon, 1 Apr 2013 09:02:14 +0000 (02:02 -0700)]
altos: Make sure FAT cluster allocation works for size zero files

There were some rounding errors mis-computing the number of clusters
needed, and the logic to figure out how to re-connect a chain was broken.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: let FAT tracing work in ao_fat_test as needed
Keith Packard [Mon, 1 Apr 2013 09:00:21 +0000 (02:00 -0700)]
altos: let FAT tracing work in ao_fat_test as needed

This allows the FAT DBG hooks to be enabled even if some other module
turned DBG off.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Flush the on-board mega log after every sample interval.
Keith Packard [Mon, 1 Apr 2013 08:58:37 +0000 (01:58 -0700)]
altos: Flush the on-board mega log after every sample interval.

SPI flash parts don't need flushing, but the SD card does. Make sure
the SD card contents are sane after every logging interval has passed
by flushing all dirty blocks to the device.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Create the log file if it doesn't already exist
Keith Packard [Sun, 31 Mar 2013 23:11:27 +0000 (16:11 -0700)]
altos: Create the log file if it doesn't already exist

open will return failure unless the file already exists.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Make ao_fat_readdir return real error values instead of 1/0
Keith Packard [Sun, 31 Mar 2013 23:10:33 +0000 (16:10 -0700)]
altos: Make ao_fat_readdir return real error values instead of 1/0

This way, we can distinguish between 'something bad happened' and
'you're at the end of the directory'.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Increase SD card timeout at startup time
Keith Packard [Sun, 31 Mar 2013 20:55:16 +0000 (13:55 -0700)]
altos: Increase SD card timeout at startup time

Sometimes the SD card takes 'a while' to go into idle mode at first
power up. Just hang around waiting for a long time.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Fix command-line FAT filename parsing
Keith Packard [Sun, 31 Mar 2013 19:46:41 +0000 (12:46 -0700)]
altos: Fix command-line FAT filename parsing

Pad extension with spaces

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoao-tools/ao-stmload: Be smarter about ELF parsing. Retry open on failure.
Keith Packard [Sat, 23 Mar 2013 09:10:38 +0000 (02:10 -0700)]
ao-tools/ao-stmload: Be smarter about ELF parsing. Retry open on failure.

Figuring out what goes where is tricky; turns out we want to pull all
of the sections that map inside any program area that is supposed to
be loaded from the file.

So, we walk the program headers, then walk all of the section headers
looking for those that suck data from the same portion of the
file. Compute where in ROM each relevant section goes and build a full
ROM image in memory using that.

This patch also adds code to close and re-open the device if the first
open failed to do what we want. Much nicer to have the computer figure
out when the open succeeded rather than having people re-run the app.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Unmount file system after each testing pass in ao_fat_test
Keith Packard [Sun, 31 Mar 2013 19:39:32 +0000 (12:39 -0700)]
altos: Unmount file system after each testing pass in ao_fat_test

Otherwise, we use stale data and 'bad things' happen.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos: Don't add fat commands when building ao_fat_test
Keith Packard [Sun, 31 Mar 2013 19:29:37 +0000 (12:29 -0700)]
altos: Don't add fat commands when building ao_fat_test

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos/stm: Always check for idle IN buffer before sending
Keith Packard [Sun, 24 Mar 2013 22:04:57 +0000 (15:04 -0700)]
altos/stm: Always check for idle IN buffer before sending

Unlike the AVR and CC1111 USB drivers, the STM usb driver queues IN
bytes in a local buffer instead of in the driver; this means that the
driver is queuing bytes while the previous IN packet is queued for the
host, which allows for overlapping execution.

It also means that when the local buffer is full, we must check to see
if the host has picked up the previous IN packet before trying to
queue another IN packet for transmission. This is done by always
waiting for the IN buffer to be ready before sending data.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 years agoaltos/stm: Add debugging mechanism to STM USB driver
Keith Packard [Sun, 24 Mar 2013 22:03:59 +0000 (15:03 -0700)]
altos/stm: Add debugging mechanism to STM USB driver

This adds a pile of debugging hooks to the USB driver to try and
isolate various lockup-related issues. It's all disabled by default,
of course.

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