fw/altos
11 days agoaltos: Use fast timer for buttons instead of edge-triggered ISR master
Keith Packard [Tue, 13 Aug 2019 00:30:48 +0000 (17:30 -0700)]
altos: Use fast timer for buttons instead of edge-triggered ISR

If the button bounces between the triggering interrupt and the button
state check, we could lose the final state change of the button and
send an incorrect event to the application. In the worst case, the button
would end up in exactly the wrong state, toggling in the wrong direction.

Use the fast timer to poll all buttons instead so that there is only
one check of each button at each poll interval (instead of the
interrupt and the state check). This makes buttons reliably debounced.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 weeks agoaltosui: Make it possible to disable APRS
Keith Packard [Mon, 5 Aug 2019 04:12:29 +0000 (21:12 -0700)]
altosui: Make it possible to disable APRS

The menu says "Disabled", but the device wants "0". Translate back and
forth to avoid an error.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 weeks agoaltosui: Fix path to easymini-v2.0 ihx file
Keith Packard [Mon, 5 Aug 2019 03:33:21 +0000 (20:33 -0700)]
altosui: Fix path to easymini-v2.0 ihx file

This gets the bits included in macosx and linux builds

Signed-off-by: Keith Packard <keithp@keithp.com>
2 weeks agoaltosdroid: Hack up build to 'work' for now
Keith Packard [Tue, 16 Jul 2019 18:15:20 +0000 (11:15 -0700)]
altosdroid: Hack up build to 'work' for now

Android apps are now build with gradle instead of ant; the ant bits
are stale and only work with old java. Use old java to run ant while
using the current java compiler to build things.

This requires a custom version of the google play API library.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 weeks agoao-bringup: add a turnon_telefireeight script
Bdale Garbee [Fri, 2 Aug 2019 20:20:39 +0000 (14:20 -0600)]
ao-bringup: add a turnon_telefireeight script

5 weeks agoUse discovered java path for compiler and jni include files
Keith Packard [Wed, 17 Jul 2019 18:40:06 +0000 (11:40 -0700)]
Use discovered java path for compiler and jni include files

Instead of using the discovered java bits just for jni.h, also use
javac from that directory. Add JAVA_VERSION param to set language
version for newer compilers.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltoslib: Stop using deprecated Java functionality
Keith Packard [Wed, 17 Jul 2019 18:38:43 +0000 (11:38 -0700)]
altoslib: Stop using deprecated Java functionality

new Double(x) -> Double.valueOf(x)
c.newInstance() -> c.getDeclaredConstructor().newInstance()

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoao-tools/ao-eeprom: Add support for TeleFireTwo
Keith Packard [Tue, 16 Jul 2019 19:08:33 +0000 (12:08 -0700)]
ao-tools/ao-eeprom: Add support for TeleFireTwo

Display converted pressure and thrust data along with raw thermistor
data.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos: Record all failed sensors and report status at power up
Keith Packard [Tue, 16 Jul 2019 18:12:49 +0000 (11:12 -0700)]
altos: Record all failed sensors and report status at power up

Use DATA bits to mark which sensors have failed, then report that in
beeps at startup time to help diagnose hardware failures while still
allowing the board to be used over USB.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos/micropeak-v2.0: Reduce power usage
Keith Packard [Tue, 16 Jul 2019 18:10:36 +0000 (11:10 -0700)]
altos/micropeak-v2.0: Reduce power usage

This gets power consumption down under 1mA on the pad. Not really low
enough to sell, but I think this is about as low as the chip will go.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos/stmf0: Allow SPI to be powered down when idle if desired
Keith Packard [Tue, 16 Jul 2019 18:07:27 +0000 (11:07 -0700)]
altos/stmf0: Allow SPI to be powered down when idle if desired

Set SPI_1_POWER_MANAGE and/or SPI_2_POWER_MANAGE to have the spi
blocks powered down when not in use.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos/stmf0: Add 'ao_serial_shutdown'
Keith Packard [Tue, 16 Jul 2019 18:04:16 +0000 (11:04 -0700)]
altos/stmf0: Add 'ao_serial_shutdown'

This powers down the UART logic on request.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos/stmf0: Leave power interface disabled until needed
Keith Packard [Tue, 16 Jul 2019 18:02:56 +0000 (11:02 -0700)]
altos/stmf0: Leave power interface disabled until needed

We only need the power interface when placing the chip in the lowest
power state, so don't power up the power interface clock at startup,
instead wait until later.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoicon: Add altosdroid-specific icon
Keith Packard [Tue, 16 Jul 2019 17:23:54 +0000 (10:23 -0700)]
icon: Add altosdroid-specific icon

Google style guides have no drop shadows anymore, so create an icon
for the play store without one.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltosuilib: Don't crash when flashing an unknown device
Keith Packard [Tue, 16 Jul 2019 17:22:02 +0000 (10:22 -0700)]
altosuilib: Don't crash when flashing an unknown device

An unknown device will not have a config; check for that before
showing radio calibration dialogs.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoao-tools/ao-eeprom: Add altitude data for baro values
Keith Packard [Tue, 16 Jul 2019 16:57:24 +0000 (09:57 -0700)]
ao-tools/ao-eeprom: Add altitude data for baro values

Displays altitude along with pressure and temp for baro sensor data.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoao-tools/lib: Add atmosphere model
Keith Packard [Tue, 16 Jul 2019 16:56:39 +0000 (09:56 -0700)]
ao-tools/lib: Add atmosphere model

Converts between pressure and altitude

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoao-tools/ao-telem: Fix man page and usage to match code
Keith Packard [Mon, 15 Jul 2019 20:28:11 +0000 (13:28 -0700)]
ao-tools/ao-telem: Fix man page and usage to match code

ao-telem just parses .telem files.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoaltos: Allow ms5607 driver to either set ao_sensor_errors or panic
Keith Packard [Mon, 15 Jul 2019 20:26:30 +0000 (13:26 -0700)]
altos: Allow ms5607 driver to either set ao_sensor_errors or panic

Products that want to remain usable (over USB) after a sensor failure
don't want to panic when the ms5607 fails, but products with limited
ROM space don't want to have extra code to check for the sensor
failure and panic. Change the MS5607 driver to allow either option,
and then make the micropeak based devices use it.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 weeks agoao-tools: Change ao-eeprom into eeprom analysis tool
Keith Packard [Mon, 15 Jul 2019 20:22:15 +0000 (13:22 -0700)]
ao-tools: Change ao-eeprom into eeprom analysis tool

ao-eeprom used to be a TeleMetrum v0.2 specific tool for fetching
eeprom contents from that device. ao-dumpflash handles that case now.

ao-eeprom now parses .eeprom files and displays their contents.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/micropeak-v2: Update .gitignore
Keith Packard [Wed, 19 Jun 2019 06:18:19 +0000 (23:18 -0700)]
altos/micropeak-v2: Update .gitignore

Ignore built stuff

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/micropeak-v2: Correct AO_LOG_ID value
Keith Packard [Wed, 19 Jun 2019 06:17:10 +0000 (23:17 -0700)]
altos/micropeak-v2: Correct AO_LOG_ID value

Typo wasn't caught by the compiler (thanks!)

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/micropeak-v2: Erase log space at end of BOOST_DELAY
Keith Packard [Wed, 19 Jun 2019 06:16:12 +0000 (23:16 -0700)]
altos/micropeak-v2: Erase log space at end of BOOST_DELAY

We have to erase the log before the flight starts, so this seems like
the latest possible moment.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Don't dump MS5607 eeprom in 'B' command
Keith Packard [Wed, 19 Jun 2019 06:14:54 +0000 (23:14 -0700)]
altos: Don't dump MS5607 eeprom in 'B' command

MicroPeak v2 now has config stuff where these values get shown

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Add support for MicroPeak v2 eeprom format
Keith Packard [Wed, 19 Jun 2019 06:14:05 +0000 (23:14 -0700)]
altoslib: Add support for MicroPeak v2 eeprom format

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/micropeak-v2.0: expose log and config commands over USB
Keith Packard [Tue, 18 Jun 2019 21:50:53 +0000 (14:50 -0700)]
altos/micropeak-v2.0: expose log and config commands over USB

This lets AltosUI handle the eeprom data

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosui/telegps: Display error message when attempting to graph unknown files
Keith Packard [Tue, 18 Jun 2019 21:50:18 +0000 (14:50 -0700)]
altosui/telegps: Display error message when attempting to graph unknown files

Instead of presenting an empty graph window.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltoslib: Always create an ordered record set for eeprom files
Keith Packard [Tue, 18 Jun 2019 21:25:09 +0000 (14:25 -0700)]
altoslib: Always create an ordered record set for eeprom files

If we can't parse the format, just leave it empty. This makes code
handling arbitrary records much easier as it doesn't have to check for
the ordered set existing.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/micropeak-v2.0: Go into standby mode after landing
Keith Packard [Tue, 18 Jun 2019 20:02:51 +0000 (13:02 -0700)]
altos/micropeak-v2.0: Go into standby mode after landing

This is the lowest power state we can reach, and consumes about 15µA
or less.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/micropeak-v2.0: Fix LED blinking sequence at power-on
Keith Packard [Tue, 18 Jun 2019 20:02:12 +0000 (13:02 -0700)]
altos/micropeak-v2.0: Fix LED blinking sequence at power-on

'pips' happens between altitude report and data dump.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/micropeak-v2.0: Wait for the power supply to stabilize before measuring
Keith Packard [Tue, 18 Jun 2019 07:11:49 +0000 (00:11 -0700)]
altos/micropeak-v2.0: Wait for the power supply to stabilize before measuring

If we don't wait before measuring the battery, it will often read
under 3.2V right at boot time, which puts MicroPeak in flight mode
instead of USB mode.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos/micropeak-v2.0: Don't run flight code when plugged in
Keith Packard [Tue, 18 Jun 2019 06:44:50 +0000 (23:44 -0700)]
altos/micropeak-v2.0: Don't run flight code when plugged in

No sense running the flight code when there's a USB cable attached.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltos: Support ao_ms5607_dump when no ms5607 task
Keith Packard [Tue, 18 Jun 2019 06:43:02 +0000 (23:43 -0700)]
altos: Support ao_ms5607_dump when no ms5607 task

MicroPeak v2.0 has tasking support, but doesn't have a separate ms5607
task. That means the device isn't getting initialized when not running
the flight code, so in cmd mode we need to make sure it's initialized,
and we also need to actually fetch a value to display.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agodoc: Say 'thousands of feet' instead of '3000-4000 feet'
Keith Packard [Tue, 18 Jun 2019 06:41:51 +0000 (23:41 -0700)]
doc: Say 'thousands of feet' instead of '3000-4000 feet'

No reason to try and be precise here.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoaltosui: Ship EasyMini v2.0 firwmare
Keith Packard [Mon, 17 Jun 2019 21:49:36 +0000 (14:49 -0700)]
altosui: Ship EasyMini v2.0 firwmare

Left this out in the last release...

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agodoc: Describe what sunlight does to MicroPeak and how to protect it
Keith Packard [Mon, 17 Jun 2019 21:47:56 +0000 (14:47 -0700)]
doc: Describe what sunlight does to MicroPeak and how to protect it

Show flight data from micropeak in sunlight, a picture of foam
installed on micropeak and the resulting data.

Signed-off-by: Keith Packard <keithp@keithp.com>
2 months agoadd an explicit reference to Poron open-cell foam in Appendix A
Bdale Garbee [Wed, 5 Jun 2019 16:46:57 +0000 (10:46 -0600)]
add an explicit reference to Poron open-cell foam in Appendix A

3 months agoaltos: Directly compute radio tuning values from frequency
Keith Packard [Sat, 4 May 2019 04:51:28 +0000 (21:51 -0700)]
altos: Directly compute radio tuning values from frequency

The 8051 compiler doesn't support 64-bit ints, so the old
code used an iterative method in 32-bit values. That could take
a long time when the frequency was mis-entered in Hz or MHz instead of
kHz.

This direct-computation uses 64-bit ints, but takes a fixed amount of
time for any inputs.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoAdd TeleStatic-v3.0 makefiles
Keith Packard [Tue, 23 Apr 2019 13:45:54 +0000 (06:45 -0700)]
Add TeleStatic-v3.0 makefiles

4 months agoaltos: Add preliminary TeleStatic v3.0 code
Keith Packard [Mon, 22 Apr 2019 01:30:43 +0000 (18:30 -0700)]
altos: Add preliminary TeleStatic v3.0 code

This adds the pin definitions and all of the code except for the
ads131a04 driver.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos/telefireone-v2.0: Include MAX6691 data in ring
Keith Packard [Mon, 22 Apr 2019 01:19:59 +0000 (18:19 -0700)]
altos/telefireone-v2.0: Include MAX6691 data in ring

Define HAS_MAX6691 which tells the data code to pull the MAX6691 data
into the data ring for logging etc.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Change MAX6691 driver to run its own thread
Keith Packard [Mon, 22 Apr 2019 01:18:55 +0000 (18:18 -0700)]
altos: Change MAX6691 driver to run its own thread

This just captures temp data continuously; it takes 100ms to get the
temp data from the sensor, so the maximum rate is around 10 samples/sec.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Add MAX6691 and ADS131A0X data to ring if present
Keith Packard [Mon, 22 Apr 2019 01:14:05 +0000 (18:14 -0700)]
altos: Add MAX6691 and ADS131A0X data to ring if present

Add these two devices as potential data sources to be added into the
ring if available.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos/telefireone-v2.0: Definitions needed for MAX6691 driver
Keith Packard [Sun, 21 Apr 2019 23:53:51 +0000 (16:53 -0700)]
altos/telefireone-v2.0: Definitions needed for MAX6691 driver

Fix the DMA channel definition (STM starts values at 1 for unknown reasons).
Add definition of the power enable bit for the timer.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: get ao_max6691 driver working
Keith Packard [Sun, 21 Apr 2019 23:49:19 +0000 (16:49 -0700)]
altos: get ao_max6691 driver working

The driver uses a timer connected to a DMA engine to measure pulse
widths from the chip. We get 11 pulses for 4 channels; the first pulse
is caused by the timer starting up, the next two are the marker pulse
and then 8 more indicating the end of the high and low periods for
each channel.

The driver API returns the 8 pulse widths; the caller is expected to
know what to do with those values as using them requires knowing the
value of the configuration resistor and the characteristics of the
thermistors.

The test code assumes a 1k configuration resistor, using that it computes
the resistance of the four thermistors.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Work on MAX6691 driver
Keith Packard [Fri, 12 Apr 2019 06:54:37 +0000 (23:54 -0700)]
altos: Work on MAX6691 driver

4 months agoaltos/lambdakey-v1.0: Fix obvious build errors
Keith Packard [Sun, 21 Apr 2019 19:55:20 +0000 (12:55 -0700)]
altos/lambdakey-v1.0: Fix obvious build errors

The code is too large to run on this device at this point, but at least
it doesn't fail to compile?

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Correct monitor idle IMU data for EasyMega v2
Keith Packard [Fri, 19 Apr 2019 02:48:00 +0000 (19:48 -0700)]
altoslib: Correct monitor idle IMU data for EasyMega v2

The IMU on EasyMega v2 is rotated from the other devices using this sensor.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltoslib: Fetch correct mag along data for EasyMega v2
Keith Packard [Fri, 19 Apr 2019 02:46:24 +0000 (19:46 -0700)]
altoslib: Fetch correct mag along data for EasyMega v2

Was using the wrong axis (y) instead of the correct one (x)

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Use ao_data_accel_invert when changing orientation value
Keith Packard [Thu, 18 Apr 2019 21:42:15 +0000 (14:42 -0700)]
altos: Use ao_data_accel_invert when changing orientation value

Instead of using AO_ACCEL_INVERT, use the macro which flips the values
around. This fixes a bug with ADXL375 flight computers (EasyMega v2.0) where the
accel cal values would be scrambled when changing orientation.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agodoc: Make sure all 'code' examples are in DejaVu Sans Mono
Keith Packard [Thu, 18 Apr 2019 21:32:48 +0000 (14:32 -0700)]
doc: Make sure all 'code' examples are in DejaVu Sans Mono

We were inheriting the default value for this setting, which was Courier

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agodoc: Document LEDs on TeleGPS devices
Keith Packard [Fri, 29 Mar 2019 05:29:21 +0000 (22:29 -0700)]
doc: Document LEDs on TeleGPS devices

V1 has just the battery charger. V2 adds the GPS lock indicator.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos/stm32f4-disco: Remove scheme
Keith Packard [Tue, 19 Mar 2019 00:21:57 +0000 (17:21 -0700)]
altos/stm32f4-disco: Remove scheme

This demo doesn't need a lisp interpreter

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos/stm32f4: Working on USB
Keith Packard [Tue, 19 Mar 2019 00:20:52 +0000 (17:20 -0700)]
altos/stm32f4: Working on USB

Reset now works, still no packets

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos/stm32f4: Wrong value for CK48MSEL_PLL_Q
Keith Packard [Tue, 19 Mar 2019 00:20:14 +0000 (17:20 -0700)]
altos/stm32f4: Wrong value for CK48MSEL_PLL_Q

This meant that the USB clock wasn't actually getting started...

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos/stm32f4: Need to read-back register after clock enable
Keith Packard [Tue, 19 Mar 2019 00:17:21 +0000 (17:17 -0700)]
altos/stm32f4: Need to read-back register after clock enable

This was reported as necessary; I have no idea, but it's not
expensive, so why not...

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos/stm32f4: Add -mfloat-abi=hard compile option
Keith Packard [Tue, 19 Mar 2019 00:16:16 +0000 (17:16 -0700)]
altos/stm32f4: Add -mfloat-abi=hard compile option

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos: ARM ABI requires 8-byte aligned stack
Keith Packard [Tue, 19 Mar 2019 00:15:16 +0000 (17:15 -0700)]
altos: ARM ABI requires 8-byte aligned stack

This makes doubles on the stack (as for var-args functions) work

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos/drivers/ao_led.c: Declare LED port as void * to allow any SoC to use this code
Keith Packard [Tue, 12 Mar 2019 11:58:20 +0000 (12:58 +0100)]
altos/drivers/ao_led.c: Declare LED port as void * to allow any SoC to use this code

The generic LED code needs a generic type for the GPIO port.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Wed, 6 Mar 2019 01:31:37 +0000 (18:31 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

5 months agodoc: A few minor edits to telelaunch docs
Keith Packard [Wed, 6 Mar 2019 01:25:44 +0000 (17:25 -0800)]
doc: A few minor edits to telelaunch docs

3 → three
less → fewer
transreflexive -> reflective

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Tue, 26 Feb 2019 01:30:08 +0000 (18:30 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

5 months agoaltos: add ao_time_ns API
Keith Packard [Mon, 25 Feb 2019 23:42:25 +0000 (16:42 -0700)]
altos: add ao_time_ns API

This provides nano-second resolution times by reading the systick
value (which runs at 250ns ticks on stm).

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos: Change default time type to 32-bits
Keith Packard [Mon, 25 Feb 2019 23:41:45 +0000 (16:41 -0700)]
altos: Change default time type to 32-bits

Offers additional range for internal use without increasing cost on
32-bit platforms.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos: Fix several mis-specified time types
Keith Packard [Mon, 25 Feb 2019 23:40:16 +0000 (16:40 -0700)]
altos: Fix several mis-specified time types

Make sure AO_TICK_TYPE is used "everywhere", instead of uint16_t or other.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoaltos: ads124s0x successfully reading data
Bdale Garbee [Sun, 24 Feb 2019 22:10:25 +0000 (15:10 -0700)]
altos: ads124s0x successfully reading data

5 months agoaltos: snapshot - working on ads124x0x driver
Bdale Garbee [Sun, 24 Feb 2019 18:51:58 +0000 (11:51 -0700)]
altos: snapshot - working on ads124x0x driver

5 months agoaltos: ADS124S0X driver compiles now
Bdale Garbee [Sun, 24 Feb 2019 17:49:47 +0000 (10:49 -0700)]
altos: ADS124S0X driver compiles now

5 months agoaltos: fix ads124s0x data structure
Bdale Garbee [Sun, 24 Feb 2019 17:28:15 +0000 (10:28 -0700)]
altos: fix ads124s0x data structure

5 months agoaltos: first cut at ADS124S0X driver interrupt handling
Bdale Garbee [Sun, 24 Feb 2019 17:25:31 +0000 (10:25 -0700)]
altos: first cut at ADS124S0X driver interrupt handling

6 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Fri, 22 Feb 2019 04:57:26 +0000 (21:57 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

6 months agodoc: actually add the telelaunch files
Bdale Garbee [Fri, 22 Feb 2019 04:57:08 +0000 (21:57 -0700)]
doc: actually add the telelaunch files

6 months agoaltos: Allow applications to override newlib printf selection
Keith Packard [Fri, 22 Feb 2019 03:28:14 +0000 (19:28 -0800)]
altos: Allow applications to override newlib printf selection

Re-defining NEWLIB_PRINTF_CFLAGS will allow applications to select
printf with floating point support if desired.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Fix ISR declarations to make them non-weak
Keith Packard [Fri, 22 Feb 2019 03:26:41 +0000 (19:26 -0800)]
altos: Fix ISR declarations to make them non-weak

In my zeal to eliminate warnings, I added declarations of all ISR
functions to a shared header file. However, I managed to include the
'weak' declaration, which meant that the intended ISR functions were
as weak as the 'default' ISR functions. This left all interrupts
non-functional, which doesn't make for a happy program.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/telefireone-v2.0: Remove build of ao_product.h from Makefile
Keith Packard [Tue, 19 Feb 2019 00:43:50 +0000 (16:43 -0800)]
altos/telefireone-v2.0: Remove build of ao_product.h from Makefile

This is built in common code now.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agodoc: new TeleLaunch system manual
Bdale Garbee [Fri, 22 Feb 2019 00:14:24 +0000 (17:14 -0700)]
doc: new TeleLaunch system manual

6 months agoaltos: first cut of code for telefireone-v2.0
Bdale Garbee [Tue, 19 Feb 2019 00:39:34 +0000 (17:39 -0700)]
altos: first cut of code for telefireone-v2.0

6 months agoaltos: Build telefireone-v1.0 by default
Keith Packard [Tue, 19 Feb 2019 00:26:39 +0000 (16:26 -0800)]
altos: Build telefireone-v1.0 by default

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/telefireone-v1.0: Track ao_led_init API change
Keith Packard [Tue, 19 Feb 2019 00:26:08 +0000 (16:26 -0800)]
altos/telefireone-v1.0: Track ao_led_init API change

No longer takes a parameter.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/telefireone-v1.0: Set various ADC values
Keith Packard [Tue, 19 Feb 2019 00:25:38 +0000 (16:25 -0800)]
altos/telefireone-v1.0: Set various ADC values

Reference voltage and divider resistor values.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/telefireone-v1.0: Set AO_LOG_FORMAT
Keith Packard [Tue, 19 Feb 2019 00:25:06 +0000 (16:25 -0800)]
altos/telefireone-v1.0: Set AO_LOG_FORMAT

Use AO_LOG_FORMAT_TELFIRETWO for now; perhaps we'll have a new format
at some point.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/telefireone-v1.0: Turn off USE_INTERNAL_FLASH
Keith Packard [Tue, 19 Feb 2019 00:24:21 +0000 (16:24 -0800)]
altos/telefireone-v1.0: Turn off USE_INTERNAL_FLASH

This is for TeleMini v1.0 which stored log data to the program flash.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/telefireone-v1.0: Clean up Makefile
Keith Packard [Tue, 19 Feb 2019 00:23:13 +0000 (16:23 -0800)]
altos/telefireone-v1.0: Clean up Makefile

Follow other projects and remove common bits which are now in
Makefile.defs

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/telefireone-v1.0: Doesn't have a beeper
Keith Packard [Tue, 19 Feb 2019 00:22:07 +0000 (16:22 -0800)]
altos/telefireone-v1.0: Doesn't have a beeper

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Remove AO_LOG_STATE from ao_log_telefiretwo
Keith Packard [Tue, 19 Feb 2019 00:20:14 +0000 (16:20 -0800)]
altos: Remove AO_LOG_STATE from ao_log_telefiretwo

Telefiretwo never changes flight state, so these packets weren't going
to be written.

Also stop passing &log to ao_log_firetwo -- it always got the global
anyways, just use it directly.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Move common build definitions to src/Makefile.defs
Keith Packard [Mon, 18 Feb 2019 20:59:05 +0000 (12:59 -0800)]
altos: Move common build definitions to src/Makefile.defs

This cleans up the build process for all architectures, providing a
common place to specify vpath, cflags and build rules for various
common files.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/attiny: Mark 'mode' param to ao_exti_setup_port as used
Keith Packard [Mon, 18 Feb 2019 19:25:21 +0000 (11:25 -0800)]
altos/attiny: Mark 'mode' param to ao_exti_setup_port as used

Retain API.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Add -Wshadow to CFLAGS
Keith Packard [Mon, 18 Feb 2019 18:42:23 +0000 (10:42 -0800)]
altos: Add -Wshadow to CFLAGS

And fix up the related messages.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/stm-demo: Make this build again after various API and CFLAGS changes
Keith Packard [Mon, 18 Feb 2019 18:41:31 +0000 (10:41 -0800)]
altos/stm-demo: Make this build again after various API and CFLAGS changes

Deal with LED API change. Remove unused functions.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoao-tools/ao-dump-up: Document --wait flag
Keith Packard [Mon, 18 Feb 2019 18:40:06 +0000 (10:40 -0800)]
ao-tools/ao-dump-up: Document --wait flag

--wait means to poll for a µPusb device instead of bailing when none
exists at startup. Quite useful for testing a batch of new device.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoao-bringup: chaosread is no longer part of altos
Keith Packard [Mon, 18 Feb 2019 18:39:11 +0000 (10:39 -0800)]
ao-bringup: chaosread is no longer part of altos

this has been moved to a separate project.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agostm: Expose LCD font API in ao_lcd_font.h
Keith Packard [Mon, 18 Feb 2019 18:38:21 +0000 (10:38 -0800)]
stm: Expose LCD font API in ao_lcd_font.h

That required renaming the existing LCD font defintions from
ao_lcd_font.h to ao_lcd_font_bits.h.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Add a pile more compiler warnings
Keith Packard [Tue, 5 Feb 2019 06:39:34 +0000 (22:39 -0800)]
altos: Add a pile more compiler warnings

Adds:
-Wpointer-arith
-Wstrict-prototypes
-Wmissing-prototypes
-Wmissing-declarations
-Wnested-externs

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Declare task stack as union of uint8_t and uint32_t
Keith Packard [Tue, 5 Feb 2019 06:38:23 +0000 (22:38 -0800)]
altos: Declare task stack as union of uint8_t and uint32_t

Support -Wcast-align and -Wpointer-arith while still allowing
architectures to pick whether they want an 8-bit or 32-bit stack.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Remove unused ao_adc_get from ao_adc_stm.c
Keith Packard [Tue, 5 Feb 2019 06:34:21 +0000 (22:34 -0800)]
altos: Remove unused ao_adc_get from ao_adc_stm.c

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Stop doing pointer arith on void *
Keith Packard [Tue, 5 Feb 2019 06:33:32 +0000 (22:33 -0800)]
altos: Stop doing pointer arith on void *

Switch to uint8_t * instead.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Add 'void' to function declarations with no params.
Keith Packard [Tue, 5 Feb 2019 06:32:24 +0000 (22:32 -0800)]
altos: Add 'void' to function declarations with no params.

Support -Wstrict-prototypes

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Declare all public functions in header files
Keith Packard [Tue, 5 Feb 2019 06:28:02 +0000 (22:28 -0800)]
altos: Declare all public functions in header files

Including interrupt vectors to catch mis-spellings.
Working toward supporting -Wmissing-prototypes

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos: Mark local functions 'static'
Keith Packard [Tue, 5 Feb 2019 06:24:37 +0000 (22:24 -0800)]
altos: Mark local functions 'static'

Working towards supporting -Wmissing-prototypes

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agoaltos/stm: Note that ao_i2c_recv_dma_isr isn't actually used
Keith Packard [Tue, 5 Feb 2019 06:35:02 +0000 (22:35 -0800)]
altos/stm: Note that ao_i2c_recv_dma_isr isn't actually used

This function resets the i2c transceiver after DMA completes, but it
hasn't ever been hooked up. Some testing would be a good idea. For
now, just add a comment and mark the function as referenced to avoid a
compiler warning.

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