fw/altos
3 months agoaltos/stm32f1: Support timers 2,3,4 for fast timer
Keith Packard [Sun, 14 Jan 2024 04:57:00 +0000 (20:57 -0800)]
altos/stm32f1: Support timers 2,3,4 for fast timer

Make the code deal with differences between timer 18 and 234

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco-v3.0: Battery voltage is on PA2
Keith Packard [Thu, 11 Jan 2024 23:17:32 +0000 (16:17 -0700)]
altos/telelco-v3.0: Battery voltage is on PA2

Which is ADC input #2

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco-v3.0: Don't connect PA6 to SPI
Keith Packard [Thu, 11 Jan 2024 23:16:58 +0000 (16:16 -0700)]
altos/telelco-v3.0: Don't connect PA6 to SPI

MISO is not used, and we need the pin for other stuff.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Allow PA6 to be left alone in the SPI code
Keith Packard [Thu, 11 Jan 2024 22:12:34 +0000 (15:12 -0700)]
altos/stm32f1: Allow PA6 to be left alone in the SPI code

This is MISO, which the LCD driver doesn't use. Leave it alone so we
can use it for other stuff.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Poke the ADC harder to get it to sample
Keith Packard [Thu, 11 Jan 2024 22:11:06 +0000 (15:11 -0700)]
altos/stm32f1: Poke the ADC harder to get it to sample

The ADC requires a bunch of poking to get it started.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Turn on ADC during initialization sequence
Keith Packard [Thu, 11 Jan 2024 07:49:00 +0000 (23:49 -0800)]
altos/stm32f1: Turn on ADC during initialization sequence

The ADC needs to be left 'on' so that it will actually
run the conversion sequence when started.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco-v3.0: Add USB pull up
Keith Packard [Thu, 11 Jan 2024 00:27:33 +0000 (17:27 -0700)]
altos/telelco-v3.0: Add USB pull up

And move the ARM LED to PA9

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Add STM_RCC_CFGR_PLLXTPRE_MASK value
Keith Packard [Thu, 11 Jan 2024 00:26:12 +0000 (17:26 -0700)]
altos/stm32f1: Add STM_RCC_CFGR_PLLXTPRE_MASK value

Necessary when setting the PLLXTPRE value

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Set PLLXTPRE value
Keith Packard [Thu, 11 Jan 2024 00:24:32 +0000 (17:24 -0700)]
altos/stm32f1: Set PLLXTPRE value

This is the pre-PLL divider value which is needed when we want to
use a 16MHz crystal and a 72MHz sysclk

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Support beeper on tim3
Keith Packard [Thu, 11 Jan 2024 00:22:57 +0000 (17:22 -0700)]
altos/stm32f1: Support beeper on tim3

Add a bit more flexibility to the beeper code

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco*: Make LCO voltage display work on 2.0 and 3.0
Keith Packard [Mon, 8 Jan 2024 04:13:04 +0000 (20:13 -0800)]
altos/telelco*: Make LCO voltage display work on 2.0 and 3.0

Fix up the common code to handle LCO voltage display via box 0

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco-v3.0: Fix up search UI
Keith Packard [Mon, 8 Jan 2024 03:57:03 +0000 (19:57 -0800)]
altos/telelco-v3.0: Fix up search UI

Present a progress bar. Show the detected box numbers.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco-v3.0: Add ao_adc_single usage to get battery voltage
Keith Packard [Mon, 8 Jan 2024 03:14:03 +0000 (19:14 -0800)]
altos/telelco-v3.0: Add ao_adc_single usage to get battery voltage

Poll the ADC to acquire battery voltage data.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Add ao_adc_single support
Keith Packard [Mon, 8 Jan 2024 03:13:22 +0000 (19:13 -0800)]
altos/stm32f1: Add ao_adc_single support

This supports polling the ADC for values instead of having
them get dumped into a ring at a regular rate.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos: Move ao_adc_single.h API header to kernel/
Keith Packard [Mon, 8 Jan 2024 02:58:41 +0000 (18:58 -0800)]
altos: Move ao_adc_single.h API header to kernel/

THis was in stm, but will be needed by other architectures.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco-v3.0: Add some real drawing stuff
Keith Packard [Mon, 8 Jan 2024 01:05:34 +0000 (17:05 -0800)]
altos/telelco-v3.0: Add some real drawing stuff

This required enabling devices with 128kB flash.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco-v3.0: Use eeprom emulation for config storage
Keith Packard [Mon, 8 Jan 2024 00:48:43 +0000 (16:48 -0800)]
altos/telelco-v3.0: Use eeprom emulation for config storage

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Add eeprom emulation using flash
Keith Packard [Mon, 8 Jan 2024 00:47:47 +0000 (16:47 -0800)]
altos/stm32f1: Add eeprom emulation using flash

Use the last 2kB of flash to emulate eeprom storage for TeleLCO. This should
also be useful for EasyMega.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos: Add initial TeleLCO-v3 bits
Keith Packard [Mon, 8 Jan 2024 00:21:40 +0000 (16:21 -0800)]
altos: Add initial TeleLCO-v3 bits

This might light up some of the hardware...

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos: Build in 'draw' directory first
Keith Packard [Mon, 8 Jan 2024 00:20:42 +0000 (16:20 -0800)]
altos: Build in 'draw' directory first

This makes various font bits for targets using graphics

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Add ao_fast_timer.c
Keith Packard [Mon, 8 Jan 2024 00:20:18 +0000 (16:20 -0800)]
altos/stm32f1: Add ao_fast_timer.c

Needed for TeleLCO

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/telelco-v3: Move USB pullup from PA9 to PA10
Keith Packard [Sun, 7 Jan 2024 07:24:13 +0000 (23:24 -0800)]
altos/telelco-v3: Move USB pullup from PA9 to PA10

Production boards will have the pull-up on PA10, and Bdale will hack
up the protos to match so we don't have to have separate firmware.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agofix product name
Bdale Garbee [Sun, 7 Jan 2024 22:55:53 +0000 (15:55 -0700)]
fix product name

3 months agoaltos/telelco-v3: Create initial flash loader setup
Keith Packard [Sun, 7 Jan 2024 07:16:23 +0000 (23:16 -0800)]
altos/telelco-v3: Create initial flash loader setup

Copied from easymega-v3 with USB pull-up moved to PA9. Note this
assumes the proto boards will have a resistor fitted there, which is
not in the artwork.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/easymega-v3.0: Switch to STM32F103
Keith Packard [Thu, 30 Mar 2023 07:46:36 +0000 (00:46 -0700)]
altos/easymega-v3.0: Switch to STM32F103

For some reason, there was easymega v3.0 firmware sitting here, but
it was mostly a copy of easymega v2.0 bits. Fix that to support the
current design based on the STM32F103 SoC.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agodrivers: Add real i2c support to mmc5983
Keith Packard [Thu, 30 Mar 2023 07:45:17 +0000 (00:45 -0700)]
drivers: Add real i2c support to mmc5983

It only had bit-banging i2c support; go ahead
and add "real" i2c support for EasyMega v3

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Add more IP block drivers
Keith Packard [Thu, 30 Mar 2023 07:05:21 +0000 (00:05 -0700)]
altos/stm32f1: Add more IP block drivers

adc, beep, exti, i2c

Also hooked up data sampling bits in ao_timer.c

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos: Fix up stm32f103-nucleo 'lco' demo mode
Keith Packard [Thu, 16 Mar 2023 17:24:36 +0000 (10:24 -0700)]
altos: Fix up stm32f103-nucleo 'lco' demo mode

Adjust some layout now that I've got a real screen to play with.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos: Clean up st7565 LCD driver
Keith Packard [Thu, 16 Mar 2023 17:23:05 +0000 (10:23 -0700)]
altos: Clean up st7565 LCD driver

Get rid of AO_ prefix on chip-specific register values.
Declare ao_st7565_instructions to take const uint8_t * so
it can accept an array in flash.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f103-nucleo: Draw more of the LCO demo screen
Keith Packard [Thu, 9 Mar 2023 01:14:56 +0000 (17:14 -0800)]
altos/stm32f103-nucleo: Draw more of the LCO demo screen

Add the box/pad screen.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f103-nucleo: Drive a screen too
Keith Packard [Wed, 8 Mar 2023 23:54:39 +0000 (15:54 -0800)]
altos/stm32f103-nucleo: Drive a screen too

Use the ST7565 driver to control an LCD screen.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Add DMA and SPI drivers
Keith Packard [Wed, 8 Mar 2023 23:53:58 +0000 (15:53 -0800)]
altos/stm32f1: Add DMA and SPI drivers

These came from the code for the stm32l15 chips

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/driver: Document setting for AO_ST7565_BIAS
Keith Packard [Wed, 8 Mar 2023 23:53:03 +0000 (15:53 -0800)]
altos/driver: Document setting for AO_ST7565_BIAS

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/draw: Have each font declare ao_glyph_temp as .comm
Keith Packard [Wed, 8 Mar 2023 23:52:11 +0000 (15:52 -0800)]
altos/draw: Have each font declare ao_glyph_temp as .comm

Create temporary glyph drawing space by having every glyph declare how
much space it needs and letting the linker allocate the largest
possible space.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/draw: Skip line adjustment for vertical/horizontal
Keith Packard [Wed, 8 Mar 2023 23:50:57 +0000 (15:50 -0800)]
altos/draw: Skip line adjustment for vertical/horizontal

When e3 is zero, don't adjust the minor position based on
the major as it doesn't move.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/draw: Build demos with -O3 to catch more bugs
Keith Packard [Wed, 8 Mar 2023 23:50:19 +0000 (15:50 -0800)]
altos/draw: Build demos with -O3 to catch more bugs

The compiler fails to do a lot of checks in -O0

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agosrc/draw: Provide some useful constants
Keith Packard [Wed, 8 Mar 2023 23:49:52 +0000 (15:49 -0800)]
src/draw: Provide some useful constants

The two colors and a stride macro

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos: Add ST7565 LCD driver
Keith Packard [Wed, 8 Mar 2023 23:14:53 +0000 (15:14 -0800)]
altos: Add ST7565 LCD driver

This is the chip used by various NewHaven LCD displays

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f103-nucleo: Add boot loader
Keith Packard [Sun, 26 Feb 2023 06:41:48 +0000 (22:41 -0800)]
altos/stm32f103-nucleo: Add boot loader

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agostm32f1: Get boot loader working
Keith Packard [Sun, 26 Feb 2023 03:24:11 +0000 (19:24 -0800)]
stm32f1: Get boot loader working

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: Start work on self-flash code
Keith Packard [Mon, 20 Feb 2023 00:29:56 +0000 (16:29 -0800)]
altos/stm32f1: Start work on self-flash code

Looks like this uses the same IP block as the stm32f0 series; copied
the code, haven't gotten it working yet.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f103-nucleo: Use more bits
Keith Packard [Sun, 19 Feb 2023 23:45:29 +0000 (15:45 -0800)]
altos/stm32f103-nucleo: Use more bits

Get the OS running, use the serial for console

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/stm32f1: More stm32f103 work
Keith Packard [Sun, 19 Feb 2023 23:44:32 +0000 (15:44 -0800)]
altos/stm32f1: More stm32f103 work

Serial driver works
Interrupts work

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos: Start work on stm32f1 support
Keith Packard [Sat, 18 Feb 2023 07:02:16 +0000 (23:02 -0800)]
altos: Start work on stm32f1 support

Got clocks working. CPU now running at 72MHz.
Got systick timer working. Ticks at 100Hz.
Got GPIO working. LED blinks.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoao-tools: Add flash utility for stm32f1x chips
Keith Packard [Sun, 26 Feb 2023 06:40:29 +0000 (22:40 -0800)]
ao-tools: Add flash utility for stm32f1x chips

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoaltos/lpc: Adjust ADC clock from 450kHz to 4.5MHz
Keith Packard [Tue, 30 Jan 2024 20:33:22 +0000 (12:33 -0800)]
altos/lpc: Adjust ADC clock from 450kHz to 4.5MHz

A missing zero. Also, let products change this value if desired to
improve high-impedence performance.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agoFix configure tests for multi-arch libaltos
Keith Packard [Thu, 1 Feb 2024 01:47:08 +0000 (17:47 -0800)]
Fix configure tests for multi-arch libaltos

libaltos builds now require a long list of compilers. Check for all of them
before enabling it when building in auto mode.

Signed-off-by: Keith Packard <keithp@keithp.com>
3 months agokernel: conditionalize config "report in feet" on presence of baro sensor
Bdale Garbee [Mon, 22 Jan 2024 23:15:44 +0000 (16:15 -0700)]
kernel: conditionalize config "report in feet" on presence of baro sensor

4 months agoaltos/easytimer-v2: Initialize logging too
Keith Packard [Sun, 7 Jan 2024 06:09:41 +0000 (22:09 -0800)]
altos/easytimer-v2: Initialize logging too

Now that the logging bits are all written, let's turn it on.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Updating pyro format tried to copy entries with no value
Keith Packard [Sun, 7 Jan 2024 06:08:54 +0000 (22:08 -0800)]
altos: Updating pyro format tried to copy entries with no value

Need to check for NO_VALUE before attempting to copy data, otherwise
things will go badly.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos/samd21: Enable stdio for USB by default
Keith Packard [Sun, 7 Jan 2024 06:07:29 +0000 (22:07 -0800)]
altos/samd21: Enable stdio for USB by default

samd21 usb driver didn't bother to enable stdio for USB for some
reason.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos/easytimer-v2: Update comments in flash loader ao_pins.h
Keith Packard [Sun, 7 Jan 2024 01:06:58 +0000 (17:06 -0800)]
altos/easytimer-v2: Update comments in flash loader ao_pins.h

No code changes, but the comments were wrong.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos/easytimer-v2: Add logging bits
Keith Packard [Sun, 7 Jan 2024 01:03:30 +0000 (17:03 -0800)]
altos/easytimer-v2: Add logging bits

32-byte records with all data in a single record instead of
separate volt/sensor bits.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Build easytimer-v2 bits
Keith Packard [Thu, 16 Mar 2023 17:30:24 +0000 (10:30 -0700)]
altos: Build easytimer-v2 bits

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Initial easytimer-v2 bits
Keith Packard [Thu, 16 Mar 2023 17:29:10 +0000 (10:29 -0700)]
altos: Initial easytimer-v2 bits

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agoaltos: Use BMI088 as z-axis accel as needed
Keith Packard [Thu, 16 Mar 2023 17:25:19 +0000 (10:25 -0700)]
altos: Use BMI088 as z-axis accel as needed

When there's no high-g accel available, use the 'along' axis
to measure acceleration.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 months agofixup seven segment debug code
Keith Packard [Mon, 11 Dec 2023 21:44:54 +0000 (13:44 -0800)]
fixup seven segment debug code

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Thu, 16 Nov 2023 16:28:44 +0000 (09:28 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

5 months agoadd a paragraph about how to hook up a pressure sensor to an EasyMotor
Bdale Garbee [Thu, 16 Nov 2023 16:28:21 +0000 (09:28 -0700)]
add a paragraph about how to hook up a pressure sensor to an EasyMotor

6 months agomicropeak: Include firmware in install bits
Keith Packard [Tue, 10 Oct 2023 18:24:45 +0000 (11:24 -0700)]
micropeak: Include firmware in install bits

These are useful for people building their own hardware.

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agodoc: Use -optimize with asciidoctorpdf
Keith Packard [Tue, 10 Oct 2023 18:19:54 +0000 (11:19 -0700)]
doc: Use -optimize with asciidoctorpdf

This does some additional compression on the output to make it
smaller.

Signed-off-by: Keith Packard <keithp@keithp.com>
8 months agoupdate Releasing with learnings from 1.9.17 release
Bdale Garbee [Wed, 30 Aug 2023 17:52:44 +0000 (11:52 -0600)]
update Releasing with learnings from 1.9.17 release

8 months agodoc: fix a typo in the staging example
Bdale Garbee [Thu, 20 Jul 2023 18:02:36 +0000 (12:02 -0600)]
doc: fix a typo in the staging example

8 months agoVersion 1.9.17
Keith Packard [Wed, 30 Aug 2023 16:15:28 +0000 (09:15 -0700)]
Version 1.9.17

Signed-off-by: Keith Packard <keithp@keithp.com>
8 months agodoc: Release notes for 1.9.17
Keith Packard [Wed, 30 Aug 2023 16:12:34 +0000 (09:12 -0700)]
doc: Release notes for 1.9.17

Signed-off-by: Keith Packard <keithp@keithp.com>
8 months agoao-bringup: be consistent with success text in TeleGPS test script
Bdale Garbee [Wed, 30 Aug 2023 16:27:39 +0000 (10:27 -0600)]
ao-bringup: be consistent with success text in TeleGPS test script

8 months agoao-test-igniter: allow anything other than 'open' to be valid so LED tests work tm-ublox10
Bdale Garbee [Mon, 28 Aug 2023 17:44:40 +0000 (11:44 -0600)]
ao-test-igniter: allow anything other than 'open' to be valid so LED tests work

9 months agoaltos: Use ublox-10 mode for TM v4.0
Keith Packard [Fri, 4 Aug 2023 18:54:10 +0000 (11:54 -0700)]
altos: Use ublox-10 mode for TM v4.0

This will only work on a hacked board with a swapped GPS unit.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 months agoaltos: Use pyro voltage to check igniters ignite-volts
Keith Packard [Sat, 22 Jul 2023 07:01:03 +0000 (00:01 -0700)]
altos: Use pyro voltage to check igniters

Instead of using an absolute value for the igniter continuity good
voltage, use 15/16 of the pyro voltage instead. This ensures we scale
with the pyro voltage to find marginal igniters even with high voltage
pyro systems.

This doesn't work on TeleMetrum where we have no pyro voltage
value. On these boards, continue to use a fixed 3.5V value.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 months agoaltos: Don't include ao_pyro.h into telelco code
Keith Packard [Sat, 22 Jul 2023 07:00:12 +0000 (00:00 -0700)]
altos: Don't include ao_pyro.h into telelco code

This isn't used at all.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 months agoaltos: Add pyro voltage divider values to boards with them
Keith Packard [Sat, 22 Jul 2023 06:59:07 +0000 (23:59 -0700)]
altos: Add pyro voltage divider values to boards with them

EasyMega and TeleMega have separate measurement circuits for pyro
battery voltages, provide the resistor values.

Signed-off-by: Keith Packard <keithp@keithp.com>
9 months agoaltos: Compute igniter good/bad thresholds using 3.5V value
Keith Packard [Sat, 22 Jul 2023 06:19:06 +0000 (23:19 -0700)]
altos: Compute igniter good/bad thresholds using 3.5V value

Instead of requiring each product to set the ADC values for good/bad
igniters, compute them based upon a 3.5V value using the ADC
characteristics already present in ao_pins.h.

This changes the threshold used on LPC parts from 400 (0.189V) to
7388.

Signed-off-by: Keith Packard <keithp@keithp.com>
10 months agoaltos/stmf0: Disable ao_boot_check_pin if not in use tm-stack-overflow
Keith Packard [Tue, 13 Jun 2023 06:15:36 +0000 (23:15 -0700)]
altos/stmf0: Disable ao_boot_check_pin if not in use

This allows rebuilding the boot loader without boot pin support (as
required to debug TeleMini) by only editing ao_pins.h

Signed-off-by: Keith Packard <keithp@keithp.com>
10 months agoaltos: Add AO_STACK_CANARY to detect stack overflows sometimes
Keith Packard [Tue, 13 Jun 2023 06:13:29 +0000 (23:13 -0700)]
altos: Add AO_STACK_CANARY to detect stack overflows sometimes

Checks above and below the current task stack at each switch.

Signed-off-by: Keith Packard <keithp@keithp.com>
10 months agoaltos/stm32f042: Increase interrupt stack to 256 bytes
Keith Packard [Tue, 13 Jun 2023 06:11:01 +0000 (23:11 -0700)]
altos/stm32f042: Increase interrupt stack to 256 bytes

Running the radio on TeleMini in monitor idle mode ended up
overflowing the interrupt stack of 128 bytes. Increase to 256 bytes
and adjust task stack sizes so targets continue to build.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 months agoaltoslib: Support Monitor Idle for EasyMini-3 easymini-3
Keith Packard [Tue, 6 Jun 2023 21:57:53 +0000 (14:57 -0700)]
altoslib: Support Monitor Idle for EasyMini-3

Needed to explicitly support this target even though it was almost the
same as EasyMini v1.

Signed-off-by: Keith Packard <keithp@keithp.com>
11 months agoaltos-mapd: Install systemd dir in arch-independent location
Keith Packard [Sun, 14 May 2023 17:38:01 +0000 (10:38 -0700)]
altos-mapd: Install systemd dir in arch-independent location

Use $(bindir)/../lib instead of $(libdir) as the latter has the
arch-specific directory added.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoupdate Releasing based on 1.9.16 release experiences
Bdale Garbee [Fri, 28 Apr 2023 06:35:28 +0000 (00:35 -0600)]
update Releasing based on 1.9.16 release experiences

12 months agohave TeleGPS production script save RF cal value
Bdale Garbee [Fri, 28 Apr 2023 06:29:01 +0000 (00:29 -0600)]
have TeleGPS production script save RF cal value

12 months agoVersion 1.9.16
Keith Packard [Fri, 28 Apr 2023 03:25:43 +0000 (20:25 -0700)]
Version 1.9.16

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltosdroid: Deal with Google requiring API version 31
Keith Packard [Fri, 28 Apr 2023 05:11:30 +0000 (22:11 -0700)]
altosdroid: Deal with Google requiring API version 31

Need to add some magic constants to the build.
Need to support BLUETOOTH_SCAN permission.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoupdate TeleGPS v3.0 production script to flash correct firmware versions
Bdale Garbee [Thu, 27 Apr 2023 00:08:09 +0000 (18:08 -0600)]
update TeleGPS v3.0 production script to flash correct firmware versions

12 months agoAdd TeleGPS v3.0 firmware
Keith Packard [Wed, 26 Apr 2023 23:08:38 +0000 (16:08 -0700)]
Add TeleGPS v3.0 firmware

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agodoc: Add 1.9.16 release notes
Keith Packard [Wed, 26 Apr 2023 23:04:21 +0000 (16:04 -0700)]
doc: Add 1.9.16 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoadd production scripts for TeleGPS v3.0
Bdale Garbee [Wed, 26 Apr 2023 23:06:42 +0000 (17:06 -0600)]
add production scripts for TeleGPS v3.0

12 months agoMerge branch 'telegps-v3'
Keith Packard [Wed, 26 Apr 2023 22:46:15 +0000 (15:46 -0700)]
Merge branch 'telegps-v3'

12 months agoVersion 1.9.15.1
Keith Packard [Tue, 25 Apr 2023 21:11:48 +0000 (14:11 -0700)]
Version 1.9.15.1

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/stm32f04x: Smite the OPL_LAUNCH bit to reset boot config
Keith Packard [Sun, 16 Apr 2023 04:53:28 +0000 (21:53 -0700)]
altos/stm32f04x: Smite the OPL_LAUNCH bit to reset boot config

When rebooting, make sure the option bytes are recomputed based upon
the latest flash configuration, including whether there's a program
loaded. This ensures that we don't end up re-starting the DFU loader
and mangling our ao_boot values. Without this, our flash loader code
wouldn't be able to see the signal to stay in the loader and we'd end
up back in the application.

Of course, this is only necessary if we want to reboot just after
flashing the boot loader without power cycling. Once the chip is power
cycled, it recomputes the option bytes automatically.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/stmf0: Remove some incorrect defines in stm32f0.h
Keith Packard [Sun, 16 Apr 2023 04:50:08 +0000 (21:50 -0700)]
altos/stmf0: Remove some incorrect defines in stm32f0.h

These got copied from the stm32l15x bits

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agotelegps: Add unit setting to device configuration dialog
Keith Packard [Mon, 10 Apr 2023 03:13:57 +0000 (20:13 -0700)]
telegps: Add unit setting to device configuration dialog

This isn't used by TeleGPS, but is needed to make the config system
work.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/telegps-v3.0: Get LED blinking when GPS locks
Keith Packard [Mon, 10 Apr 2023 02:41:02 +0000 (19:41 -0700)]
altos/telegps-v3.0: Get LED blinking when GPS locks

Initialize the LED subsystem and assign the green LED to report GPS
lock.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/telegps-v3.0: Use all 6kB of available ram
Keith Packard [Mon, 10 Apr 2023 02:42:31 +0000 (19:42 -0700)]
altos/telegps-v3.0: Use all 6kB of available ram

We need more ram for LED blinking.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/lpc: Support 6k ram targets
Keith Packard [Mon, 10 Apr 2023 02:41:50 +0000 (19:41 -0700)]
altos/lpc: Support 6k ram targets

Set RAMSIZE in Makefile before including ../lpc/Makefile.defs and it
will select a suitable linker script.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos: Make sure storage is setup before starting log
Keith Packard [Mon, 10 Apr 2023 02:39:37 +0000 (19:39 -0700)]
altos: Make sure storage is setup before starting log

TeleGPS v3.0 uses internal eeprom for config, so storage wasn't
getting setup before doing the telegps-specific init bits. Instead of
worrying about it, just call ao_storage_setup at the top so that
storage is always ready to go.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/telegps-v3.0: Use new MAX 10 support in uBlox driver
Keith Packard [Sun, 9 Apr 2023 23:44:47 +0000 (16:44 -0700)]
altos/telegps-v3.0: Use new MAX 10 support in uBlox driver

Switches to the new packet types as required by this chip.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos: Dump GPS dop/course data from 'g' command
Keith Packard [Sun, 9 Apr 2023 23:44:04 +0000 (16:44 -0700)]
altos: Dump GPS dop/course data from 'g' command

This lets monitor idle show more of the GPS status

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/drivers: Support uBlox Max 10 chips
Keith Packard [Sun, 9 Apr 2023 23:42:57 +0000 (16:42 -0700)]
altos/drivers: Support uBlox Max 10 chips

The set of supported packet types has changed from the last chip;
update the driver to switch to new packets.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltoslib: Parse more GPS monitor data
Keith Packard [Sun, 9 Apr 2023 23:38:03 +0000 (16:38 -0700)]
altoslib: Parse more GPS monitor data

GPS is being updated to send dop and course data.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltoslib: Support TeleGPS v3 monitor idle
Keith Packard [Sun, 9 Apr 2023 23:37:29 +0000 (16:37 -0700)]
altoslib: Support TeleGPS v3 monitor idle

Needed to deal with ADC difference from STM-based devices.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/telegps-v3.0: Fix SPI bus usage
Keith Packard [Tue, 28 Mar 2023 20:43:38 +0000 (13:43 -0700)]
altos/telegps-v3.0: Fix SPI bus usage

CC1200 is on SPI 0, M25 is on SPI 1

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