[Snek] [keith-packard/snek] 9bd0d4: In non-interactive mode, stop after first syntax e...

Keith Packard noreply at github.com
Thu Sep 12 21:36:09 PDT 2019


  Branch: refs/heads/debian
  Home:   https://github.com/keith-packard/snek
  Commit: 9bd0d4881a074ef0b5fd283dd2d9fb5d0904091b
      https://github.com/keith-packard/snek/commit/9bd0d4881a074ef0b5fd283dd2d9fb5d0904091b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-25 (Tue, 25 Jun 2019)

  Changed paths:
    M snek-parse.c

  Log Message:
  -----------
  In non-interactive mode, stop after first syntax error

Don't keep going in this case; let the user fix the first error.

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


  Commit: eb37e203a84fb9c18e65cf8f38d60cebabaaab49
      https://github.com/keith-packard/snek/commit/eb37e203a84fb9c18e65cf8f38d60cebabaaab49
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-25 (Tue, 25 Jun 2019)

  Changed paths:
    M test/Makefile
    A test/actual-named-first.py
    A test/formal-named-first.py
    A test/list-named.py
    A test/range-named.py
    A test/tuple-named.py

  Log Message:
  -----------
  test: Add tests to catch named parameter in wrong place

Snek had a bug where it would allow named parameters in weird places. These
tests make sure that doesn't happen again. Checks for

	> [x=1]
	> (1,y=1)
	> for i in range(x=1): print(i)
	> def foo(x=1,y): return x+y
	> foo(x=1,12)

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


  Commit: b6fefcce8d26ec14cfc70dbcd51946ef6aa10ecd
      https://github.com/keith-packard/snek/commit/b6fefcce8d26ec14cfc70dbcd51946ef6aa10ecd
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-25 (Tue, 25 Jun 2019)

  Changed paths:
    M snek-code.c

  Log Message:
  -----------
  Split out position and named counts in snek_op_call dbg

Break out these two values when printing out the debug data for this
op code.

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


  Commit: a8e190bd0d560e01ae2e48d3dfa038b5c9d047e8
      https://github.com/keith-packard/snek/commit/a8e190bd0d560e01ae2e48d3dfa038b5c9d047e8
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-25 (Tue, 25 Jun 2019)

  Changed paths:
    M chips/atmega/snek-atmega.h
    M chips/avr/snek-avr.h
    M snek-builtin.py
    M snek-math.builtin
    M snek.h

  Log Message:
  -----------
  Store builtin constants as snek_poly_t instead of float

This will allow other (non-allocated) constant values.

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


  Commit: 70cf1beab08892c70609861559f6057c9dc8554d
      https://github.com/keith-packard/snek/commit/70cf1beab08892c70609861559f6057c9dc8554d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-25 (Tue, 25 Jun 2019)

  Changed paths:
    M snek-base.builtin

  Log Message:
  -----------
  Add 'None' builtin constant

This is a standard Python constant

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


  Commit: d61909f73971eff3ba5051b23fe7252ffbe7ca33
      https://github.com/keith-packard/snek/commit/d61909f73971eff3ba5051b23fe7252ffbe7ca33
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-25 (Tue, 25 Jun 2019)

  Changed paths:
    M test/Makefile
    A test/none.py

  Log Message:
  -----------
  test: Add none.py to test 'None' constant

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


  Commit: be00996194a8d89c6e900d983a5b239e50fc7694
      https://github.com/keith-packard/snek/commit/be00996194a8d89c6e900d983a5b239e50fc7694
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-06-26 (Wed, 26 Jun 2019)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  Add *.pyc and __pycache__ to .gitignore


  Commit: b0b74c752e5a996bb37f5d83844f529b8b751c81
      https://github.com/keith-packard/snek/commit/b0b74c752e5a996bb37f5d83844f529b8b751c81
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-06-26 (Wed, 26 Jun 2019)

  Changed paths:
    M snek-code.c

  Log Message:
  -----------
  Fix compilation with DEBUG_COMPILE or DEBUG_EXEC

Build failed if only DEBUG_COMPILE or DEBUG_EXEC was defined.
Only worked with both defined.


  Commit: 96f13e4ae45838df36d3f1e9309be3638dd5eadd
      https://github.com/keith-packard/snek/commit/96f13e4ae45838df36d3f1e9309be3638dd5eadd
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-27 (Thu, 27 Jun 2019)

  Changed paths:
    M chips/avr/strtod.c

  Log Message:
  -----------
  chips/avr: Remove sign support from strtof

Snek never passes leading + or - to strtof, remove
support to save space.

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


  Commit: ad2e91df43b94632c48230c98814627add98b80e
      https://github.com/keith-packard/snek/commit/ad2e91df43b94632c48230c98814627add98b80e
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-27 (Thu, 27 Jun 2019)

  Changed paths:
    M snek-error.c
    M snek-func.c
    M snek-gram.ll
    M snek-parse.c
    M snek.h
    M test/Makefile
    A test/arg-dup1.py
    A test/arg-dup2.py
    A test/arg-unknown.py
    A test/args-missing.py
    A test/args.py

  Log Message:
  -----------
  Fix argument handling

Python has two kinds of formals: required and optional.
Python has two kinds of actuals: positional and named.

required formals and positional actuals use the similar syntax (no '=')
optional formals and named actuals also use similar syntax (they have '=').

Either kind of formal can be passed using either kind of actual.

The previous snek code only allowed required formals to be passed as
positional actuals and optional formals to be passed as named
actuals. It also allowed declaration of *new* locals in the function
scope by passing an actual by name using a name other than one of the
formals.

Changes:

 1) either required or optional formals can be assigned by name
 2) either required or optional formals can be assigned by position
 3) required formals must be passed
 4) names other than one of the formals cannot be used as by-name actuals

This change also limits the number of formals for any function to 255.

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


  Commit: fd609b38e20ce00e572b715984d3b82c38553354
      https://github.com/keith-packard/snek/commit/fd609b38e20ce00e572b715984d3b82c38553354
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-29 (Sat, 29 Jun 2019)

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

  Log Message:
  -----------
  chips/samd21: Allow devices to have as few as 17 GPIOs

There were some missing #ifdefs in snek-gpio.c. For devices with even
fewer GPIOs, adding more #ifdefs is all that should be required.

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


  Commit: 3b80f7e501c338f8bb9c2fc8aff956cb4ade82df
      https://github.com/keith-packard/snek/commit/3b80f7e501c338f8bb9c2fc8aff956cb4ade82df
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-06-29 (Sat, 29 Jun 2019)

  Changed paths:
    A ports/snekboard/.gitignore
    A ports/snekboard/Makefile
    A ports/snekboard/ao-pins.h
    A ports/snekboard/bootloader-snekboard-v3.7.0.bin
    A ports/snekboard/snek-board.builtin
    M snek-install.defs

  Log Message:
  -----------
  ports/snekboard: Add snekboard port

This is a custom SAMD21G board with 9V motor controllers designed to
operate Lego devices.

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


  Commit: 2e5a59b0f805e493806ff3a170adbe5f39afb9bb
      https://github.com/keith-packard/snek/commit/2e5a59b0f805e493806ff3a170adbe5f39afb9bb
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-03 (Wed, 03 Jul 2019)

  Changed paths:
    M snek-lex.c

  Log Message:
  -----------
  allow any chars with high-bit set in identifiers

When using UTF-8 encoding, this makes code points above 0x7f usable in
identifiers.

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


  Commit: f3b4a7e7450fb2f045a52d2aab9dbec162c4415f
      https://github.com/keith-packard/snek/commit/f3b4a7e7450fb2f045a52d2aab9dbec162c4415f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-03 (Wed, 03 Jul 2019)

  Changed paths:
    M chips/samd21/ao-arch.h
    M chips/samd21/ao-timer.c
    M chips/samd21/samd21.h

  Log Message:
  -----------
  chips/samd21: Support XOSC as clock source

Allow the external high-frequency oscillator to be used as the primary
clock source.

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


  Commit: 121f8c79774242642979b2d43d1889226907dd2d
      https://github.com/keith-packard/snek/commit/121f8c79774242642979b2d43d1889226907dd2d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-03 (Wed, 03 Jul 2019)

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

  Log Message:
  -----------
  ports/snekboard: Use 16MHz crystal XOSC as primary clock source

This provides a stable clock even when not connected to USB.

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


  Commit: c2534a7b1ef6e40849a197d304b2931f407383e5
      https://github.com/keith-packard/snek/commit/c2534a7b1ef6e40849a197d304b2931f407383e5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-03 (Wed, 03 Jul 2019)

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

  Log Message:
  -----------
  chips/samd21: Get 'running' LED working again

The #ifdef controlling the hook was broken, and the boolean sense of
the LED was inverted.

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


  Commit: 18eff787351f593254d63dc9393ba266446981b4
      https://github.com/keith-packard/snek/commit/18eff787351f593254d63dc9393ba266446981b4
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-03 (Wed, 03 Jul 2019)

  Changed paths:
    M chips/samd21/ao-usb-samd21.c

  Log Message:
  -----------
  chips/samd21: Use unique 128-bit serial number for USB serial

Make each SAMD21 board unique without requiring managing serial
numbers separately.

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


  Commit: d2c37e47ac4b7031dcbe280c737c5d0355ed336e
      https://github.com/keith-packard/snek/commit/d2c37e47ac4b7031dcbe280c737c5d0355ed336e
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-09 (Tue, 09 Jul 2019)

  Changed paths:
    M chips/samd21/ao-snek.h
    M chips/samd21/ao-timer.c
    M chips/samd21/snek-gpio.c
    M ports/snekboard/ao-pins.h

  Log Message:
  -----------
  chips/samd21: Allow PWM values to adjust slowly rather than jump

To reduce current demand and reduce motor wear, ramp PWM values
slowly in a timer hook.

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


  Commit: 9b93d9afe115bef889d5f50ee6cb1f119fc9b228
      https://github.com/keith-packard/snek/commit/9b93d9afe115bef889d5f50ee6cb1f119fc9b228
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-20 (Sat, 20 Jul 2019)

  Changed paths:
    M ao/ao.h
    M chips/samd21/ao-timer.c

  Log Message:
  -----------
  samd21: Switch ticks to 1kHz

This provides finer sleep resolution

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


  Commit: b55589a176c61c27d5e16f96ba18352ea7f088f5
      https://github.com/keith-packard/snek/commit/b55589a176c61c27d5e16f96ba18352ea7f088f5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-20 (Sat, 20 Jul 2019)

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

  Log Message:
  -----------
  chips/samd21: Make ramp-pwm code include dir

This makes setleft/setright also ramp smoothly between the speeds to
reduce motor current spikes.

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


  Commit: a86a294191226040e54de9309264f6279fb4a5b8
      https://github.com/keith-packard/snek/commit/a86a294191226040e54de9309264f6279fb4a5b8
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-20 (Sat, 20 Jul 2019)

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

  Log Message:
  -----------
  ports/snekboard: Slow PWM ramp by half to keep power supply happy

This value is experimentally discovered to keep the 3.3V rail running
smoothly when turning motors on/off.

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


  Commit: 95733219baf261b259d8a95e0705f78817701a22
      https://github.com/keith-packard/snek/commit/95733219baf261b259d8a95e0705f78817701a22
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-27 (Sat, 27 Jul 2019)

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

  Log Message:
  -----------
  chips/samd21: Make sure 'running' LED is off at startup

The #ifdef was mis-spelled

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


  Commit: d4c33869db6668463ec5cbdae5b24134dd35c8b4
      https://github.com/keith-packard/snek/commit/d4c33869db6668463ec5cbdae5b24134dd35c8b4
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-28 (Sun, 28 Jul 2019)

  Changed paths:
    A chips/atmega/ef_acosh.c
    A chips/atmega/ef_atanh.c
    A chips/atmega/ef_remainder.c
    A chips/atmega/erf_gamma.c
    A chips/atmega/erf_lgamma.c
    A chips/atmega/exp2.c
    A chips/atmega/fdlibm.h
    A chips/atmega/kf_cos.c
    A chips/atmega/kf_sin.c
    A chips/atmega/math_config.h
    A chips/atmega/sf_asinh.c
    A chips/atmega/sf_erf.c
    A chips/atmega/sf_exp.c
    A chips/atmega/sf_exp2.c
    A chips/atmega/sf_log1p.c
    A chips/atmega/sf_log2.c
    A chips/atmega/sf_log2_data.c
    M chips/atmega/snek-atmega-eeprom.c
    A chips/atmega/snek-atmega-math.c
    A chips/atmega/snek-atmega-math.h
    A chips/atmega/snek-atmega.builtin
    A chips/atmega/snek-atmega.defs
    A chips/atmega/wf_tgamma.c
    M ports/duemilanove/Makefile
    M ports/duemilanove/snek-duemilanove.builtin
    M ports/mega/Makefile
    R ports/mega/ef_acosh.c
    R ports/mega/ef_atanh.c
    R ports/mega/ef_remainder.c
    R ports/mega/erf_gamma.c
    R ports/mega/erf_lgamma.c
    R ports/mega/exp2.c
    R ports/mega/fdlibm.h
    R ports/mega/kf_cos.c
    R ports/mega/kf_sin.c
    R ports/mega/math_config.h
    R ports/mega/sf_asinh.c
    R ports/mega/sf_erf.c
    R ports/mega/sf_exp.c
    R ports/mega/sf_exp2.c
    R ports/mega/sf_log1p.c
    R ports/mega/sf_log2.c
    R ports/mega/sf_log2_data.c
    R ports/mega/snek-mega-math.c
    R ports/mega/snek-mega-math.h
    M ports/mega/snek-mega.builtin
    R ports/mega/wf_tgamma.c
    A snek-eeprom.builtin
    A snek-gpio.builtin

  Log Message:
  -----------
  chips/atmega: Move atmega code from duemilanove and mega ports

This brings all of the atmega-specific code into the chips/atmega
directory instead of having it spread between the duemilanove and mega
ports.

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


  Commit: 5349dd1194313d56f0cd5a81670b38a1b13dd652
      https://github.com/keith-packard/snek/commit/5349dd1194313d56f0cd5a81670b38a1b13dd652
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-28 (Sun, 28 Jul 2019)

  Changed paths:
    A chips/avr/snek-avr.builtin
    M chips/avr/snek-avr.defs
    M ports/itsybitsy3v/snek-itsybitsy3v.builtin
    M ports/itsybitsy5v/snek-itsybitsy5v.builtin

  Log Message:
  -----------
  chips/avr: Move common options from itsybitsy ports

This shares the builtin configuration files for all avr ports.

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


  Commit: 541cc73a1fcfacdfc09ab334e0f5f4d6327caeff
      https://github.com/keith-packard/snek/commit/541cc73a1fcfacdfc09ab334e0f5f4d6327caeff
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-28 (Sun, 28 Jul 2019)

  Changed paths:
    M chips/atmega/snek-atmega.h
    M chips/avr/ao-snek-avr.c
    M chips/avr/snek-avr.h
    M chips/samd21/ao-arch-funcs.h
    M chips/samd21/ao-snek.c
    M chips/samd21/ao-snek.h
    M chips/samd21/snek-altos.builtin
    M chips/samd21/snek-eeprom.c
    M chips/samd21/snek-gpio.c
    M chips/samd21/snek-samd21.defs
    M ports/duemilanove/snek-duemilanove.c
    M ports/mega/snek-mega.c
    M ports/snekboard/Makefile
    M snek-gpio.builtin

  Log Message:
  -----------
  Add pulldown, pullup and pullnone GPIO builtins

Applications can use these to configure I/O pins for input devices.
When in pullup or pulldown mode, I/O pins are in digital mode, not
analog mode.

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


  Commit: 5f29e353346238c8f0ee53432dd0068d568cb4f3
      https://github.com/keith-packard/snek/commit/5f29e353346238c8f0ee53432dd0068d568cb4f3
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-28 (Sun, 28 Jul 2019)

  Changed paths:
    M doc/snek.adoc

  Log Message:
  -----------
  doc: Document pullnone, pullup and pulldown functions

pullnone and pullup are provided on all targets. pulldown is provided
on chips that can do this.

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


  Commit: b57d8a3b5bdf6b990b3c89c13a8b427e90e013dc
      https://github.com/keith-packard/snek/commit/b57d8a3b5bdf6b990b3c89c13a8b427e90e013dc
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-28 (Sun, 28 Jul 2019)

  Changed paths:
    M doc/snek.adoc

  Log Message:
  -----------
  doc: Add docs for snekboard

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


  Commit: 44222b03b3d3229b9dc77a5280052f44a3371399
      https://github.com/keith-packard/snek/commit/44222b03b3d3229b9dc77a5280052f44a3371399
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-28 (Sun, 28 Jul 2019)

  Changed paths:
    M doc/snek.adoc

  Log Message:
  -----------
  doc: Add per-board info on pullnone/pullup/pulldown usage

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


  Commit: a4a1f0a81bd59259dea69db2629bd3d07faba5cb
      https://github.com/keith-packard/snek/commit/a4a1f0a81bd59259dea69db2629bd3d07faba5cb
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-28 (Sun, 28 Jul 2019)

  Changed paths:
    M ports/snekboard/snek-board.builtin

  Log Message:
  -----------
  ports/snekboard: Use shorter names for the pins

No sense making people type 'ANALOG1' when they could use A1 instead.

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


  Commit: 578b1a4b899afcd5d78eaa7d77744a1c3379a59a
      https://github.com/keith-packard/snek/commit/578b1a4b899afcd5d78eaa7d77744a1c3379a59a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-07-31 (Wed, 31 Jul 2019)

  Changed paths:
    M Makefile
    M snek-builtin.py

  Log Message:
  -----------
  Add --mu mode to snek-builtin.py

This generates a list of defined names for mu-editor so it doesn't
complain about them being undefined.

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


  Commit: c50c4c474667e06d971ff06596a851a189ce4f1a
      https://github.com/keith-packard/snek/commit/c50c4c474667e06d971ff06596a851a189ce4f1a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M chips/samd21/ao-timer.c

  Log Message:
  -----------
  chips/samd21: Run timer interrupt at lowest priority

And allow other interrupts to run during timer interrupt

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


  Commit: 2ebae018cd852adbf2be93504efd9630ff2580f5
      https://github.com/keith-packard/snek/commit/2ebae018cd852adbf2be93504efd9630ff2580f5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M ao/ao.h

  Log Message:
  -----------
  ao: Renumber AO_PANIC_CRASH from 14 to 1

No reason to use a huge panic value for this case

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


  Commit: c4a783e23a318181b22393894af8ef989a6c28c4
      https://github.com/keith-packard/snek/commit/c4a783e23a318181b22393894af8ef989a6c28c4
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M chips/samd21/ao-usb-samd21.c

  Log Message:
  -----------
  chips/samd21: Delay USB running until we see data from the host

This avoids sending data to the host while the tty is in echo mode,
which only generates sadness.

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


  Commit: cdbfd889ada3a33f418ca601306efcc4f8771a1c
      https://github.com/keith-packard/snek/commit/cdbfd889ada3a33f418ca601306efcc4f8771a1c
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M chips/samd21/ao-usb-samd21.c

  Log Message:
  -----------
  chips/samd21: Make sure in_wait is called before in_send

ao_usb_flush was calling in_send without making sure that in_wait
had been called first; this could cause a pending packet to get
smashed if the new packet was empty

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


  Commit: e674370a1e3cfaff6802d6addadefadce4fbc95a
      https://github.com/keith-packard/snek/commit/e674370a1e3cfaff6802d6addadefadce4fbc95a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M chips/samd21/ao-usb-samd21.c

  Log Message:
  -----------
  chips/samd21: Follow sample code for USB reset

Make sure the SWRST bit toggles off and then on during reset

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


  Commit: 05f86880b3a5422223f6491fb02a8deaab2c187d
      https://github.com/keith-packard/snek/commit/05f86880b3a5422223f6491fb02a8deaab2c187d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M chips/samd21/ao-usb-samd21.c

  Log Message:
  -----------
  chips/samd21: Make USB interrupt priority higher than timer.

Make sure we process USB interrupts even during timer interrupt
processing.

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


  Commit: 613b52fa5744c1f8f60d8c20e7b03afd4927c11d
      https://github.com/keith-packard/snek/commit/613b52fa5744c1f8f60d8c20e7b03afd4927c11d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M chips/samd21/samd21.h

  Log Message:
  -----------
  chips/samd21: Clear error status bits when setting ep bank ready

This is what the sample code does, so we'll just play along.

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


  Commit: 9c895abcb0f3cdda212ec3d79247d34e25ed3368
      https://github.com/keith-packard/snek/commit/9c895abcb0f3cdda212ec3d79247d34e25ed3368
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M chips/avr/snek-avr.defs

  Log Message:
  -----------
  chips/avr: Adjust compiler optimization flags for code size reductions

Switch to -funsigned-char, add -frename-registers

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


  Commit: 4786a89b157bd2d710d6d418c9f7809f693ca2ae
      https://github.com/keith-packard/snek/commit/4786a89b157bd2d710d6d418c9f7809f693ca2ae
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M chips/avr/strtod.c

  Log Message:
  -----------
  chips/avr: Use *10 instead of two shifts and add in strtod

This may be slower, but it's smaller.

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


  Commit: a9b53470f88154fdc3fe2aa543aa8270f5465c94
      https://github.com/keith-packard/snek/commit/a9b53470f88154fdc3fe2aa543aa8270f5465c94
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

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

  Log Message:
  -----------
  Pack more enums

This shrinks code on 8-bit processors.

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


  Commit: aafd742f3d125e5eb935bba5ef50c5c23fac459c
      https://github.com/keith-packard/snek/commit/aafd742f3d125e5eb935bba5ef50c5c23fac459c
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

  Changed paths:
    M ports/duemilanove/Makefile

  Log Message:
  -----------
  ports/duemilanove: Adjust compiler flags to shrink code

Add -frename-registers and -funsigned char

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


  Commit: d6330265221e78c1e386523a081aac7b0916a3a9
      https://github.com/keith-packard/snek/commit/d6330265221e78c1e386523a081aac7b0916a3a9
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-03 (Sat, 03 Aug 2019)

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

  Log Message:
  -----------
  Implement string * number

String * number replicates string number times

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


  Commit: 122beba14563f6a13085f55cf2de8c375c0e4f23
      https://github.com/keith-packard/snek/commit/122beba14563f6a13085f55cf2de8c375c0e4f23
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-04 (Sun, 04 Aug 2019)

  Changed paths:
    M chips/samd21/ao-arch.h
    M chips/samd21/ao-timer.c
    M chips/samd21/ao-usb-samd21.c
    M chips/samd21/samd21.h
    M ports/snekboard/ao-pins.h

  Log Message:
  -----------
  chips/samd21: Use dfll48m for USB even when we have xosc

For unknown reasons, running USB off the dpll96m generates garbage on
the USB bus, ending up dropping packets or getting us kicked off
entirely. Give up trying to make that work and just light up the
dfll48m so that USB is reliable.

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


  Commit: 21d7ecd3897fab5c5cc3f84f35a6a195a5f25c28
      https://github.com/keith-packard/snek/commit/21d7ecd3897fab5c5cc3f84f35a6a195a5f25c28
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-08-04 (Sun, 04 Aug 2019)

  Changed paths:
    M ports/crickit/Makefile
    M ports/feather/Makefile
    M ports/itsybitsym0/Makefile
    M ports/metrom0/Makefile
    M ports/playground/Makefile

  Log Message:
  -----------
  Use 'official' USB ids for Adafruit products

These are the IDs reported when running the Arduino stuff, so at least that
doesn't conflict with circuit python or the UF2 boot loader.

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


  Commit: 71976db13aa00dbc67d7e6b759fe89f2cfd08eee
      https://github.com/keith-packard/snek/commit/71976db13aa00dbc67d7e6b759fe89f2cfd08eee
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-08-19 (Mon, 19 Aug 2019)

  Changed paths:
    M snek-code.c
    M snek-gram.ll
    M snek-keyword.builtin
    M snek.h
    M test/Makefile
    A test/assert-fail.py
    A test/assert-success.py

  Log Message:
  -----------
  Add assert statement support

This PR adds assert <expr> statement support to Snek.

When <expr> evaluates to False (per snek_poly_true criteria)
assert will print an AssertionError.

In the future we could add __debug__ so we can ignore
assertions while __debug__ is false.


  Commit: 9e3a1a5ce2cd00f64c9a8b8276e0a41a7d85ed5e
      https://github.com/keith-packard/snek/commit/9e3a1a5ce2cd00f64c9a8b8276e0a41a7d85ed5e
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-08-21 (Wed, 21 Aug 2019)

  Changed paths:
    M doc/snek.adoc

  Log Message:
  -----------
  Add documentation about assert


  Commit: 0b82de6eea70e760f450066f7d9d5cb4f2cf3f48
      https://github.com/keith-packard/snek/commit/0b82de6eea70e760f450066f7d9d5cb4f2cf3f48
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-08-21 (Wed, 21 Aug 2019)

  Changed paths:
    M snek-code.c

  Log Message:
  -----------
  Do not return the expression value after an assert


  Commit: 96fe24c0cc4bc461d516a662dac0251143388194
      https://github.com/keith-packard/snek/commit/96fe24c0cc4bc461d516a662dac0251143388194
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-08-21 (Wed, 21 Aug 2019)

  Changed paths:
    M snek.h

  Log Message:
  -----------
  Fix compilation when only SNEK_MEMORY debug is enabled


  Commit: 9801afa777476ed38c965f4028c886b53836377a
      https://github.com/keith-packard/snek/commit/9801afa777476ed38c965f4028c886b53836377a
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-08-27 (Tue, 27 Aug 2019)

  Changed paths:
    M snek-code.c
    M snek-gram.ll
    M snek-keyword.builtin
    M snek.defs
    M snek.h

  Log Message:
  -----------
  Add conditional compilation around assert

assert will not be compiled in by default, to enable it
run make SNEK_ASSERT=1


  Commit: fba9546fe7241b498f888b51d6ce92694e4ecf5b
      https://github.com/keith-packard/snek/commit/fba9546fe7241b498f888b51d6ce92694e4ecf5b
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-08-27 (Tue, 27 Aug 2019)

  Changed paths:
    M snek-keyword.builtin

  Log Message:
  -----------
  Fix typo on assert builtin definition


  Commit: a067a97127eca7c74ae4453c0c72fcdb01d5af8c
      https://github.com/keith-packard/snek/commit/a067a97127eca7c74ae4453c0c72fcdb01d5af8c
  Author: Paulo Henrique Silva <ph.silva at carta.com>
  Date:   2019-08-27 (Tue, 27 Aug 2019)

  Changed paths:
    M snek-builtin.py

  Log Message:
  -----------
  Add conditional compilation support for builtins

Now we can use #ifdef's inside builtin files just like a normal
C file.

example:

    value, VALUE


  Commit: 64a9e261e15191943eedeb7e6e7d3362c2197615
      https://github.com/keith-packard/snek/commit/64a9e261e15191943eedeb7e6e7d3362c2197615
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M ao/ao-led.c
    M ports/metrom0/ao-pins.h

  Log Message:
  -----------
  ao: Add support for LEDs which are active low

Allow each LED pin to state whether it needs to be inverted so that it
will be drive to 0 when on and 1 when off. Use this to fix the active
LED on the Metro M0 board.

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


  Commit: 2ff78d20c0fd2df2eb066636c4c73f02bfa1886b
      https://github.com/keith-packard/snek/commit/2ff78d20c0fd2df2eb066636c4c73f02bfa1886b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M doc/snek-book-theme.yml
    M doc/snek-theme.yml

  Log Message:
  -----------
  Fix doc licenses from CC SA to GPLv3+

Make all licenses GPLv3 compatible

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


  Commit: 1d9188b5a715e816efc228a83dbe4b11c719ea13
      https://github.com/keith-packard/snek/commit/1d9188b5a715e816efc228a83dbe4b11c719ea13
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M snek-builtin.py

  Log Message:
  -----------
  Merge remote-tracking branch 'phsilva/conditional-builtins'


  Commit: 153bff4d7a1d31b0bbceeffadd7c66b3a282d7dc
      https://github.com/keith-packard/snek/commit/153bff4d7a1d31b0bbceeffadd7c66b3a282d7dc
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M doc/snek.adoc
    M snek-code.c
    M snek-gram.ll
    M snek-keyword.builtin
    M snek.defs
    M snek.h
    M test/Makefile
    A test/assert-fail.py
    A test/assert-success.py

  Log Message:
  -----------
  Merge commit 'fba9546fe7241b498f888b51d6ce92694e4ecf5b'


  Commit: fda2798766e6745fab7dd5c7436adeca17c94d06
      https://github.com/keith-packard/snek/commit/fda2798766e6745fab7dd5c7436adeca17c94d06
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M ports/duemilanove/Makefile
    M ports/itsybitsy3v/Makefile
    M ports/itsybitsy5v/Makefile
    M snek.defs

  Log Message:
  -----------
  Enable 'assert' by default

Disable on avr32u4 itsy and duemilanove boards because it doesn't fit.

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


  Commit: c832658a57c6be12d01527b7b43b6ca53d0eb907
      https://github.com/keith-packard/snek/commit/c832658a57c6be12d01527b7b43b6ca53d0eb907
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    A examples/servo-car.py

  Log Message:
  -----------
  Add 'servo-car' example

This example controls a model with a motor to drive forward/backward
and a servo for turning.

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


  Commit: 6bd99932c2be6d2bec906a1c3245fee5f43c22a3
      https://github.com/keith-packard/snek/commit/6bd99932c2be6d2bec906a1c3245fee5f43c22a3
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M ports/snekboard/.gitignore
    M ports/snekboard/Makefile
    A ports/snekboard/snek-board-install.1
    A ports/snekboard/snek-board-install.in

  Log Message:
  -----------
  ports/snekboard: Add snek-board install script

This installs the bootloader and snek binary to the target device
using an STlinkv2 device.

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


  Commit: 90bedd793a2ff6b6f5352d5bd9c998d50cd86cfd
      https://github.com/keith-packard/snek/commit/90bedd793a2ff6b6f5352d5bd9c998d50cd86cfd
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M doc/snek.adoc

  Log Message:
  -----------
  Change doc copyright

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


  Commit: d87630a33d740ec1458e237640617f7044509151
      https://github.com/keith-packard/snek/commit/d87630a33d740ec1458e237640617f7044509151
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M hosts/windows/Instdrv/NSIS/Contrib/InstDrv/Readme.txt

  Log Message:
  -----------
  Fix encoding in hosts/windows/Instdrv/NSIS/Contrib/InstDrv/Readme.txt

Latin-1 → utf-8

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


  Commit: 13b613de522b1387babf348ac38a28f5c5e1eced
      https://github.com/keith-packard/snek/commit/13b613de522b1387babf348ac38a28f5c5e1eced
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M doc/snek.adoc

  Log Message:
  -----------
  Adjust 'assert' documentation

Make it more consistent with other statement documentation.

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


  Commit: 43c09e94bc05e8699fdc624ac51b4e49b98d20bb
      https://github.com/keith-packard/snek/commit/43c09e94bc05e8699fdc624ac51b4e49b98d20bb
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M snek.defs

  Log Message:
  -----------
  Version 1.1

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


  Commit: 9039c55cf8f354f95580e3e6429ae770528b4b4a
      https://github.com/keith-packard/snek/commit/9039c55cf8f354f95580e3e6429ae770528b4b4a
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M .gitignore
    M Makefile
    M ao/ao-led.c
    M ao/ao.h
    A chips/atmega/ef_acosh.c
    A chips/atmega/ef_atanh.c
    A chips/atmega/ef_remainder.c
    A chips/atmega/erf_gamma.c
    A chips/atmega/erf_lgamma.c
    A chips/atmega/exp2.c
    A chips/atmega/fdlibm.h
    A chips/atmega/kf_cos.c
    A chips/atmega/kf_sin.c
    A chips/atmega/math_config.h
    A chips/atmega/sf_asinh.c
    A chips/atmega/sf_erf.c
    A chips/atmega/sf_exp.c
    A chips/atmega/sf_exp2.c
    A chips/atmega/sf_log1p.c
    A chips/atmega/sf_log2.c
    A chips/atmega/sf_log2_data.c
    M chips/atmega/snek-atmega-eeprom.c
    A chips/atmega/snek-atmega-math.c
    A chips/atmega/snek-atmega-math.h
    A chips/atmega/snek-atmega.builtin
    A chips/atmega/snek-atmega.defs
    M chips/atmega/snek-atmega.h
    A chips/atmega/wf_tgamma.c
    M chips/avr/ao-snek-avr.c
    A chips/avr/snek-avr.builtin
    M chips/avr/snek-avr.defs
    M chips/avr/snek-avr.h
    M chips/avr/strtod.c
    M chips/samd21/ao-arch-funcs.h
    M chips/samd21/ao-arch.h
    M chips/samd21/ao-snek.c
    M chips/samd21/ao-snek.h
    M chips/samd21/ao-timer.c
    M chips/samd21/ao-usb-samd21.c
    M chips/samd21/samd21.h
    M chips/samd21/snek-altos.builtin
    M chips/samd21/snek-eeprom.c
    M chips/samd21/snek-gpio.c
    M chips/samd21/snek-samd21.defs
    M doc/snek-book-theme.yml
    M doc/snek-theme.yml
    M doc/snek.adoc
    A examples/servo-car.py
    M hosts/windows/Instdrv/NSIS/Contrib/InstDrv/Readme.txt
    M ports/crickit/Makefile
    M ports/duemilanove/Makefile
    M ports/duemilanove/snek-duemilanove.builtin
    M ports/duemilanove/snek-duemilanove.c
    M ports/feather/Makefile
    M ports/itsybitsy3v/Makefile
    M ports/itsybitsy3v/snek-itsybitsy3v.builtin
    M ports/itsybitsy5v/Makefile
    M ports/itsybitsy5v/snek-itsybitsy5v.builtin
    M ports/itsybitsym0/Makefile
    M ports/mega/Makefile
    R ports/mega/ef_acosh.c
    R ports/mega/ef_atanh.c
    R ports/mega/ef_remainder.c
    R ports/mega/erf_gamma.c
    R ports/mega/erf_lgamma.c
    R ports/mega/exp2.c
    R ports/mega/fdlibm.h
    R ports/mega/kf_cos.c
    R ports/mega/kf_sin.c
    R ports/mega/math_config.h
    R ports/mega/sf_asinh.c
    R ports/mega/sf_erf.c
    R ports/mega/sf_exp.c
    R ports/mega/sf_exp2.c
    R ports/mega/sf_log1p.c
    R ports/mega/sf_log2.c
    R ports/mega/sf_log2_data.c
    R ports/mega/snek-mega-math.c
    R ports/mega/snek-mega-math.h
    M ports/mega/snek-mega.builtin
    M ports/mega/snek-mega.c
    R ports/mega/wf_tgamma.c
    M ports/metrom0/Makefile
    M ports/metrom0/ao-pins.h
    M ports/playground/Makefile
    A ports/snekboard/.gitignore
    A ports/snekboard/Makefile
    A ports/snekboard/ao-pins.h
    A ports/snekboard/bootloader-snekboard-v3.7.0.bin
    A ports/snekboard/snek-board-install.1
    A ports/snekboard/snek-board-install.in
    A ports/snekboard/snek-board.builtin
    M snek-base.builtin
    M snek-builtin.py
    M snek-code.c
    A snek-eeprom.builtin
    M snek-error.c
    M snek-func.c
    A snek-gpio.builtin
    M snek-gram.ll
    M snek-install.defs
    M snek-keyword.builtin
    M snek-lex.c
    M snek-math.builtin
    M snek-parse.c
    M snek-string.c
    M snek.defs
    M snek.h
    M test/Makefile
    A test/actual-named-first.py
    A test/arg-dup1.py
    A test/arg-dup2.py
    A test/arg-unknown.py
    A test/args-missing.py
    A test/args.py
    A test/assert-fail.py
    A test/assert-success.py
    A test/formal-named-first.py
    A test/list-named.py
    A test/none.py
    A test/range-named.py
    A test/tuple-named.py

  Log Message:
  -----------
  Merge branch 'master' into debian


  Commit: 169673f126c639da63127b1903f4f3b274c58a95
      https://github.com/keith-packard/snek/commit/169673f126c639da63127b1903f4f3b274c58a95
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-12 (Thu, 12 Sep 2019)

  Changed paths:
    M debian/copyright

  Log Message:
  -----------
  debian: Add license info for fonts

Deja Vu uses the bitstream-vera license
OpenSans uses the apache-2.0 license

Both of these are GPLv3 compatible.

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


  Commit: 7e485f4c177b5822860ee40196365020cf68d883
      https://github.com/keith-packard/snek/commit/7e485f4c177b5822860ee40196365020cf68d883
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-13 (Fri, 13 Sep 2019)

  Changed paths:
    M debian/copyright

  Log Message:
  -----------
  debian: Add copyright info for uf2conf.py and Instdrv

These are both BSD-like licenses.

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


  Commit: 7096da0107ea38b70a19745389b0201c89c26e09
      https://github.com/keith-packard/snek/commit/7096da0107ea38b70a19745389b0201c89c26e09
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-13 (Fri, 13 Sep 2019)

  Changed paths:
    M debian/rules
    M debian/snek.lintian-overrides

  Log Message:
  -----------
  debian: Deal with snek-board-1.1.elf being installed

Don't try to strip it
Ignore lintian errors about it

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


  Commit: b9f8352f2d9ec7d0844db12117cefcafcb8595d5
      https://github.com/keith-packard/snek/commit/b9f8352f2d9ec7d0844db12117cefcafcb8595d5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-13 (Fri, 13 Sep 2019)

  Changed paths:
    M debian/copyright

  Log Message:
  -----------
  debian: Fix imported math file copyright reference


  Commit: 8a15264cb3856965a4f114ec5b760584ef63a4f7
      https://github.com/keith-packard/snek/commit/8a15264cb3856965a4f114ec5b760584ef63a4f7
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-13 (Fri, 13 Sep 2019)

  Changed paths:
    M debian/compat
    M debian/control

  Log Message:
  -----------
  debian: Update compat to 12

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


  Commit: 605cf7946efab9df565a80f9c4048c410e88c675
      https://github.com/keith-packard/snek/commit/605cf7946efab9df565a80f9c4048c410e88c675
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-13 (Fri, 13 Sep 2019)

  Changed paths:
    M debian/control

  Log Message:
  -----------
  debian: Update control to 4.4.0

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


  Commit: ef9834eabe11847525c9c64b276ee48738d652e6
      https://github.com/keith-packard/snek/commit/ef9834eabe11847525c9c64b276ee48738d652e6
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-09-13 (Fri, 13 Sep 2019)

  Changed paths:
    M debian/changelog

  Log Message:
  -----------
  debian: Version 1.1-1

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


Compare: https://github.com/keith-packard/snek/compare/a40256f2c02a...ef9834eabe11



More information about the Snek mailing list