[Snek] [keith-packard/snek] 8555dc: snekde: Make autobaud detection fancier

Keith Packard noreply at github.com
Fri Dec 23 22:16:07 PST 2022


  Branch: refs/heads/debian
  Home:   https://github.com/keith-packard/snek
  Commit: 8555dcd0f0295e725dcec528ea6d8ed579a1e07b
      https://github.com/keith-packard/snek/commit/8555dcd0f0295e725dcec528ea6d8ed579a1e07b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-04-09 (Sat, 09 Apr 2022)

  Changed paths:
    M snekde/snekde.py

  Log Message:
  -----------
  snekde: Make autobaud detection fancier

Put the autobaud code in a separate thread. Try it twice; once after
100ms and once after another 1.5 seconds to allow devices without boot
loaders to start quickly while still supporting devices with boot
loaders that delay for 1.5 seconds.

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


  Commit: c2c7efe8366d6816bcb8a90d5fe93af4924f5344
      https://github.com/keith-packard/snek/commit/c2c7efe8366d6816bcb8a90d5fe93af4924f5344
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-05-14 (Sat, 14 May 2022)

  Changed paths:
    M snek-builtin.py
    M snek-math.builtin

  Log Message:
  -----------
  Allow for builtin function aliases, alias 'pow' for math.pow

Python has a builtin 'pow' function, which performs the math.pow when
presented with two arguments (it does powmod with three). We can at least
make the two argument form work by having it be an alias for the existing
math.pow function on systems that include the math library.

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


  Commit: 855cbc84e7d46145c293db8296ebc6a3d2a4424a
      https://github.com/keith-packard/snek/commit/855cbc84e7d46145c293db8296ebc6a3d2a4424a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Add some more details about build requirements in README.md

Note that a current version of lola and the GNU awk version (gawk) are
required to build Snek.

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


  Commit: 482648bdc6abaf5e4ead8d1d702796f89d87f7f5
      https://github.com/keith-packard/snek/commit/482648bdc6abaf5e4ead8d1d702796f89d87f7f5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-09-05 (Mon, 05 Sep 2022)

  Changed paths:
    M snek-builtin.py

  Log Message:
  -----------
  Reformat 'snek-builtin.py'

Black found a spurious semicolon.

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


  Commit: 35b666138c8d75d6f454317a505bdb9b624e7e35
      https://github.com/keith-packard/snek/commit/35b666138c8d75d6f454317a505bdb9b624e7e35
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-10 (Sat, 10 Dec 2022)

  Changed paths:
    M chips/avr/ao-arch.h
    M chips/avr/snek-avr.defs
    M chips/qemu/snek-qemu.defs
    M chips/samd21/ao-arch-funcs.h
    M chips/samd21/ao-arch.h
    M chips/samd21/snek-samd21.defs
    M ports/hifive1revb/Makefile
    M snek-pow.c

  Log Message:
  -----------
  Build in -std=c18 mode

Make sure snek code uses only standard C18 language constructs.

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


  Commit: 13ccbd342241fecdc9a904ddaa04fc12f7a8648f
      https://github.com/keith-packard/snek/commit/13ccbd342241fecdc9a904ddaa04fc12f7a8648f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-10 (Sat, 10 Dec 2022)

  Changed paths:
    M snek-input.c

  Log Message:
  -----------
  Return '' when just <nl> is provided to 'input'

That's what Python does. Snek's behavior of returning None didn't match.

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


  Commit: 1a488c67d68a68a532189f25098157c887e3c755
      https://github.com/keith-packard/snek/commit/1a488c67d68a68a532189f25098157c887e3c755
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-10 (Sat, 10 Dec 2022)

  Changed paths:
    M chips/qemu/snek-qemu.c
    M chips/qemu/snek-qemu.defs
    M chips/qemu/snek-qemu.h
    M chips/samd21/ao-snek.h
    M chips/samd21/ao-stdio.c

  Log Message:
  -----------
  Support older picolibc (< 1.6)

Older versions of picolibc didn't include strfromf, strtof or the
--crt0 gcc command line option. Work around these by checking versions
during the build and providing implementations of the str functions that
work with snek.

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


  Commit: 272eca2e439286075d5a84d3d5ba1d9ac1bdb9db
      https://github.com/keith-packard/snek/commit/272eca2e439286075d5a84d3d5ba1d9ac1bdb9db
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-10 (Sat, 10 Dec 2022)

  Changed paths:
    M ports/posix/Makefile
    M ports/posix/snek-main.c

  Log Message:
  -----------
  ports/posix: Allow building with -static, skipping readline

With this patch,

	$ make STATIC=1

will build the posix snek port as a static executable.

It seems that libreadline doesn't like to be used with static
executables because it wants to dlopen some helper libaries.  To work
around this, just skip readline in this case.

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


  Commit: e80f0b5ca805483914975c62f92edd3cdbae9ce6
      https://github.com/keith-packard/snek/commit/e80f0b5ca805483914975c62f92edd3cdbae9ce6
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-14 (Wed, 14 Dec 2022)

  Changed paths:
    M snek-exec.c
    M snek-frame.c
    M snek-gram.ll
    M snek.h

  Log Message:
  -----------
  Add snek_id_store

Replace the pattern:

	ref = snek_id_ref(id, true);
	if (ref)
		*ref = value

with the new snek_id_store function, saving a bit of space.

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


  Commit: f4c471814cc8278754f3550c02f2fa7a69309781
      https://github.com/keith-packard/snek/commit/f4c471814cc8278754f3550c02f2fa7a69309781
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-14 (Wed, 14 Dec 2022)

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

  Log Message:
  -----------
  Store most recent repl value in '_'

Just like python, the top-level '_' variable
holds the most recently printed value.

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


  Commit: 2e09601936a4e31e47da94c3eeac9cb6177f526a
      https://github.com/keith-packard/snek/commit/2e09601936a4e31e47da94c3eeac9cb6177f526a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-14 (Wed, 14 Dec 2022)

  Changed paths:
    M README.md

  Log Message:
  -----------
  Note additional build dependencies

Snek uses gcc-arm-linux-gnueabi to build images for the Lego EV3 and
all of the docs are built with asciidoctor.

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


  Commit: 47838293eeb5586712fffea5b50adaa4b39f5b55
      https://github.com/keith-packard/snek/commit/47838293eeb5586712fffea5b50adaa4b39f5b55
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-19 (Mon, 19 Dec 2022)

  Changed paths:
    M snek-input.c

  Log Message:
  -----------
  Allow only one optional parameter to 'input'

Python only allows zero or one parameters to the input function. Check
for more than one and emit an error.

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


  Commit: c0d273ceb5be3f6f91223e6a524ae55d19eee84b
      https://github.com/keith-packard/snek/commit/c0d273ceb5be3f6f91223e6a524ae55d19eee84b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
    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/lesson-3-bumper-car.adoc
    M doc/lessons/lesson-4/Makefile
    M doc/lessons/lesson-4/lesson-4-washing-machine.adoc
    M doc/snek-book-theme.yml
    M doc/snek-theme.yml
    M doc/snek.adoc

  Log Message:
  -----------
  doc: Support asciidoctor-pdf 2.x and above

Theme attributes changed a bit.

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


  Commit: 771cc7eceaec74a63ce5633bf2467f7dd53a798b
      https://github.com/keith-packard/snek/commit/771cc7eceaec74a63ce5633bf2467f7dd53a798b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
    M snek-lex.c

  Log Message:
  -----------
  Shrink float lexing by a few bytes

Use | ('a' - 'A') hack to detect 'e' or 'E' when lexing numbers

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


  Commit: a2c4716ab745b27d7db118515f2c0aa710bf3980
      https://github.com/keith-packard/snek/commit/a2c4716ab745b27d7db118515f2c0aa710bf3980
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-20 (Tue, 20 Dec 2022)

  Changed paths:
    M doc/snek.adoc

  Log Message:
  -----------
  doc: Note that param to `prompt` is optional

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


  Commit: 395eabd7562ee2786374d9d8195da1439602c894
      https://github.com/keith-packard/snek/commit/395eabd7562ee2786374d9d8195da1439602c894
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M chips/samd21/snek-samd21.ld

  Log Message:
  -----------
  chips/samd21: Make linker script compatible with Picolibc 1.8

Picolibc 1.8 initialization code requires TLS alignment values
computed by the linker script.

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


  Commit: 6598f41fff5e8e4991588b363ab60e818a7538e9
      https://github.com/keith-packard/snek/commit/6598f41fff5e8e4991588b363ab60e818a7538e9
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M ports/grove/snek-grove-install.in
    M ports/lilypad-big/Makefile

  Log Message:
  -----------
  chips/atmega: Fix a couple of MCU values

grove and lilypad both use 328p, but my local avrdude configuration
was broken. Fix these to use the correct MCU value.

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


  Commit: d9f88c35cf024d094092bd8b6be1a8e511ecb0a2
      https://github.com/keith-packard/snek/commit/d9f88c35cf024d094092bd8b6be1a8e511ecb0a2
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M hosts/windows/Makefile

  Log Message:
  -----------
  hosts/windows: Add 'input' module to Windows build

Makes windows support everything but curses.

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


  Commit: dcdea5d46b117ca8ce1173cc2f4f7a4d9fe68b0f
      https://github.com/keith-packard/snek/commit/dcdea5d46b117ca8ce1173cc2f4f7a4d9fe68b0f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M hosts/windows/snek-windows.builtin
    M hosts/windows/snek-windows.c

  Log Message:
  -----------
  hosts/windows: Fix random.seed to take a parameter

Instead of automatically seeding from the current time, allow
applications to specify the seed like other snek ports.

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


  Commit: e9839b5427afbf3fbec27514568db1865e5298c9
      https://github.com/keith-packard/snek/commit/e9839b5427afbf3fbec27514568db1865e5298c9
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M hosts/windows/snek-windows.builtin

  Log Message:
  -----------
  hosts/windows: Increase heap to 256kB

Insted of the default heap size.

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


  Commit: 5489d4117286a038a9073cf6511db7527aa0e53e
      https://github.com/keith-packard/snek/commit/5489d4117286a038a9073cf6511db7527aa0e53e
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    A doc/releasing.md

  Log Message:
  -----------
  doc: Document release process

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


  Commit: 79076ee5d41fe9ff8fe65b002a98db269bab511b
      https://github.com/keith-packard/snek/commit/79076ee5d41fe9ff8fe65b002a98db269bab511b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M README.md
    M snek.defs

  Log Message:
  -----------
  Snek version 1.9

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


  Commit: b5aaaa8a8a752f2ac6b291ff4d2e7a3833e266ac
      https://github.com/keith-packard/snek/commit/b5aaaa8a8a752f2ac6b291ff4d2e7a3833e266ac
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M README.md
    M chips/avr/ao-arch.h
    M chips/avr/snek-avr.defs
    M chips/qemu/snek-qemu.c
    M chips/qemu/snek-qemu.defs
    M chips/qemu/snek-qemu.h
    M chips/samd21/ao-arch-funcs.h
    M chips/samd21/ao-arch.h
    M chips/samd21/ao-snek.h
    M chips/samd21/ao-stdio.c
    M chips/samd21/snek-samd21.defs
    M chips/samd21/snek-samd21.ld
    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/lesson-3-bumper-car.adoc
    M doc/lessons/lesson-4/Makefile
    M doc/lessons/lesson-4/lesson-4-washing-machine.adoc
    A doc/releasing.md
    M doc/snek-book-theme.yml
    M doc/snek-theme.yml
    M doc/snek.adoc
    M hosts/windows/Makefile
    M hosts/windows/snek-windows.builtin
    M hosts/windows/snek-windows.c
    M ports/grove/snek-grove-install.in
    M ports/hifive1revb/Makefile
    M ports/lilypad-big/Makefile
    M ports/posix/Makefile
    M ports/posix/snek-main.c
    M snek-base.builtin
    M snek-builtin.py
    M snek-exec.c
    M snek-frame.c
    M snek-gram.ll
    M snek-input.c
    M snek-lex.c
    M snek-math.builtin
    M snek-pow.c
    M snek.defs
    M snek.h
    M snekde/snekde.py

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

Snek version 1.9


  Commit: b5fdbbc6c2206f6d23d2590be00365b8b969c5c0
      https://github.com/keith-packard/snek/commit/b5fdbbc6c2206f6d23d2590be00365b8b969c5c0
  Author: Keith Packard <keithp at keithp.com>
  Date:   2022-12-23 (Fri, 23 Dec 2022)

  Changed paths:
    M debian/changelog
    M debian/control

  Log Message:
  -----------
  debian: Version 1.9-1

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


Compare: https://github.com/keith-packard/snek/compare/0c52ae3ffad3...b5fdbbc6c220


More information about the Snek mailing list