[Snek] [keith-packard/snek] da9ce2: Allow EOF as empty statement too

Keith Packard noreply at github.com
Wed Nov 20 12:25:37 PST 2024


  Branch: refs/heads/update-avr
  Home:   https://github.com/keith-packard/snek
  Commit: da9ce26e6a51e56e4a3bff172c5a417540bfe506
      https://github.com/keith-packard/snek/commit/da9ce26e6a51e56e4a3bff172c5a417540bfe506
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M snek-gram.ll

  Log Message:
  -----------
  Allow EOF as empty statement too

Use the existing nl-or-end as the empty statement so that a bare EOF
qualifies.

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


  Commit: a5d003fa787996f8e9da5dadc2fa04fc29755eeb
      https://github.com/keith-packard/snek/commit/a5d003fa787996f8e9da5dadc2fa04fc29755eeb
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 09d3c867787810396582ac3ed304bc6ca3afcce5
      https://github.com/keith-packard/snek/commit/09d3c867787810396582ac3ed304bc6ca3afcce5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: f64053d368ab777b1d13423989054813168e3108
      https://github.com/keith-packard/snek/commit/f64053d368ab777b1d13423989054813168e3108
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: ac558c8f7e12ce18678f0977cbb85e40f1199ac9
      https://github.com/keith-packard/snek/commit/ac558c8f7e12ce18678f0977cbb85e40f1199ac9
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 670c6cf27e0716643ef17ed5c8fcc178c1fd9e00
      https://github.com/keith-packard/snek/commit/670c6cf27e0716643ef17ed5c8fcc178c1fd9e00
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: bfb9d394ccb434d39608f23b4fddde1fd507f4bf
      https://github.com/keith-packard/snek/commit/bfb9d394ccb434d39608f23b4fddde1fd507f4bf
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 749334fc257c8d3dfb42b7044f0b1acb5f5c5d5d
      https://github.com/keith-packard/snek/commit/749334fc257c8d3dfb42b7044f0b1acb5f5c5d5d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    A .gitmodules
    M 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: 0cc7fd15cbed8b2abff50a343fb75f18fbdcb1f0
      https://github.com/keith-packard/snek/commit/0cc7fd15cbed8b2abff50a343fb75f18fbdcb1f0
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: c3074bdd8b52356d49ad8700fd78c88b8a562c05
      https://github.com/keith-packard/snek/commit/c3074bdd8b52356d49ad8700fd78c88b8a562c05
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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 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: cf0c7c14021558e2856700850e695af615e2ab2b
      https://github.com/keith-packard/snek/commit/cf0c7c14021558e2856700850e695af615e2ab2b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: a9adb4bc98f31a5592a9c1bc109180af612aa674
      https://github.com/keith-packard/snek/commit/a9adb4bc98f31a5592a9c1bc109180af612aa674
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 5c41c7d7f6487176589798d824c7e37fb23598dd
      https://github.com/keith-packard/snek/commit/5c41c7d7f6487176589798d824c7e37fb23598dd
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 19a5a4caff741aea844e0ff96c680350b85b0c65
      https://github.com/keith-packard/snek/commit/19a5a4caff741aea844e0ff96c680350b85b0c65
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 19587e7fa697215413835395bc4a7f25e103fccc
      https://github.com/keith-packard/snek/commit/19587e7fa697215413835395bc4a7f25e103fccc
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 19697c4b05fb45577ad12658447ed0f46c93cea0
      https://github.com/keith-packard/snek/commit/19697c4b05fb45577ad12658447ed0f46c93cea0
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: fc92bcdce143dcde84dd557bfc0950035396bedc
      https://github.com/keith-packard/snek/commit/fc92bcdce143dcde84dd557bfc0950035396bedc
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 6f062ddd9407ef4ce0c2378a3d7649992d2df1ca
      https://github.com/keith-packard/snek/commit/6f062ddd9407ef4ce0c2378a3d7649992d2df1ca
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 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: 41b7859830c83da09b03714e76160ae34dc63024
      https://github.com/keith-packard/snek/commit/41b7859830c83da09b03714e76160ae34dc63024
  Author: Keith Packard <keithp at keithp.com>
  Date:   2024-11-20 (Wed, 20 Nov 2024)

  Changed paths:
    M .github/Dockerfile

  Log Message:
  -----------
  .github: Remove extra subdir from Dockerfile

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


Compare: https://github.com/keith-packard/snek/compare/efaea89b7d15...41b7859830c8

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