fw/altos
7 years agoao-tools: Allow building without stlink and readline
Keith Packard [Sun, 8 Dec 2013 19:07:46 +0000 (11:07 -0800)]
ao-tools: Allow building without stlink and readline

This adds --without-stlink and --without-readline options to configure
to disable these features, and adjusts the build process and code to
handle that.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools: Add ao-flash-stm and ao-flash-lpc scripts
Keith Packard [Sun, 8 Dec 2013 07:27:30 +0000 (23:27 -0800)]
ao-tools: Add ao-flash-stm and ao-flash-lpc scripts

These use openocd to download boot loaders to the arm-based products

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosuilib: Deal with AltosUnits API change
Keith Packard [Sat, 7 Dec 2013 17:54:17 +0000 (09:54 -0800)]
altosuilib: Deal with AltosUnits API change

The abstract methods in AltosUnits now pass the 'imperial_units' flag
explicitly, so deal with that in AltosUnits itself

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Clean up serial close handling
Keith Packard [Sat, 7 Dec 2013 17:53:10 +0000 (09:53 -0800)]
altosui: Clean up serial close handling

Unify serial close processing in a single function (close_serial),
make everyone else call that. This avoids a couple of cases where the
device would be closed and not removed from the devices_opened list,
leading to 'device is already in use' messages.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Don't try to report bearing/elevation without GPS
Keith Packard [Sat, 7 Dec 2013 17:51:58 +0000 (09:51 -0800)]
altosui: Don't try to report bearing/elevation without GPS

If the distance from the pad cannot be computed (due to lacking GPS),
then don't try to report it.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Nothing in altos uses AES decryption, so don't compile it
Keith Packard [Sat, 7 Dec 2013 17:49:00 +0000 (09:49 -0800)]
altos: Nothing in altos uses AES decryption, so don't compile it

Saves a bit of space where AES is used, and avoids some compiler warnings.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/test: Compute and plot tilt based on GPS track
Keith Packard [Sat, 7 Dec 2013 17:47:45 +0000 (09:47 -0800)]
altos/test: Compute and plot tilt based on GPS track

This lets us compare the gyro-computed tilt angle against the actual
flight path.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Telemega uses eeprom, include it in main file
Keith Packard [Sat, 7 Dec 2013 17:40:53 +0000 (09:40 -0800)]
altos: Telemega uses eeprom, include it in main file

ao_telemega.c didn't include ao_eeprom.h leaving a function undefined

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add lots more GPS data to mega log
Keith Packard [Sat, 7 Dec 2013 17:39:41 +0000 (09:39 -0800)]
altos: Add lots more GPS data to mega log

There's plenty of space in the GPS log packets to hold course, speed,
climb and DOP values, so just stick them in.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agosrc/cc1111: Turn off RC osc after xtal is running
Keith Packard [Sat, 7 Dec 2013 17:38:50 +0000 (09:38 -0800)]
src/cc1111: Turn off RC osc after xtal is running

There's no reason to keep running the RC oscillator after we switch to
the crystal, so turn it off.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: First pass for 1.3 finished; docs have most major sections updated.
Keith Packard [Thu, 28 Nov 2013 23:21:26 +0000 (15:21 -0800)]
doc: First pass for 1.3 finished; docs have most major sections updated.

Final edits and corrections still required.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools: Split out USB loader to ao-usbload
Keith Packard [Thu, 28 Nov 2013 18:44:07 +0000 (10:44 -0800)]
ao-tools: Split out USB loader to ao-usbload

Leave ao-stmload using just stlinkv2

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools: Split out altos symbol editing from ao-stmload
Keith Packard [Thu, 28 Nov 2013 18:31:32 +0000 (10:31 -0800)]
ao-tools: Split out altos symbol editing from ao-stmload

to be shared with ao-usbload

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools: Missing ao-selfload.h
Keith Packard [Thu, 28 Nov 2013 17:52:38 +0000 (09:52 -0800)]
ao-tools: Missing ao-selfload.h

7 years agoao-tools: move 16/32-bit readers from ao-stmload to lib
Keith Packard [Thu, 28 Nov 2013 17:52:01 +0000 (09:52 -0800)]
ao-tools: move 16/32-bit readers from ao-stmload to lib

7 years agoao-tools: Move ao-selfload into library
Keith Packard [Thu, 28 Nov 2013 17:46:13 +0000 (09:46 -0800)]
ao-tools: Move ao-selfload into library

This needs to be shared between ao-stmload and ao-usbload

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools: Add ao-elftohex and .ihx symbol support
Keith Packard [Thu, 28 Nov 2013 17:31:02 +0000 (09:31 -0800)]
ao-tools: Add ao-elftohex and .ihx symbol support

ao-elftohex converts an elf file into a hex file so that we can load
it with java.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoao-tools: Add debug printf support
Keith Packard [Thu, 28 Nov 2013 17:29:52 +0000 (09:29 -0800)]
ao-tools: Add debug printf support

7 years agoao-tools: Create general elf and hex library routines
Keith Packard [Wed, 27 Nov 2013 21:59:06 +0000 (13:59 -0800)]
ao-tools: Create general elf and hex library routines

Pulls the elf stuff out of ao-stmload, change the hex stuff into ao_
routines.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Work on AltosUI Pyro config docs a bit more.
Keith Packard [Mon, 25 Nov 2013 09:15:36 +0000 (01:15 -0800)]
doc: Work on AltosUI Pyro config docs a bit more.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Handle units in pyro config.
Keith Packard [Mon, 25 Nov 2013 08:02:06 +0000 (00:02 -0800)]
altosui: Handle units in pyro config.

This lets you edit the pyro configuration using imperial units if
desired.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Add telemetry enable and APRS interval config docs
Keith Packard [Mon, 25 Nov 2013 08:01:20 +0000 (00:01 -0800)]
doc: Add telemetry enable and APRS interval config docs

Also starts working on the pyro channel config window docs

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: use correct quotes in altusmetrum.xsl
Keith Packard [Mon, 25 Nov 2013 05:55:20 +0000 (21:55 -0800)]
doc: use correct quotes in altusmetrum.xsl

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: "rocketry electronics" instead of listing products
Keith Packard [Mon, 25 Nov 2013 05:50:27 +0000 (21:50 -0800)]
doc: "rocketry electronics" instead of listing products

7 years agoUse more 1/4 single characters
Keith Packard [Mon, 25 Nov 2013 05:28:26 +0000 (21:28 -0800)]
Use more 1/4 single characters

7 years agoRemove duplicate log description. Describe pyro config.
Keith Packard [Mon, 25 Nov 2013 05:25:06 +0000 (21:25 -0800)]
Remove duplicate log description. Describe pyro config.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoExtend the hardware overview chapter. Edit System Operations
Keith Packard [Mon, 25 Nov 2013 04:05:52 +0000 (20:05 -0800)]
Extend the hardware overview chapter. Edit System Operations

Extend the overview chapter to include tables describing the
electronic and physical board characteristics of each board.

Finish most of the System Operation stuff, still need to add pyro
channel configuration

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodebian: Build now depends on 'xmlto' for docs
Keith Packard [Mon, 18 Nov 2013 21:48:18 +0000 (13:48 -0800)]
debian: Build now depends on 'xmlto' for docs

This wraps xsltproc, fop and xmllint for formatting pdf files

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Use system fo docbool.xsl instead of network one
Keith Packard [Mon, 18 Nov 2013 20:43:33 +0000 (12:43 -0800)]
doc: Use system fo docbool.xsl instead of network one

Instead of reading the master stylesheet from the network, just use
the one installed on the system.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Make pdf files depend on local stylesheet
Keith Packard [Mon, 18 Nov 2013 20:42:38 +0000 (12:42 -0800)]
doc: Make pdf files depend on local stylesheet

Now that we're using our own, rebuild the docs when it changes

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Make micropeak.xsl validate
Keith Packard [Mon, 18 Nov 2013 20:42:20 +0000 (12:42 -0800)]
doc: Make micropeak.xsl validate

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoMake companion.xsl validate
Keith Packard [Mon, 18 Nov 2013 20:38:52 +0000 (12:38 -0800)]
Make companion.xsl validate

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Make telemetry.xsl validate
Keith Packard [Mon, 18 Nov 2013 20:37:23 +0000 (12:37 -0800)]
doc: Make telemetry.xsl validate

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Make altos.xsl validate
Keith Packard [Mon, 18 Nov 2013 20:29:42 +0000 (12:29 -0800)]
doc: Make altos.xsl validate

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Switch to xorg style to generate index
Keith Packard [Mon, 18 Nov 2013 20:12:54 +0000 (12:12 -0800)]
doc: Switch to xorg style to generate index

This style sheet generates a nice PDF index

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Get altusmetrum.xsl to validate
Keith Packard [Mon, 18 Nov 2013 20:06:31 +0000 (12:06 -0800)]
doc: Get altusmetrum.xsl to validate

Mostly involved getting the listitem contents into para elements.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Start work on 1.3 doc updates
Keith Packard [Mon, 18 Nov 2013 20:05:10 +0000 (12:05 -0800)]
doc: Start work on 1.3 doc updates

Add 1.3 release notes.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump to version 1.2.9.4 1.2.9.4
Keith Packard [Tue, 12 Nov 2013 06:02:50 +0000 (15:02 +0900)]
Bump to version 1.2.9.4

7 years agoaltos: include ao_eeprom.h in ao_telemetrum.c to define ao_eeprom_init
Keith Packard [Tue, 12 Nov 2013 07:26:02 +0000 (16:26 +0900)]
altos: include ao_eeprom.h in ao_telemetrum.c to define ao_eeprom_init

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make sure flight erase log comes after config blog
Keith Packard [Tue, 12 Nov 2013 07:22:49 +0000 (16:22 +0900)]
altos: Make sure flight erase log comes after config blog

Oops. When converting from ao_storage to ao_config, I accidentally had
the flight erase log overwriting the config block.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Move telemega to using internal eeprom for config
Keith Packard [Tue, 12 Nov 2013 07:08:50 +0000 (16:08 +0900)]
altos: Move telemega to using internal eeprom for config

And crank up the default per-flight storage to 1MB

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Move TeleMetrum v2.0 to using internal eeprom for config
Keith Packard [Tue, 12 Nov 2013 07:06:59 +0000 (16:06 +0900)]
altos: Move TeleMetrum v2.0 to using internal eeprom for config

This leaves the whole 8MB of flash for flight storage

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Allow use of internal EEPROM for config storage
Keith Packard [Tue, 12 Nov 2013 06:45:32 +0000 (15:45 +0900)]
altos: Allow use of internal EEPROM for config storage

This stops exposing eeprom as 'storage' and instead exposes it with a
separate eeprom API so that it can be used for config storage without
also using it for flight log storage.

The config code has been changed to allow it to either use storage for
configuration data or eeprom.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Don't hold GPS mutex while waiting in TM v2.0 report
Keith Packard [Tue, 12 Nov 2013 06:18:58 +0000 (15:18 +0900)]
altos: Don't hold GPS mutex while waiting in TM v2.0 report

Holding the GPS mutex while waiting for the GPS code to dump data into
the GPS variables is rather counter-productive.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Build TM v2.0 firmware by default
Keith Packard [Tue, 12 Nov 2013 06:18:53 +0000 (15:18 +0900)]
altos: Build TM v2.0 firmware by default

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoignore "compile" script
Keith Packard [Tue, 12 Nov 2013 06:01:13 +0000 (15:01 +0900)]
ignore "compile" script

7 years agoAdd TeleMini v2.0 turnon script
Keith Packard [Tue, 12 Nov 2013 05:59:40 +0000 (14:59 +0900)]
Add TeleMini v2.0 turnon script

7 years agoao-tools: add ao-mega man page, ignore executable
Keith Packard [Tue, 12 Nov 2013 05:56:47 +0000 (14:56 +0900)]
ao-tools: add ao-mega man page, ignore executable

7 years agoaltos: Clean up .gitignore and add a few random files
Keith Packard [Tue, 12 Nov 2013 05:54:57 +0000 (14:54 +0900)]
altos: Clean up .gitignore and add a few random files

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoAdd ublox checksum generating program
Keith Packard [Tue, 12 Nov 2013 05:48:21 +0000 (14:48 +0900)]
Add ublox checksum generating program

7 years agoIgnore mac .dmg files
Keith Packard [Tue, 12 Nov 2013 05:45:51 +0000 (14:45 +0900)]
Ignore mac .dmg files

7 years agoaltosui, altoslib: Move eeprom download code to altoslib
Keith Packard [Tue, 12 Nov 2013 05:37:57 +0000 (14:37 +0900)]
altosui, altoslib: Move eeprom download code to altoslib

This should make adding eeprom downloading to altosdroid easier

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Make AltosEepromDownload not swing-dependent
Keith Packard [Tue, 12 Nov 2013 05:28:30 +0000 (14:28 +0900)]
altosui: Make AltosEepromDownload not swing-dependent

Will move to altoslib

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Start moving eeprom download logic to altoslib
Keith Packard [Tue, 12 Nov 2013 05:06:20 +0000 (14:06 +0900)]
altoslib: Start moving eeprom download logic to altoslib

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib: Raise ParseException on invalid eeprom format
Keith Packard [Tue, 12 Nov 2013 05:03:42 +0000 (14:03 +0900)]
altoslib: Raise ParseException on invalid eeprom format

Make sure the user knows when data are not downloaded successfully
because the UI doesn't understand the eeprom format.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add orientation tracking to ao_flight_test
Keith Packard [Tue, 12 Nov 2013 05:01:55 +0000 (14:01 +0900)]
altos: Add orientation tracking to ao_flight_test

Shows calculated offset from vertical in ao_flight_test output

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Don't hold GPS mutex while waiting for GPS data in report code
Keith Packard [Mon, 28 Oct 2013 07:36:13 +0000 (00:36 -0700)]
altos: Don't hold GPS mutex while waiting for GPS data in report code

Oops. This kinda breaks anyone else waiting for GPS data

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: sample profile address range was too narrow
Keith Packard [Mon, 28 Oct 2013 07:24:59 +0000 (00:24 -0700)]
altos: sample profile address range was too narrow

The range was cranked down at some point to diagnose issues within the
task scheduler. Unfortunately, that change got merged, which meant
that general profiling lost information outside of the lower 4kB of code.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make telemega v0.3 compile with new quaternion code
Keith Packard [Mon, 28 Oct 2013 06:47:27 +0000 (23:47 -0700)]
altos: Make telemega v0.3 compile with new quaternion code

Adds lots more math code

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Make telemega v0.1 compile with new quaternion code
Keith Packard [Mon, 28 Oct 2013 06:46:54 +0000 (23:46 -0700)]
altos: Make telemega v0.1 compile with new quaternion code

Adds the necessary math code

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add orientation test when HAS_FLIGHT_DEBUG is set
Keith Packard [Mon, 28 Oct 2013 06:45:48 +0000 (23:45 -0700)]
altos: Add orientation test when HAS_FLIGHT_DEBUG is set

This just dumps the current orientation to stdout so you can monitor
it in real time

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Update quaternion tests to check vectors_to_rotation
Keith Packard [Mon, 28 Oct 2013 06:44:47 +0000 (23:44 -0700)]
altos: Update quaternion tests to check vectors_to_rotation

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Change ao_mpu6000_gyro arg to float
Keith Packard [Mon, 28 Oct 2013 06:42:58 +0000 (23:42 -0700)]
altos: Change ao_mpu6000_gyro arg to float

This lets callers pass more precision than just the original sensor value

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Fixup for 32-bit gyro averages
Keith Packard [Mon, 28 Oct 2013 06:42:26 +0000 (23:42 -0700)]
altos: Fixup for 32-bit gyro averages

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Correct incremental rotation computation
Keith Packard [Mon, 28 Oct 2013 06:37:55 +0000 (23:37 -0700)]
altos: Correct incremental rotation computation

Trying to compute the combined rotation by taking the x/y/z rotations
as a vector is a good approximation, but not accurate enough for our
application given the large angles we sometimes see.

Instead, use a correct-but-expensive function with a pile of
transcendental function calls. The STM32L seems to be fast enough at least...

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Compute initial rotation from vertical
Keith Packard [Mon, 28 Oct 2013 06:35:54 +0000 (23:35 -0700)]
altos: Compute initial rotation from vertical

This initializes the rotation with the angle from vertical, rather
than simply recording the off-angle vector. Doing this allows us to
accurately track the true orientation of the rocket, instead of just
the offset from the initial non-vertical orientation.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Fixup for ao_sample_orient rename
Keith Packard [Mon, 28 Oct 2013 06:33:11 +0000 (23:33 -0700)]
altos: Fixup for ao_sample_orient rename

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add sinf to math code
Keith Packard [Mon, 28 Oct 2013 06:28:50 +0000 (23:28 -0700)]
altos: Add sinf to math code

Needed for the quaternion gyro tracking code

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Keep 9 more bits of average pad IMU gyro data
Keith Packard [Mon, 28 Oct 2013 06:26:28 +0000 (23:26 -0700)]
altos: Keep 9 more bits of average pad IMU gyro data

This reduces the offset error by a bit, minimizing gyro drift.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Rename ao_orient to ao_sample_orient
Keith Packard [Mon, 28 Oct 2013 06:23:59 +0000 (23:23 -0700)]
altos: Rename ao_orient to ao_sample_orient

Keeps it clear where this name comes from.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add functions to init quaternions from vector pairs and euler angles
Keith Packard [Mon, 28 Oct 2013 06:11:37 +0000 (23:11 -0700)]
altos: Add functions to init quaternions from vector pairs and euler angles

Our low sampling rate means that the "cheap" hack for
integrating quaternion rotations by using sin(x) ≃ x doesn't work, so
instead we have to compute the partial rotation the hard way.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add some comments describing quaternion multiplication
Keith Packard [Mon, 28 Oct 2013 06:11:09 +0000 (23:11 -0700)]
altos: Add some comments describing quaternion multiplication

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Mark arguments to quaternion functions as const
Keith Packard [Mon, 28 Oct 2013 06:10:13 +0000 (23:10 -0700)]
altos: Mark arguments to quaternion functions as const

Lets us pass constants without the compile whinging

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: IMU accel calibration values need to be signed
Keith Packard [Mon, 28 Oct 2013 05:44:49 +0000 (22:44 -0700)]
altos: IMU accel calibration values need to be signed

The MPU6000 reports signed values.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Calibrate IMU accelerometers too
Keith Packard [Fri, 25 Oct 2013 11:34:16 +0000 (04:34 -0700)]
altos: Calibrate IMU accelerometers too

Average the IMU accelerometer values pointing up and down so that we
have a zero-g offset for all three axes. This can then be used to
compute which direction the rocket is pointing while sitting on the pad.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add gyro-based orientation tracking
Keith Packard [Fri, 25 Oct 2013 11:05:09 +0000 (04:05 -0700)]
altos: Add gyro-based orientation tracking

This tracks the angle-from-vertical as an additional input to the pyro
channels.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Fix GPS test frameworks to handle shared ao_gps_new variable
Keith Packard [Fri, 25 Oct 2013 11:03:39 +0000 (04:03 -0700)]
altos: Fix GPS test frameworks to handle shared ao_gps_new variable

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Add floating point math functions from newlib
Keith Packard [Fri, 25 Oct 2013 11:00:49 +0000 (04:00 -0700)]
altos: Add floating point math functions from newlib

These are all BSD licensed, so we can simply include them directly

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Merge GPS logging into a single function
Keith Packard [Tue, 15 Oct 2013 05:41:43 +0000 (22:41 -0700)]
altos: Merge GPS logging into a single function

Create a new global, ao_gps_new, which indicates new GPS position and
satellite data.

Use ao_gps_new as the new sleep/wakeup address.

Merge the separate gps position/satellite logging tasks into a single
function which waits for new data and writes out the changed values.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Use #define values for ublox packet types
Keith Packard [Tue, 15 Oct 2013 04:49:39 +0000 (21:49 -0700)]
altos: Use #define values for ublox packet types

One case was using hex values instead of the #define equivalents.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltoslib,altosui: Be more robust when graphing bogus .telem files
Keith Packard [Tue, 15 Oct 2013 03:42:14 +0000 (20:42 -0700)]
altoslib,altosui: Be more robust when graphing bogus .telem files

Deal with files containing multiple serial number/flight number values
by preserving the boost_tick value across state resets.

Check for invalid state when computing actual boost time for the stats
window.

Ignore invalid speed/accel values when computing averages.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/micropeak: Increase boost detect to 30m
Keith Packard [Mon, 14 Oct 2013 05:05:20 +0000 (22:05 -0700)]
altos/micropeak: Increase boost detect to 30m

This meant increasing the data buffering as well so that we could
reliably capture the flight data back to the ground, even for slow
flights.

And, with the buffer extra large, we work backwards from the current
buffer location to find the last ground location rather than working
forwards from the first buffered location. This ensures that we don't
capture noise before boost and instead capture a nice flight curve instead.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoupdated turn-on script for telebt 1.1
Bdale Garbee [Thu, 10 Oct 2013 21:35:54 +0000 (14:35 -0700)]
updated turn-on script for telebt 1.1

7 years agoAnother try at skipping broken avr-gcc
Keith Packard [Thu, 10 Oct 2013 17:02:03 +0000 (10:02 -0700)]
Another try at skipping broken avr-gcc

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoMake sure the AVR compiler can actually link stuff
Keith Packard [Thu, 10 Oct 2013 16:47:52 +0000 (09:47 -0700)]
Make sure the AVR compiler can actually link stuff

avr-gcc was broken for a while, causing all linking to fail. Check for
that and don't try to build avr bits in that case.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Fix stm-bringup demo build to use installed pdclib
Keith Packard [Thu, 10 Oct 2013 15:04:22 +0000 (08:04 -0700)]
altos: Fix stm-bringup demo build to use installed pdclib

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Use installed pdclib
Keith Packard [Thu, 10 Oct 2013 07:00:05 +0000 (00:00 -0700)]
altos: Use installed pdclib

Switch over to the installed pdclib everywhere

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoBump version to 1.2.9.3 1.2.9.3
Keith Packard [Wed, 9 Oct 2013 19:04:14 +0000 (12:04 -0700)]
Bump version to 1.2.9.3

Rocketober, 2013

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Add easymini outline to distribution
Keith Packard [Wed, 9 Oct 2013 19:06:30 +0000 (12:06 -0700)]
doc: Add easymini outline to distribution

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agodoc: Add EasyMini outline drawing
Keith Packard [Wed, 9 Oct 2013 17:14:16 +0000 (10:14 -0700)]
doc: Add EasyMini outline drawing

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Messed up the ifeq syntax a bit so ARM bits weren't getting built
Keith Packard [Wed, 9 Oct 2013 19:37:30 +0000 (12:37 -0700)]
altos: Messed up the ifeq syntax a bit so ARM bits weren't getting built

$(x) is not the same as ($x)

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltosui: Binaries to package are only in per-product dirs now
Keith Packard [Tue, 8 Oct 2013 17:03:50 +0000 (10:03 -0700)]
altosui: Binaries to package are only in per-product dirs now

Each cc1111 project used to stick the binary in src/, but I got rid of
that when we ended up with so much stuff in src that it was a mess.

Building the release now requires looking in the appropriate directory
for each binary to ship.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: avr-gcc appears to find the loader scripts without help now
Keith Packard [Tue, 8 Oct 2013 16:50:21 +0000 (09:50 -0700)]
altos: avr-gcc appears to find the loader scripts without help now

At some point, avr-gcc lost its ability to find the loader scripts
necessary to link programs. That appears to be fixed now, at least on
my machine.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Broken test for M0 compiler in src/Makefile
Keith Packard [Tue, 8 Oct 2013 16:39:29 +0000 (09:39 -0700)]
altos: Broken test for M0 compiler in src/Makefile

Was causing it to try to compiler M0 progs only when *no* compiler was found.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoMerge remote-tracking branch 'origin/master'
Keith Packard [Tue, 8 Oct 2013 16:26:41 +0000 (09:26 -0700)]
Merge remote-tracking branch 'origin/master'

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

7 years agoAdd --with parameters to configure for compiler selection new-state
Keith Packard [Tue, 8 Oct 2013 16:22:03 +0000 (09:22 -0700)]
Add --with parameters to configure for compiler selection

This allows the user to specify which compiler to use for each target
CPU. Also checks to make sure the arm compiler supports -m0 and -m3
cpu type flags. The build now actually uses the specified compilers too.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/stm: New GAS version requires flags in APSR assignment
Keith Packard [Tue, 8 Oct 2013 16:20:12 +0000 (09:20 -0700)]
altos/stm: New GAS version requires flags in APSR assignment

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Rename easymini-v0.1 to easymini-v1.0
Keith Packard [Tue, 8 Oct 2013 05:00:15 +0000 (22:00 -0700)]
altos: Rename easymini-v0.1 to easymini-v1.0

The production boards are the same as the modified v0.1 boards

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos/lpc, altos/stm: ARM requires ISB after switching stack pointers
Keith Packard [Tue, 8 Oct 2013 04:53:53 +0000 (21:53 -0700)]
altos/lpc, altos/stm: ARM requires ISB after switching stack pointers

This sticks a barrier in the CPU to prevent using the wrong stack
register past the change.

Signed-off-by: Keith Packard <keithp@keithp.com>
7 years agoaltos: Don't require an LED for ao_flight
Keith Packard [Tue, 8 Oct 2013 04:51:30 +0000 (21:51 -0700)]
altos: Don't require an LED for ao_flight

EasyMini has no LEDs. Deal with it.

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