[Snek] [keith-packard/snek] 1a9514: .github: Fix caching of dockerfile

Keith Packard noreply at github.com
Thu Nov 21 00:28:16 PST 2024


  Branch: refs/heads/update-avr
  Home:   https://github.com/keith-packard/snek
  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>


Compare: https://github.com/keith-packard/snek/compare/8b6515df266e...ff496afad237

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