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

7 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

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

7 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

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

11 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

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

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

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

11 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>
12 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>
12 months agoaltos/lpcxpresso: Update for 11u24 board
Keith Packard [Tue, 28 Mar 2023 20:32:48 +0000 (13:32 -0700)]
altos/lpcxpresso: Update for 11u24 board

This updates the lpcxpresso demo to support the 11u24 board with
serial connected like telegps v3.0 on p1_13/p1_14

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/lpc: Validate UART pin config
Keith Packard [Tue, 28 Mar 2023 18:56:27 +0000 (11:56 -0700)]
altos/lpc: Validate UART pin config

Make sure some UART pin configuration has been selected

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/telegps-v3.0: Use eeprom for config
Keith Packard [Tue, 28 Mar 2023 04:52:27 +0000 (21:52 -0700)]
altos/telegps-v3.0: Use eeprom for config

Avoid wasting space in the SPI flash part for device config

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/lpc: Add support for eeprom on 2x/3x chips
Keith Packard [Tue, 28 Mar 2023 04:51:31 +0000 (21:51 -0700)]
altos/lpc: Add support for eeprom on 2x/3x chips

The newer 11U2x and 11U3x parts have enough eeprom to support storing
config data there. Add support for the IAP calls for read/write.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos: Build TeleGPS v3.0 by default
Keith Packard [Tue, 28 Mar 2023 04:29:06 +0000 (21:29 -0700)]
altos: Build TeleGPS v3.0 by default

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos: Add TeleGPS v3.0 support
Keith Packard [Tue, 28 Mar 2023 04:27:43 +0000 (21:27 -0700)]
altos: Add TeleGPS v3.0 support

LPC 11U24FET48 with CC1200 radio. A bit like TeleGPS v1.0 but with different
pin assignments and a different radio chip.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos/lpc: Support UART on pio1_13/pio1_14
Keith Packard [Tue, 28 Mar 2023 04:26:41 +0000 (21:26 -0700)]
altos/lpc: Support UART on pio1_13/pio1_14

This is an alternate configuration for this chip.

Signed-off-by: Keith Packard <keithp@keithp.com>
12 months agoaltos: Allow ports to use type other than 'void *' for gpio block
Keith Packard [Tue, 28 Mar 2023 04:25:43 +0000 (21:25 -0700)]
altos: Allow ports to use type other than 'void *' for gpio block

LPC uses integers while everyone else has a struct for each gpio block.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Use damage for lco demo
Keith Packard [Mon, 27 Feb 2023 22:39:03 +0000 (14:39 -0800)]
altos/draw: Use damage for lco demo

Do some incremental drawing to demonstrate damage in action

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Use bitstream fonts for LCO demo
Keith Packard [Mon, 27 Feb 2023 22:38:41 +0000 (14:38 -0800)]
altos/draw: Use bitstream fonts for LCO demo

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Use <> for include files
Keith Packard [Mon, 27 Feb 2023 22:38:09 +0000 (14:38 -0800)]
altos/draw: Use <> for include files

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add vera sans fonts
Keith Packard [Mon, 27 Feb 2023 22:36:33 +0000 (14:36 -0800)]
altos/draw: Add vera sans fonts

These work better in 1-bit mode than frutiger

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add damage tracking
Keith Packard [Mon, 27 Feb 2023 22:35:36 +0000 (14:35 -0800)]
altos/draw: Add damage tracking

This will allow more efficient updating of the screen

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: hand-edit 64-pixel 3/5 to avoid jank
Keith Packard [Mon, 27 Feb 2023 22:11:06 +0000 (14:11 -0800)]
altos/draw: hand-edit 64-pixel 3/5 to avoid jank

These had random-looking pixels hanging off the ends.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Use fewer fonts in lco sample
Keith Packard [Mon, 27 Feb 2023 02:55:54 +0000 (18:55 -0800)]
altos/draw: Use fewer fonts in lco sample

Saves some memory

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add line test app
Keith Packard [Mon, 27 Feb 2023 02:50:31 +0000 (18:50 -0800)]
altos/draw: Add line test app

There were bugs, now there's a app to check them.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Split out draw test scaffolding from lco-test.c
Keith Packard [Mon, 27 Feb 2023 02:49:47 +0000 (18:49 -0800)]
altos/draw: Split out draw test scaffolding from lco-test.c

Allows it to be reused.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Inline span fill for polygons
Keith Packard [Mon, 27 Feb 2023 02:48:54 +0000 (18:48 -0800)]
altos/draw: Inline span fill for polygons

Instead of calling ao_rect, do the clipping by hand
and call ao_solid instead.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Fix clipping far line end
Keith Packard [Mon, 27 Feb 2023 02:48:05 +0000 (18:48 -0800)]
altos/draw: Fix clipping far line end

Make sure the final unclipped pixel gets drawn.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Check for horiz/vert line when clipping
Keith Packard [Mon, 27 Feb 2023 02:46:40 +0000 (18:46 -0800)]
altos/draw: Check for horiz/vert line when clipping

Horizontal or vertical lines won't step along the minor axis while
clipping.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add validation for line drawing
Keith Packard [Mon, 27 Feb 2023 02:46:09 +0000 (18:46 -0800)]
altos/draw: Add validation for line drawing

Just make sure it never draws outside the dest.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Rename test app to 'lco-test'
Keith Packard [Mon, 27 Feb 2023 00:04:17 +0000 (16:04 -0800)]
altos/draw: Rename test app to 'lco-test'

This seems like a good place to do the LCO UX prototyping

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Mock up TeleLCO boot sequence
Keith Packard [Mon, 27 Feb 2023 00:01:20 +0000 (16:01 -0800)]
altos/draw: Mock up TeleLCO boot sequence

Show logo, progress bar and discovered box numbers during
boot sequence

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: use --gc-sections in demo program
Keith Packard [Sun, 26 Feb 2023 22:59:58 +0000 (14:59 -0800)]
altos/draw: use --gc-sections in demo program

This cleans up all of the unused font bits

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Rearrange sample LCO screen in draw-test
Keith Packard [Sun, 26 Feb 2023 22:14:56 +0000 (14:14 -0800)]
altos/draw: Rearrange sample LCO screen in draw-test

Place labels at the top, use proportional font so
the voltage values fit.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add NotoMono font
Keith Packard [Sun, 26 Feb 2023 21:57:34 +0000 (13:57 -0800)]
altos/draw: Add NotoMono font

This has a zero without a dot in it, so it might
look better on TeleLCO

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add transforms to polygon code
Keith Packard [Sun, 26 Feb 2023 21:47:34 +0000 (13:47 -0800)]
altos/draw: Add transforms to polygon code

This lets the polygons remain constant but have them get
scaled/translated when presented on the screen.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Convert draw test framework to modern C
Keith Packard [Sun, 26 Feb 2023 21:46:15 +0000 (13:46 -0800)]
altos/draw: Convert draw test framework to modern C

Was still using K&R function definitions?

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add monospaced font
Keith Packard [Sun, 26 Feb 2023 21:44:52 +0000 (13:44 -0800)]
altos/draw: Add monospaced font

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Move font files to subdirectory
Keith Packard [Sun, 26 Feb 2023 21:42:05 +0000 (13:42 -0800)]
altos/draw: Move font files to subdirectory

It looks like we might end up with a lot of these

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add more fonts
Keith Packard [Sun, 26 Feb 2023 21:21:24 +0000 (13:21 -0800)]
altos/draw: Add more fonts

Add our logo font and more sizes of Frutiger

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add logo
Keith Packard [Sun, 26 Feb 2023 07:46:25 +0000 (23:46 -0800)]
altos/draw: Add logo

Captures the SVG logo polygons and allows them to be
scaled to suit.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Use float for polygon coords
Keith Packard [Sun, 26 Feb 2023 07:45:25 +0000 (23:45 -0800)]
altos/draw: Use float for polygon coords

This makes polygons look way better.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Make test drawing app emulate TeleLCO
Keith Packard [Sun, 26 Feb 2023 06:39:07 +0000 (22:39 -0800)]
altos/draw: Make test drawing app emulate TeleLCO

Draw some numbers for box and pad. Also allow display of a couple of
polygons.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Only cover ASCII
Keith Packard [Sun, 26 Feb 2023 06:38:33 +0000 (22:38 -0800)]
altos/draw: Only cover ASCII

Skip the rest of latin-1

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/draw: Add poly fill function
Keith Packard [Sun, 26 Feb 2023 06:37:16 +0000 (22:37 -0800)]
altos/draw: Add poly fill function

Fill polygons using non-zero winding rule.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos: Fill in more of the draw code
Keith Packard [Sun, 26 Feb 2023 03:22:58 +0000 (19:22 -0800)]
altos: Fill in more of the draw code

Get multiple fonts working, allow for variable-pitch fonts.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoVersion 1.9.15
Keith Packard [Thu, 16 Feb 2023 23:13:01 +0000 (15:13 -0800)]
Version 1.9.15

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoao-bringup: turnon and test scripts for TeleMetrum v4.0 & TeleMega v6.0
Bdale Garbee [Mon, 20 Feb 2023 00:50:40 +0000 (17:50 -0700)]
ao-bringup: turnon and test scripts for TeleMetrum v4.0 & TeleMega v6.0

13 months agoao-tools/ao-flash: Use 'program' instead of 'flash' for samd21
Keith Packard [Sun, 19 Feb 2023 00:51:09 +0000 (16:51 -0800)]
ao-tools/ao-flash: Use 'program' instead of 'flash' for samd21

Switch to the program command, which has a 'reset' option, to get the
device back to running after loading the boot loader.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agodoc: Add TeleMetrum v4.0 to specs and 1.9.15 release notes
Keith Packard [Thu, 16 Feb 2023 23:36:30 +0000 (15:36 -0800)]
doc: Add TeleMetrum v4.0 to specs and 1.9.15 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltos/telemetrum-v4.0: Add .gitignore
Keith Packard [Thu, 16 Feb 2023 23:36:11 +0000 (15:36 -0800)]
altos/telemetrum-v4.0: Add .gitignore

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoAdd TeleMetrum v4.0 firmware to releases
Keith Packard [Thu, 16 Feb 2023 23:35:29 +0000 (15:35 -0800)]
Add TeleMetrum v4.0 firmware to releases

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoAdd TeleMega v6.0 firmware to release
Keith Packard [Thu, 16 Feb 2023 23:12:24 +0000 (15:12 -0800)]
Add TeleMega v6.0 firmware to release

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agodoc: Add HW specs for TeleMega v6.0
Keith Packard [Thu, 16 Feb 2023 23:07:20 +0000 (15:07 -0800)]
doc: Add HW specs for TeleMega v6.0

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agodoc: Add initial 1.9.15 release notes
Keith Packard [Thu, 16 Feb 2023 23:05:27 +0000 (15:05 -0800)]
doc: Add initial 1.9.15 release notes

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Bdale Garbee [Thu, 16 Feb 2023 22:52:56 +0000 (15:52 -0700)]
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos

13 months agoaltos: Fix TMega v6.0 and v5.0 IMU axes
Keith Packard [Thu, 9 Feb 2023 23:22:17 +0000 (15:22 -0800)]
altos: Fix TMega v6.0 and v5.0 IMU axes

Add documentation to each board in ao_pins.h to clarify
the required sensor axis orientations.

TeleMega v5.0 had flipped the 'across' axis sensor value signs
incorrectly, so remove that.

TeleMega v6.0 had selected the wrong axes for across and along, along
is X and across is Y for this board.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoaltoslib: Hide internals of AltosIMU
Keith Packard [Sat, 11 Feb 2023 01:58:08 +0000 (17:58 -0800)]
altoslib: Hide internals of AltosIMU

Make most of the variables private to prevent access to un-corrected
data.

Signed-off-by: Keith Packard <keithp@keithp.com>
14 months agoaltos: re-number csm85clio outputs 0..49 to match schematic and silkscreen
Bdale Garbee [Wed, 15 Feb 2023 02:00:29 +0000 (19:00 -0700)]
altos: re-number csm85clio outputs 0..49 to match schematic and silkscreen

14 months agoMerge branch 'clio'
Bdale Garbee [Fri, 10 Feb 2023 13:52:43 +0000 (06:52 -0700)]
Merge branch 'clio'

14 months agoaltos: add csm84clio-v0.1 firmware
Bdale Garbee [Fri, 10 Feb 2023 13:52:11 +0000 (06:52 -0700)]
altos: add csm84clio-v0.1 firmware

14 months agoaltos/telemega-v6.0: bmi088 axes were wrong
Keith Packard [Thu, 9 Feb 2023 23:22:17 +0000 (15:22 -0800)]
altos/telemega-v6.0: bmi088 axes were wrong

X is 'along', Y is 'across'.

Signed-off-by: Keith Packard <keithp@keithp.com>
14 months agoaltos/telemega-v6: Remove beep freq defs and use defaults
Keith Packard [Thu, 9 Feb 2023 22:54:19 +0000 (14:54 -0800)]
altos/telemega-v6: Remove beep freq defs and use defaults

These values came from the magnetic beeper on Tmega v5 which we aren't
using.

Signed-off-by: Keith Packard <keithp@keithp.com>
14 months agoaltos: Add .gitignore for telemega v6.0
Keith Packard [Thu, 9 Feb 2023 20:35:13 +0000 (12:35 -0800)]
altos: Add .gitignore for telemega v6.0

Signed-off-by: Keith Packard <keithp@keithp.com>
14 months agoVersion 1.9.14
Keith Packard [Thu, 2 Feb 2023 19:33:35 +0000 (11:33 -0800)]
Version 1.9.14

Signed-off-by: Keith Packard <keithp@keithp.com>
14 months agodoc: Release notes for 1.9.14
Keith Packard [Thu, 2 Feb 2023 19:33:00 +0000 (11:33 -0800)]
doc: Release notes for 1.9.14

Signed-off-by: Keith Packard <keithp@keithp.com>
14 months agoaltos/drivers: Increase LCO receive timeout to 20ms
Keith Packard [Thu, 2 Feb 2023 02:00:24 +0000 (18:00 -0800)]
altos/drivers: Increase LCO receive timeout to 20ms

Changes in the cc1200 driver appear to have sped up the transition
from TX to RX enough that we now need to wait a bit longer for
TeleFire to return a packet. Increase the 38400 bps timeout to 20ms
and the 9600 bps timeout to 30ms.

Signed-off-by: Keith Packard <keithp@keithp.com>
14 months agoaltos/drivers: Use spi duplex to fetch register values
Keith Packard [Thu, 2 Feb 2023 01:59:28 +0000 (17:59 -0800)]
altos/drivers: Use spi duplex to fetch register values

We read register values during regular operation, so let's improve
performance a bit by making this faster.

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