fw/altos
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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

4 years 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 years agoAdd TeleStatic-v3.0 makefiles
Keith Packard [Tue, 23 Apr 2019 13:45:54 +0000 (06:45 -0700)]
Add TeleStatic-v3.0 makefiles

4 years 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 years 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 years 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 years 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 years 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 years 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 years agoaltos: Work on MAX6691 driver
Keith Packard [Fri, 12 Apr 2019 06:54:37 +0000 (23:54 -0700)]
altos: Work on MAX6691 driver

4 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years 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 years agoaltos: ads124s0x successfully reading data
Bdale Garbee [Sun, 24 Feb 2019 22:10:25 +0000 (15:10 -0700)]
altos: ads124s0x successfully reading data

5 years 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 years agoaltos: ADS124S0X driver compiles now
Bdale Garbee [Sun, 24 Feb 2019 17:49:47 +0000 (10:49 -0700)]
altos: ADS124S0X driver compiles now

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

5 years 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

5 years 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

5 years 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

5 years 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>
5 years 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>
5 years 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>
5 years agodoc: new TeleLaunch system manual
Bdale Garbee [Fri, 22 Feb 2019 00:14:24 +0000 (17:14 -0700)]
doc: new TeleLaunch system manual

5 years 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

5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years 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>
5 years agoaltos: Fix spelling of stm_dma_ch4_5_6_isr
Keith Packard [Tue, 5 Feb 2019 06:42:05 +0000 (22:42 -0800)]
altos: Fix spelling of stm_dma_ch4_5_6_isr

This spellingn error would have caused all DMA to these channels to fail.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 years agoaltos: ADS124S0X driver compiles with initialization code maybe completed
Bdale Garbee [Mon, 18 Feb 2019 00:35:25 +0000 (17:35 -0700)]
altos: ADS124S0X driver compiles with initialization code maybe completed

5 years agoaltos: add initial support for TeleFireOne v2.0
Bdale Garbee [Sun, 17 Feb 2019 21:38:53 +0000 (14:38 -0700)]
altos: add initial support for TeleFireOne v2.0

5 years agoUse strip-nondeterminism to fix JAR timestamps
Keith Packard [Sun, 3 Feb 2019 20:48:45 +0000 (12:48 -0800)]
Use strip-nondeterminism to fix JAR timestamps

.jar files are just zip files, and contain dates. These will cause the
build to be non-reproducible. Use strip-nondeterminism to smash all of
these back to a fixed value.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 years agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Mon, 28 Jan 2019 20:46:59 +0000 (13:46 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

5 years agoMakefiles, too
Bdale Garbee [Mon, 28 Jan 2019 20:45:31 +0000 (13:45 -0700)]
Makefiles, too

5 years agoaltos/telefireeight-v2.0: Add flash loader Makefile
Keith Packard [Mon, 28 Jan 2019 19:35:32 +0000 (11:35 -0800)]
altos/telefireeight-v2.0: Add flash loader Makefile

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