[Snek] [keith-packard/snek] f3b078: ports/ev3: Fix up makefile to work under debian build

Keith Packard noreply at github.com
Thu Nov 28 12:45:20 PST 2024


  Branch: refs/heads/debian
  Home:   https://github.com/keith-packard/snek
  Commit: f3b0782b65c1b810f3f25fb348906d0288bfed3b
      https://github.com/keith-packard/snek/commit/f3b0782b65c1b810f3f25fb348906d0288bfed3b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2023-09-26 (Tue, 26 Sep 2023)

  Changed paths:
    M ports/ev3/Makefile

  Log Message:
  -----------
  ports/ev3: Fix up makefile to work under debian build

Don't inherit CFLAGS from environment to prevent host hardening flags
from being used with the arm compiler.

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


  Commit: 6ab5fe69a5d3198c1cd7fcc235a116879825e188
      https://github.com/keith-packard/snek/commit/6ab5fe69a5d3198c1cd7fcc235a116879825e188
  Author: Keith Packard <keithp at keithp.com>
  Date:   2023-09-26 (Tue, 26 Sep 2023)

  Changed paths:
    M ports/qemu-arm/snek-arm.in
    M ports/qemu-riscv/snek-riscv.in

  Log Message:
  -----------
  ports/qemu-{arm,riscv}: Support updated picolibc semihosting args

Picolibc's argument processing has changed with version 1.8.5 so that
the full command line, including program name, must be provided in the
'arg=' parameter to qemu.

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


  Commit: dfb6dba8e210dd571840e9b8425f08271939c028
      https://github.com/keith-packard/snek/commit/dfb6dba8e210dd571840e9b8425f08271939c028
  Author: Keith Packard <keithp at keithp.com>
  Date:   2023-09-26 (Tue, 26 Sep 2023)

  Changed paths:
    M .github/Dockerfile

  Log Message:
  -----------
  .github: Force pip install of pynsist

Even though we're *gasp* not doing everything in a virtual env.

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


  Commit: f30cfae947c05ccc6389b33f1a48dacd15fbd7ae
      https://github.com/keith-packard/snek/commit/f30cfae947c05ccc6389b33f1a48dacd15fbd7ae
  Author: Keith Packard <keithp at keithp.com>
  Date:   2023-09-26 (Tue, 26 Sep 2023)

  Changed paths:
    M doc/lessons/lesson-5/pid-bug-eight.py
    M doc/lessons/lesson-5/pid-bug-one.py
    M examples/snek-car.py
    M ports/esp32/loadable_elf_example_test.py
    M snek-builtin.py
    M snekde/snekde.py
    M test/pass-equal_is.py
    M test/pass-precedence.py
    M test/pass-slice.py

  Log Message:
  -----------
  python: Reformat with current black bits

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


  Commit: d00b9a6e82d1ce461efae294b336d812d3cb4517
      https://github.com/keith-packard/snek/commit/d00b9a6e82d1ce461efae294b336d812d3cb4517
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-27 (Sun, 27 Oct 2024)

  Changed paths:
    A .github/dependabot.yml

  Log Message:
  -----------
  Create dependabot.yml


  Commit: c2eae59fa5b623034dfe8f665fd5128b621194b4
      https://github.com/keith-packard/snek/commit/c2eae59fa5b623034dfe8f665fd5128b621194b4
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-27 (Sun, 27 Oct 2024)

  Changed paths:
    M .github/workflows/snek.yml

  Log Message:
  -----------
  .github: Update actions to current versions

cache at v4
setup-builx-action at v3
build-push-action at v6
upload-artifact at v4

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


  Commit: 482d4e3952087f78d1439371cd9a8562eb781dfe
      https://github.com/keith-packard/snek/commit/482d4e3952087f78d1439371cd9a8562eb781dfe
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-27 (Sun, 27 Oct 2024)

  Changed paths:
    M doc/snek-cover.svg

  Log Message:
  -----------
  doc: Make cover 'full bleed' by increasing size to have margins

This makes the cover large enough to be used when printing books

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


  Commit: c747e055322c64c7eae20fe6749eedfd1e0822cc
      https://github.com/keith-packard/snek/commit/c747e055322c64c7eae20fe6749eedfd1e0822cc
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-27 (Sun, 27 Oct 2024)

  Changed paths:
    M doc/Makefile
    M doc/lessons/lesson-1/Makefile
    M doc/lessons/lesson-2/Makefile
    M doc/lessons/lesson-3/Makefile
    M doc/lessons/lesson-4/Makefile

  Log Message:
  -----------
  doc: Use -a optimize with asciidoctor-pdf

This decrease the resulting PDF size a bit and seems to make it
more compatible with various PDF renderers.

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


  Commit: 61802b1164cfa0a12fa487204eb442bd3fd33bda
      https://github.com/keith-packard/snek/commit/61802b1164cfa0a12fa487204eb442bd3fd33bda
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-27 (Sun, 27 Oct 2024)

  Changed paths:
    M snek-gram.ll
    M snek-keyword.builtin

  Log Message:
  -----------
  Ignore 'from <name> import *' commands

This will let us use 'from math import *' and then move all of the
math functions into the main namespace while remaining semi-compatible
with python.

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


  Commit: 72a58514368996b86ad1f0ef387e0162f3cd6298
      https://github.com/keith-packard/snek/commit/72a58514368996b86ad1f0ef387e0162f3cd6298
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-27 (Sun, 27 Oct 2024)

  Changed paths:
    M .github/workflows/snek.yml

  Log Message:
  -----------
  .github: Cache Dockerfile

Build the dockerfile in a separate step, then re-use when possible

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


  Commit: bd9e86301d026183b4996736964c242409e7307a
      https://github.com/keith-packard/snek/commit/bd9e86301d026183b4996736964c242409e7307a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-27 (Sun, 27 Oct 2024)

  Changed paths:
    M chips/atmega/snek-328p.c
    M chips/atmega/snek-atmega.builtin
    M chips/atmega/snek-atmega.defs
    M chips/avr/ao-snek-avr.c
    M chips/avr/snek-avr.builtin
    M chips/avr/snek-avr.defs
    M chips/qemu/snek-qemu.builtin
    M chips/qemu/snek-qemu.c
    M chips/qemu/snek-qemu.defs
    M chips/samd21/snek-altos.builtin
    M chips/samd21/snek-altos.c
    M chips/samd21/snek-samd21.defs
    M hosts/windows/Makefile
    M hosts/windows/snek-windows.builtin
    M hosts/windows/snek-windows.c
    M ports/esp32/main/Makefile
    M ports/esp32/main/snek-esp32.builtin
    M ports/esp32/main/snek-esp32.c
    M ports/ev3/Makefile
    M ports/ev3/snek-ev3.builtin
    M ports/hifive1revb/Makefile
    M ports/hifive1revb/snek-hifive1revb.builtin
    M ports/hifive1revb/snek-metal-builtin.c
    M ports/mega/Makefile
    M ports/mega/snek-mega.c
    M ports/nano-every/snek-nano-every.c
    M ports/narrow-1284/snek-narrow-1284.c
    M ports/posix/Makefile
    M ports/posix/snek-posix.builtin
    M ports/posix/snek-posix.c
    A snek-random-small.c
    A snek-random.builtin
    A snek-random.c

  Log Message:
  -----------
  Share prngs across all devices

Create snek-random.c and snek-random-small.c, then share those across
all snek implementations. Select snek-random-small.c for smaller
devices to avoid needing 64-bit arithmetic.

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


  Commit: 6fff8c7260bd4a04df8fc66a0edafd82c7e06216
      https://github.com/keith-packard/snek/commit/6fff8c7260bd4a04df8fc66a0edafd82c7e06216
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-10-29 (Tue, 29 Oct 2024)

  Changed paths:
    M ports/ev3/Makefile
    M ports/qemu-arm/snek-arm.in
    M ports/qemu-riscv/snek-riscv.in

  Log Message:
  -----------
  random changes

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


  Commit: 1a95141409f8d5480298f9ad81341a6cab9cd88d
      https://github.com/keith-packard/snek/commit/1a95141409f8d5480298f9ad81341a6cab9cd88d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M .github/Dockerfile
    M .github/workflows/snek.yml

  Log Message:
  -----------
  .github: Fix caching of dockerfile

This ended up saving the snek source code and building that instead of the
actual current bits.


  Commit: 8c9a4a6e4e226b45cb5ba795d6e116bacda27e27
      https://github.com/keith-packard/snek/commit/8c9a4a6e4e226b45cb5ba795d6e116bacda27e27
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M snek.defs
    M snek.h

  Log Message:
  -----------
  Use C99 flexible arrays

Remove the '0' from the flexible array size. Add warnings.

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


  Commit: 2a0064cfc21f20031383a1ccf4c2333739570cf4
      https://github.com/keith-packard/snek/commit/2a0064cfc21f20031383a1ccf4c2333739570cf4
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M snek-code.c
    M snek.h

  Log Message:
  -----------
  Make param to snek_code_add_string const

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


  Commit: 1d0a122695b9614c6a55e211382ba13cc10d6dc2
      https://github.com/keith-packard/snek/commit/1d0a122695b9614c6a55e211382ba13cc10d6dc2
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M snek-memory.c
    M snek.h

  Log Message:
  -----------
  Make snek_move_block_addr static

This is only used from inside snek-memory.c

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


  Commit: 54f1b812f280ab554449c4c3dce89b60797465ab
      https://github.com/keith-packard/snek/commit/54f1b812f280ab554449c4c3dce89b60797465ab
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M snek-gram.ll

  Log Message:
  -----------
  Only all NL as statement terminator

Remove END as a possible terminator for a list of simple statements.

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

fixup-gram


  Commit: e4009c79ce217dd5036dbfb1b1f1a198f3184ec7
      https://github.com/keith-packard/snek/commit/e4009c79ce217dd5036dbfb1b1f1a198f3184ec7
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/samd21/uf2conv.py

  Log Message:
  -----------
  chips/samd21: Fix regex usage in uf2conv.py

Was using \s for whitespace instead of \\s

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


  Commit: 8706b69b712a101594d9c5712ce3285b99c1136e
      https://github.com/keith-packard/snek/commit/8706b69b712a101594d9c5712ce3285b99c1136e
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/samd21/snek-gpio.c

  Log Message:
  -----------
  chips/samd21: save/restore neopixel list across alloc

If the snek_alloc call ends up running snek_collect, then
the incoming list might have moved.

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


  Commit: dc6a4f43893c308ecc59df0443a2b31684ecfa82
      https://github.com/keith-packard/snek/commit/dc6a4f43893c308ecc59df0443a2b31684ecfa82
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/samd21/snek-gpio.c

  Log Message:
  -----------
  chips/samd21: minor cleanup in snek-gpio.c

Use already-computed 'list_size' value.

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


  Commit: 1d266f0027f793fdcc1ed45ea0806a98eb8680de
      https://github.com/keith-packard/snek/commit/1d266f0027f793fdcc1ed45ea0806a98eb8680de
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M ports/narrow-1284/snek-narrow-1284-math.builtin

  Log Message:
  -----------
  ports/narrow-1284: Clean up smaller math builtin list

Provide alias for 'pow', clean up inf and nan definitions.

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


  Commit: 8799b6888e6bcaf73a23a7145826214e8097f83b
      https://github.com/keith-packard/snek/commit/8799b6888e6bcaf73a23a7145826214e8097f83b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/atmega/snek-atmega.defs
    M chips/avr/snek-avr.defs
    M ports/duemilanove/Makefile
    M ports/grove/Makefile
    M ports/mega/Makefile
    M ports/nano-every/Makefile
    M ports/narrow-1284/Makefile

  Log Message:
  -----------
  Move AVR compile options to chips defs files

Make these options common across all ports instead of copy/pasting
them into each port Makefile. Also use the distro version of avr-gcc
for nano-every as it has been updated.

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


  Commit: b4dbabe8fc72cdc172ba19025dbb4ceae4690298
      https://github.com/keith-packard/snek/commit/b4dbabe8fc72cdc172ba19025dbb4ceae4690298
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/atmega/snek-atmega-math.h
    M snek-atof.c

  Log Message:
  -----------
  chips/atmega: Adapt to more recent avr libc

avr libc has changed how float and double stuff is managed; a couple of
minor changes are needed to cope.

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


  Commit: 43e6240f8d3ba08c9e331c6b2e91302a7fbe85c5
      https://github.com/keith-packard/snek/commit/43e6240f8d3ba08c9e331c6b2e91302a7fbe85c5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    A .gitmodules
    M Makefile
    M hosts/linux/Makefile
    M ports/itsybitsy5v/.gitignore
    M ports/itsybitsy5v/Makefile
    A ports/itsybitsy5v/snek-atmega32u4-install.1
    A ports/itsybitsy5v/snek-atmega32u4-install.in
    R ports/itsybitsy5v/snek-itsybitsy-install.1
    R ports/itsybitsy5v/snek-itsybitsy-install.in
    M ports/uduino/Makefile
    R ports/uduino/snek-uduino-install.1
    R ports/uduino/snek-uduino-install.in
    A ubaboot

  Log Message:
  -----------
  Switch atmega32u4 devices to ubaboot

This bootloader takes only 512 bytes of flash, leaving
plenty for snek to operate on all of the 32u4 targets.

Create a general-purpose atmega32u4 snek installer and
replace the single-device versions.

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


  Commit: 9fc0e627417dd89b0f4dcd62c68f5c26d7f0967f
      https://github.com/keith-packard/snek/commit/9fc0e627417dd89b0f4dcd62c68f5c26d7f0967f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M ports/uduino/ao-pins.h

  Log Message:
  -----------
  uduino: Remove unused defines in ao-pins.h

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


  Commit: 7ec68824797cd9c3af49cd4be85849d0a8adaba4
      https://github.com/keith-packard/snek/commit/7ec68824797cd9c3af49cd4be85849d0a8adaba4
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M ao/ao-product.c
    M ao/ao-usb.h
    M chips/atmega/snek-328p.c
    M chips/atmega/snek-atmega-serial.c
    M chips/atmega/snek-atmega.h
    M chips/avr/ao-arch.h
    M chips/avr/ao-snek-avr.c
    M chips/avr/ao-usb-avr.c
    M chips/avr/snek-avr.h
    M chips/qemu/snek-qemu.h
    M chips/samd21/ao-arch.h
    M hosts/windows/snek-windows.h
    M ports/ev3/snek-ev3.h
    M ports/mega/snek-mega.c
    M ports/nano-every/snek-nano-every.c
    M ports/narrow-1284/snek-narrow-1284.c
    M ports/posix/snek-posix.h
    M snek-atof.c
    M snek-builtin.py
    M snek-code.c
    M snek-error.c
    M snek-exec.c
    M snek-frame.c
    M snek-lex.c
    M snek-memory.c
    M snek-name.c
    M snek-ssd1315.c
    M snek.h

  Log Message:
  -----------
  Use __flash for AVR code instead of PROGMEM

This uses the GCC memory space attribute so that the compiler will
automatically generate the correct memory access instructions instead
of requiring manual use of various progmem APIs. This both simplifies
the code and reduces its size.

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


  Commit: df5345e5f475b2064f516e4fe5b29e4167f71782
      https://github.com/keith-packard/snek/commit/df5345e5f475b2064f516e4fe5b29e4167f71782
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/atmega/snek-328p.builtin

  Log Message:
  -----------
  atmega328p: Increase pool and value stack

The new version of GCC leaves more RAM available; take advantage of that
by increasing the heap size to 1kB and the value stack to 32 elements.

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


  Commit: c6fd04140c499977cbf2986b44962defa795a94f
      https://github.com/keith-packard/snek/commit/c6fd04140c499977cbf2986b44962defa795a94f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/atmega/snek-atmega-eeprom.c

  Log Message:
  -----------
  chips/atmega: Handle EEPROM that doesn't start at 0

On the atmega4809, avr-libc doesn't set E2END to be the last offset,
rather it's the last address. Use EEPROM_SIZE instead, which seems
to be the size - 1.

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


  Commit: 8315084dff0d1d5b5425ba9078b27cc6929dbd3d
      https://github.com/keith-packard/snek/commit/8315084dff0d1d5b5425ba9078b27cc6929dbd3d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/atmega/snek-atmega-serial.c

  Log Message:
  -----------
  chips/atmega: Support newer avr-libc

A bunch of the register definitions names have changed.

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


  Commit: 660ba8830fa6e8d52fde49487ad3b190cb99c294
      https://github.com/keith-packard/snek/commit/660ba8830fa6e8d52fde49487ad3b190cb99c294
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M chips/atmega/snek-atmega.defs
    M chips/avr/snek-avr.defs
    A chips/avr/strfromg.c
    M ports/duemilanove/Makefile
    M ports/grove/Makefile
    M ports/grove/snek-grove.builtin
    M ports/lilypad/Makefile
    M ports/mega/Makefile
    M ports/nano-every/Makefile
    M ports/narrow-1284/Makefile
    M snek-pow.c

  Log Message:
  -----------
  Enable more features due to newer avr-gcc version

The newer GCC version generates smaller code, so we can
enable the input builtins on all of the avr targets now.

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


  Commit: 688d768c082f53987f6f862fb3d2d1b9312640f2
      https://github.com/keith-packard/snek/commit/688d768c082f53987f6f862fb3d2d1b9312640f2
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    R ports/duemilanove-big/.gitignore
    R ports/duemilanove-big/Makefile
    R ports/duemilanove-big/snek-duemilanove-big-install.1.in
    R ports/duemilanove-big/snek-duemilanove-big-install.in
    R ports/lilypad-big/.gitignore
    R ports/lilypad-big/Makefile
    R ports/uno-big/.gitignore
    R ports/uno-big/Makefile
    M snek-install.defs

  Log Message:
  -----------
  Remove -big versions of ATmega328p ports

With the latest GCC version, there's enough space in the ROM for the
boot loader, even with all of the previous -big specific functions
enabled.

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


  Commit: 07fe1119da64f13d9643b719fab3ced96e1f6453
      https://github.com/keith-packard/snek/commit/07fe1119da64f13d9643b719fab3ced96e1f6453
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    A chips/avr/Makefile
    A chips/avr/dtoa.h
    A chips/avr/ftoa_engine.c
    A chips/avr/strfromg-test.c
    A chips/avr/strfromg.h

  Log Message:
  -----------
  chips/avr: Add test for strfromg

Make sure our custom strfromf function works correctly

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


  Commit: 23f056ff27cd26a013fe9210f4b90f4a1b944787
      https://github.com/keith-packard/snek/commit/23f056ff27cd26a013fe9210f4b90f4a1b944787
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M ports/nano-every/snek-nano-every.builtin

  Log Message:
  -----------
  ports/nano-every: Define LED constant

Allows use of general blink program

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


  Commit: 071ef421f46460e14a9c5faa5929924f526a1654
      https://github.com/keith-packard/snek/commit/071ef421f46460e14a9c5faa5929924f526a1654
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M ports/nano-every/Makefile

  Log Message:
  -----------
  ports/nano-every: Use custom avr-libc

Until debian's avr-libc gets updated, we'll need to use a custom version
while using debian's avr-gcc. This just points the includes and libraries
at a version installed in /opt/avr-libc for now.

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


  Commit: 5879459a3ae5044fe0d2f3644352c0f1d5ff1b56
      https://github.com/keith-packard/snek/commit/5879459a3ae5044fe0d2f3644352c0f1d5ff1b56
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    R ports/mega/snek-mega-math.builtin
    A snek-math-small.builtin
    M snek-math.c

  Log Message:
  -----------
  Add smaller set of math builtins

This includes most of the math builtins except for hyperbolic trig,
error and gamma functions.

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


  Commit: 44786b8ccb3c01ae9f75b4a78f98f548e0685e12
      https://github.com/keith-packard/snek/commit/44786b8ccb3c01ae9f75b4a78f98f548e0685e12
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    A chips/atmega/snek-atmega-flash.c
    M chips/atmega/snek-atmega-serial.c
    M chips/atmega/snek-atmega-time.c
    M chips/atmega/snek-atmega.defs
    M chips/atmega/snek-atmega.h

  Log Message:
  -----------
  chips/atmega: Add flash writing code for ATmega4809

This chip has a tiny EEPROM block but lots of flash. Use flash to
store the program instead of EEPROM.

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


  Commit: dc2ec648d73de65936909dd45e148c99f58c3138
      https://github.com/keith-packard/snek/commit/dc2ec648d73de65936909dd45e148c99f58c3138
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M ports/nano-every/Makefile
    M ports/nano-every/snek-nano-every-install.in
    M ports/nano-every/snek-nano-every.builtin
    M ports/nano-every/snek-nano-every.c

  Log Message:
  -----------
  ports/nano-every: Use the new ATmega4809 flash driver for storage

Wire up the new driver, including changing the installer to program
the fuses to reserve 4kB of flash.

Use a smaller set of math builtins to save a bit of space to make room.

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


  Commit: 52df372eda285200ff9d2a16d377c179852bd3e0
      https://github.com/keith-packard/snek/commit/52df372eda285200ff9d2a16d377c179852bd3e0
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M snek-lex.c

  Log Message:
  -----------
  Stop processing comment when ^C is seen

Avoids having the lexer stuck in the comment loop when
the interpreter is supposed to be interrupted.

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


  Commit: 30d3949c14a8cea06312c03bbba350a63f39902a
      https://github.com/keith-packard/snek/commit/30d3949c14a8cea06312c03bbba350a63f39902a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M examples/morse.py

  Log Message:
  -----------
  examples: Update morse example

Use LED. Use new callsign.

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


  Commit: ff496afad23797296babece05686feb67e04360b
      https://github.com/keith-packard/snek/commit/ff496afad23797296babece05686feb67e04360b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Check status of upload/install-otheros/otheros targets in Makefile

Need to actuall fail if any of the sequence of commands fail.

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


  Commit: 817c9ae8d94d5362cd82414f1768f22413f0433e
      https://github.com/keith-packard/snek/commit/817c9ae8d94d5362cd82414f1768f22413f0433e
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M ports/duemilanove/.gitignore
    M ports/duemilanove/Makefile
    A ports/duemilanove/snek-atmega328-install.in
    R ports/duemilanove/snek-duemilanove-install.in
    M ports/lilypad/.gitignore

  Log Message:
  -----------
  ports/duemilanove: Create snek-$(BOARD)-install.in as needed

The linux installer wants partially edited versions of this file so that
it can customize them while installing.

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


  Commit: 746d0c2943c41383a48f44e5d7f927ad7a0fa82b
      https://github.com/keith-packard/snek/commit/746d0c2943c41383a48f44e5d7f927ad7a0fa82b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M .github/workflows/snek.yml

  Log Message:
  -----------
  .github: Use parallel build

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


  Commit: bc46d402d874109db8c33303bc62137517473dd3
      https://github.com/keith-packard/snek/commit/bc46d402d874109db8c33303bc62137517473dd3
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    A examples/pi.py

  Log Message:
  -----------
  Add pi example

This computes pi with random numbers

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


  Commit: 38c42d88eba045304d19586d33e378b33fafa569
      https://github.com/keith-packard/snek/commit/38c42d88eba045304d19586d33e378b33fafa569
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M ports/duemilanove/Makefile
    M snek-builtin.py
    M snek.defs
    M test/pass-math.py
    M test/pass-op.py
    M test/pass-random.py
    M test/pass-trailing-comma.py

  Log Message:
  -----------
  Add math, random and time names to global namespace (by default)

Add '--global' parameters to snek-builtin.py to match namespaces from
builtin function names, removing those namespaces so that the names
appear in the global namespace. Use '--alias' to also leave the names
in their original namespace for compatibility with existing code.

By default, the math, time and random namespaces aliased.

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


  Commit: b8ff4188c5dadddc177b22a6e01968fd7600f095
      https://github.com/keith-packard/snek/commit/b8ff4188c5dadddc177b22a6e01968fd7600f095
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-21 (Thu, 21 Nov 2024)

  Changed paths:
    M README.md
    M doc/lessons/lesson-1/lesson-1-snekboard.adoc
    M doc/lessons/lesson-2/lesson-2-line-bug.adoc
    M doc/lessons/lesson-3/bumper-car.py
    M doc/lessons/lesson-3/lesson-3-bumper-car.adoc
    M doc/snek.adoc
    M examples/badshuffle.py
    M examples/blink.py
    M examples/goodshuffle.py
    M examples/hanoi.py
    M examples/morse.py
    M examples/neopixel.py
    M examples/neopixels.py
    M examples/servo-car.py
    M examples/snek-bsd.py
    M examples/snek-car.py
    M examples/snek.py
    M ports/snekboard/snek-board-test.py

  Log Message:
  -----------
  Update examples and docs to reflect removal of namespaces

Fix all of the code to remove math., time. and random.

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


  Commit: e6e2265d1770102dcf2d8eb6ff53059a668dd1e7
      https://github.com/keith-packard/snek/commit/e6e2265d1770102dcf2d8eb6ff53059a668dd1e7
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-22 (Fri, 22 Nov 2024)

  Changed paths:
    M chips/atmega/snek-atmega-time.c
    M ports/nano-every/snek-nano-every.c

  Log Message:
  -----------
  chips/atmega: Switch ATmega4809 clock to TCB2

TCA0 is way too useful to be stuck as the clock source. Use TCB2
instead.

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


  Commit: f48b7e5a964d3ec8523a2afae0d7a8592b062f80
      https://github.com/keith-packard/snek/commit/f48b7e5a964d3ec8523a2afae0d7a8592b062f80
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-22 (Fri, 22 Nov 2024)

  Changed paths:
    M ports/nano-every/Makefile
    M ports/nano-every/snek-nano-every.c

  Log Message:
  -----------
  ports/nano-every: Implement tone and tonefor

Outputs tones on D5, just like other devices.

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


  Commit: a80d5640ff4e3a6c5f7f568121993dcfd7a6bd56
      https://github.com/keith-packard/snek/commit/a80d5640ff4e3a6c5f7f568121993dcfd7a6bd56
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-22 (Fri, 22 Nov 2024)

  Changed paths:
    M chips/samd21/snek-gpio.c

  Log Message:
  -----------
  samd21: Use tone(0) in tonefor

off() doesn't work here.

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


  Commit: c382070f359f83caeb245920d897fab1399b1323
      https://github.com/keith-packard/snek/commit/c382070f359f83caeb245920d897fab1399b1323
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-23 (Sat, 23 Nov 2024)

  Changed paths:
    M chips/atmega/snek-328p.builtin
    M ports/duemilanove/Makefile
    M ports/lilypad/Makefile
    M ports/uno/Makefile

  Log Message:
  -----------
  chips/atmega: Adjust atmega328p memory spaces

Reserve 192 bytes for stack. Shrink the value and vm stacks to make
room. This avoids stack overflows.

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


  Commit: faedcab0ce738733905daa4abc19e3042eee41f9
      https://github.com/keith-packard/snek/commit/faedcab0ce738733905daa4abc19e3042eee41f9
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M ports/esp32/main/snek-esp32.h

  Log Message:
  -----------
  ports/esp32: Define CONST

This needs to be in every port currently.

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


  Commit: 8ad51a2587162a292129452658ef44baa723cb6d
      https://github.com/keith-packard/snek/commit/8ad51a2587162a292129452658ef44baa723cb6d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M build-snek
    M chips/atmega/snek-atmega.defs
    M doc/snek.adoc
    M ports/nano-every/Makefile
    M ports/nano-every/snek-nano-every-install.in
    M snek.defs

  Log Message:
  -----------
  ports/nano-every: Provide path to newer avr-libc

This is required until Debian's avr-libc package gets updated with
support for the atmega4809 chip.

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


  Commit: 75acf1bbd19580432a7f0b3f5b81156a3e4a304d
      https://github.com/keith-packard/snek/commit/75acf1bbd19580432a7f0b3f5b81156a3e4a304d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M README.md
    M snek.defs

  Log Message:
  -----------
  Version 1.10

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


  Commit: 846c446ebefad14c4482399881439f58e0c3ab2e
      https://github.com/keith-packard/snek/commit/846c446ebefad14c4482399881439f58e0c3ab2e
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M .github/Dockerfile
    A .github/dependabot.yml
    M .github/workflows/snek.yml
    A .gitmodules
    M Makefile
    M README.md
    M ao/ao-product.c
    M ao/ao-usb.h
    M build-snek
    M chips/atmega/snek-328p.builtin
    M chips/atmega/snek-328p.c
    M chips/atmega/snek-atmega-eeprom.c
    A chips/atmega/snek-atmega-flash.c
    M chips/atmega/snek-atmega-math.h
    M chips/atmega/snek-atmega-serial.c
    M chips/atmega/snek-atmega-time.c
    M chips/atmega/snek-atmega.builtin
    M chips/atmega/snek-atmega.defs
    M chips/atmega/snek-atmega.h
    A chips/avr/Makefile
    M chips/avr/ao-arch.h
    M chips/avr/ao-snek-avr.c
    M chips/avr/ao-usb-avr.c
    A chips/avr/dtoa.h
    A chips/avr/ftoa_engine.c
    M chips/avr/snek-avr.builtin
    M chips/avr/snek-avr.defs
    M chips/avr/snek-avr.h
    A chips/avr/strfromg-test.c
    A chips/avr/strfromg.c
    A chips/avr/strfromg.h
    M chips/qemu/snek-qemu.builtin
    M chips/qemu/snek-qemu.c
    M chips/qemu/snek-qemu.defs
    M chips/qemu/snek-qemu.h
    M chips/samd21/ao-arch.h
    M chips/samd21/snek-altos.builtin
    M chips/samd21/snek-altos.c
    M chips/samd21/snek-gpio.c
    M chips/samd21/snek-samd21.defs
    M chips/samd21/uf2conv.py
    M doc/Makefile
    M doc/lessons/lesson-1/Makefile
    M doc/lessons/lesson-1/lesson-1-snekboard.adoc
    M doc/lessons/lesson-2/Makefile
    M doc/lessons/lesson-2/lesson-2-line-bug.adoc
    M doc/lessons/lesson-3/Makefile
    M doc/lessons/lesson-3/bumper-car.py
    M doc/lessons/lesson-3/lesson-3-bumper-car.adoc
    M doc/lessons/lesson-4/Makefile
    M doc/lessons/lesson-5/pid-bug-eight.py
    M doc/lessons/lesson-5/pid-bug-one.py
    M doc/snek-cover.svg
    M doc/snek.adoc
    M examples/badshuffle.py
    M examples/blink.py
    M examples/goodshuffle.py
    M examples/hanoi.py
    M examples/morse.py
    M examples/neopixel.py
    M examples/neopixels.py
    A examples/pi.py
    M examples/servo-car.py
    M examples/snek-bsd.py
    M examples/snek-car.py
    M examples/snek.py
    M hosts/linux/Makefile
    M hosts/windows/Makefile
    M hosts/windows/snek-windows.builtin
    M hosts/windows/snek-windows.c
    M hosts/windows/snek-windows.h
    R ports/duemilanove-big/.gitignore
    R ports/duemilanove-big/Makefile
    R ports/duemilanove-big/snek-duemilanove-big-install.1.in
    R ports/duemilanove-big/snek-duemilanove-big-install.in
    M ports/duemilanove/.gitignore
    M ports/duemilanove/Makefile
    A ports/duemilanove/snek-atmega328-install.in
    R ports/duemilanove/snek-duemilanove-install.in
    M ports/esp32/loadable_elf_example_test.py
    M ports/esp32/main/Makefile
    M ports/esp32/main/snek-esp32.builtin
    M ports/esp32/main/snek-esp32.c
    M ports/esp32/main/snek-esp32.h
    M ports/ev3/Makefile
    M ports/ev3/snek-ev3.builtin
    M ports/ev3/snek-ev3.h
    M ports/grove/Makefile
    M ports/grove/snek-grove.builtin
    M ports/hifive1revb/Makefile
    M ports/hifive1revb/snek-hifive1revb.builtin
    M ports/hifive1revb/snek-metal-builtin.c
    M ports/itsybitsy5v/.gitignore
    M ports/itsybitsy5v/Makefile
    A ports/itsybitsy5v/snek-atmega32u4-install.1
    A ports/itsybitsy5v/snek-atmega32u4-install.in
    R ports/itsybitsy5v/snek-itsybitsy-install.1
    R ports/itsybitsy5v/snek-itsybitsy-install.in
    R ports/lilypad-big/.gitignore
    R ports/lilypad-big/Makefile
    M ports/lilypad/.gitignore
    M ports/lilypad/Makefile
    M ports/mega/Makefile
    R ports/mega/snek-mega-math.builtin
    M ports/mega/snek-mega.c
    M ports/nano-every/Makefile
    M ports/nano-every/snek-nano-every-install.in
    M ports/nano-every/snek-nano-every.builtin
    M ports/nano-every/snek-nano-every.c
    M ports/narrow-1284/Makefile
    M ports/narrow-1284/snek-narrow-1284-math.builtin
    M ports/narrow-1284/snek-narrow-1284.c
    M ports/posix/Makefile
    M ports/posix/snek-posix.builtin
    M ports/posix/snek-posix.c
    M ports/posix/snek-posix.h
    M ports/snekboard/snek-board-test.py
    M ports/uduino/Makefile
    M ports/uduino/ao-pins.h
    R ports/uduino/snek-uduino-install.1
    R ports/uduino/snek-uduino-install.in
    R ports/uno-big/.gitignore
    R ports/uno-big/Makefile
    M ports/uno/Makefile
    M snek-atof.c
    M snek-builtin.py
    M snek-code.c
    M snek-error.c
    M snek-exec.c
    M snek-frame.c
    M snek-gram.ll
    M snek-install.defs
    M snek-keyword.builtin
    M snek-lex.c
    A snek-math-small.builtin
    M snek-math.c
    M snek-memory.c
    M snek-name.c
    M snek-pow.c
    A snek-random-small.c
    A snek-random.builtin
    A snek-random.c
    M snek-ssd1315.c
    M snek.defs
    M snek.h
    M snekde/snekde.py
    M test/pass-equal_is.py
    M test/pass-math.py
    M test/pass-op.py
    M test/pass-precedence.py
    M test/pass-random.py
    M test/pass-slice.py
    M test/pass-trailing-comma.py
    A ubaboot

  Log Message:
  -----------
  Merge tag '1.10' into debian

Snek version 1.10


  Commit: 6c6b81eee6ff8c6af657f6fd2b0f181eb29bb94c
      https://github.com/keith-packard/snek/commit/6c6b81eee6ff8c6af657f6fd2b0f181eb29bb94c
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    R debian/patches/0001-ports-ev3-Fix-up-makefile-to-work-under-debian-build.patch
    R debian/patches/0002-ports-qemu-arm-riscv-Support-updated-picolibc-semiho.patch
    R debian/patches/series

  Log Message:
  -----------
  Rediff patches

Drop 0001-ports-ev3-Fix-up-makefile-to-work-under-debian-build.patch: <REASON>
Drop 0002-ports-qemu-arm-riscv-Support-updated-picolibc-semiho.patch: <REASON>


  Commit: b6fd8caf552661d3f47c4360613c7ecbdef82a5f
      https://github.com/keith-packard/snek/commit/b6fd8caf552661d3f47c4360613c7ecbdef82a5f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M debian/changelog
    M debian/control

  Log Message:
  -----------
  debian: Version 1.10-1

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


Compare: https://github.com/keith-packard/snek/compare/c66d9a2f0a23...b6fd8caf5526

To unsubscribe from these emails, change your notification settings at https://github.com/keith-packard/snek/settings/notifications


More information about the Snek mailing list