Commit Graph

15306 Commits

Author SHA1 Message Date
Jeff Epler
aa54a7e76e ulab: update documentation 2020-03-17 09:25:33 -05:00
Jeff Epler
69aa010cfc objslice: take mp_obj_slice_indices from micropython 2020-03-17 08:32:52 -05:00
Jeff Epler
772ac705d3 update ulab 2020-03-17 08:32:52 -05:00
Scott Shawcroft
3a5f79acef
Merge pull request #2701 from hierophect/stm32-submodule-swap
STM32: Change ST drivers submodule to match TinyUSB
2020-03-13 10:47:54 -07:00
Scott Shawcroft
85f44e20cb
Merge pull request #2695 from TG-Techie/master
Add new TG-Watch02A to the nrf boards directory
2020-03-13 10:46:48 -07:00
TG-Techie
137d5c34fa fix board sorting (due to T being before a anf t) 2020-03-12 20:39:42 -04:00
TG-Techie
7907ef5979 add TG-Watch02A to build workflow 2020-03-12 20:30:45 -04:00
Lucian Copeland
ef7370d023 Change ST drivers submodule to match TinyUSB 2020-03-12 17:14:09 -04:00
hierophect
0f64663c40
Merge pull request #2699 from hierophect/stm32-port-namechange
STM32: port directory name change
2020-03-12 15:45:22 -04:00
Lucian Copeland
18442c5b00 Merge remote-tracking branch 'upstream/master' into stm32-port-namechange 2020-03-12 15:40:44 -04:00
hierophect
dd21ec048a
Merge pull request #2697 from hierophect/stm32-pulsein
STM32: add PulseIn module
2020-03-12 15:39:54 -04:00
Lucian Copeland
0155fab356 Revise style on interrupt handler functions 2020-03-12 15:03:47 -04:00
Lucian Copeland
ead32ea6e6 Comment change for CI 2020-03-12 11:21:32 -04:00
TG-Techie
197dc344af fix requested changes 2020-03-12 02:31:13 -04:00
Lucian Copeland
f81e2c0487 change CI target 2020-03-11 19:00:49 -04:00
Lucian Copeland
7ff336fbc5 Change docs target 2020-03-11 18:50:56 -04:00
Lucian Copeland
127e531271 remove old directory 2020-03-11 18:16:52 -04:00
Lucian Copeland
be7def128a submodule move and sync 2020-03-11 18:16:16 -04:00
Lucian Copeland
53b1544f41 create copy 2020-03-11 18:13:06 -04:00
Lucian Copeland
2a082baa63 Add up to date translations 2020-03-11 17:53:22 -04:00
Lucian Copeland
38064750f9 Merge remote-tracking branch 'upstream/master' into stm32-pulsein 2020-03-11 16:39:11 -04:00
Lucian Copeland
2b161d37df stm32: add PulseIn module 2020-03-11 16:37:40 -04:00
TG-Techie
b967a2071f changed TG-Watch02A HW_BOARD_NAME 2020-03-10 23:07:25 -04:00
TG-Techie
50b451ae0c add TG-Watch02A board def 2020-03-10 22:40:55 -04:00
Scott Shawcroft
d988af02d1
Merge pull request #2690 from jepler/topic-pep-498-fstrings
Implement partial PEP-498 (f-string) support
2020-03-10 10:53:04 -07:00
Dan Halbert
6363b5ad06
Merge pull request #2693 from jepler/ulab-enable
ulab: enable on most builds
2020-03-10 09:48:46 -04:00
Jeff Epler
03a2b2faf1 ulab: don't enable on m0 boards 2020-03-09 23:00:21 -05:00
Jeff Epler
ef195d6e1b Update tests
* string_pep498_fstring.py: Not compatible with python3.5
 * cmd_parsetree.py: enumerated constants changed
2020-03-09 21:13:33 -05:00
Scott Shawcroft
df88939128
Merge pull request #2666 from dhalbert/assert_pin-and-mp_const_none-cleanup
validate various displayio args; new pin validation routines; don't use mp_const_none if NULL will do
2020-03-09 16:35:57 -07:00
Scott Shawcroft
eebe769973
Merge pull request #2692 from jepler/ulab-upstream
ulab: Use https://github.com/v923z/micropython-ulab/
2020-03-09 16:28:56 -07:00
Jeff Epler
491a31a731 circuitpy_mpconfig.mk: Enable ULAB for "full builds"
This enables it on the imxrt and cds56 ports where it was disabled before
2020-03-09 15:54:40 -05:00
Jeff Epler
66aa0dec60 stm32: enable ulab
This is needed because stm32 defines CIRCUITPY_MINIMAL_BUILD "for early
port".
2020-03-09 15:54:40 -05:00
Jeff Epler
e128d770f1 cdx56: prepare to enable ulab
This involves fixing support for SRC_MOD and enabling INTERNAL_LIBM
including adding support for SRC_LIBM.
2020-03-09 15:54:40 -05:00
Jeff Epler
eab9b670d8 ulab: Use https://github.com/v923z/micropython-ulab/
The only delta we were carrying was in the README.
2020-03-09 14:48:52 -05:00
Jeff Epler
473e9c5ffb f-strings: Make optional, defaulting to !CIRCUITPY_MINIMAL_BUILD
This should reclaim *most* code space added to handle f-strings.
However, there may be some small code growth as parse_string_literal
takes a new parameter (which will always be 0, so hopefully the optimizer
eliminates it)
2020-03-09 09:03:25 -05:00
Jeff Epler
32647cd9b4 lexer: catch concatenation of f'' and '' strings
This turns the "edge case" into a parse-time error.
2020-03-09 09:03:25 -05:00
Jeff Epler
acd7b8932f locale: run 'make translate' 2020-03-09 08:19:46 -05:00
Josh Klar
40bc05ee1e Address dpgeorge feedback - largely simplifications 2020-03-09 08:16:07 -05:00
Josh Klar
3a7a5ba686 py: Implement partial PEP-498 (f-string) support
This implements (most of) the PEP-498 spec for f-strings, with two
exceptions:

- raw f-strings (`fr` or `rf` prefixes) raise `NotImplementedError`
- one special corner case does not function as specified in the PEP
(more on that in a moment)

This is implemented in the core as a syntax translation, brute-forcing
all f-strings to run through `String.format`. For example, the statement
`x='world'; print(f'hello {x}')` gets translated *at a syntax level*
(injected into the lexer) to `x='world'; print('hello {}'.format(x))`.
While this may lead to weird column results in tracebacks, it seemed
like the fastest, most efficient, and *likely* most RAM-friendly option,
despite being implemented under the hood with a completely separate
`vstr_t`.

Since [string concatenation of adjacent literals is implemented in the
lexer](534b7c368d),
two side effects emerge:

- All strings with at least one f-string portion are concatenated into a
single literal which *must* be run through `String.format()` wholesale,
and:
- Concatenation of a raw string with interpolation characters with an
f-string will cause `IndexError`/`KeyError`, which is both different
from CPython *and* different from the corner case mentioned in the PEP
(which gave an example of the following:)

```python
x = 10
y = 'hi'
assert ('a' 'b' f'{x}' '{c}' f'str<{y:^4}>' 'd' 'e') == 'ab10{c}str< hi >de'
```

The above-linked commit detailed a pretty solid case for leaving string
concatenation in the lexer rather than putting it in the parser, and
undoing that decision would likely be disproportionately costly on
resources for the sake of a probably-low-impact corner case. An
alternative to become complaint with this corner case of the PEP would
be to revert to string concatenation in the parser *only when an
f-string is part of concatenation*, though I've done no investigation on
the difficulty or costs of doing this.

A decent set of tests is included. I've manually tested this on the
`unix` port on Linux and on a Feather M4 Express (`atmel-samd`) and
things seem sane.
2020-03-09 08:16:07 -05:00
Limor "Ladyada" Fried
83d5da95b7
Merge pull request #2684 from caternuson/doc_add_sensors
Add proximity and sound_level to Design Guide
2020-03-06 18:10:47 -05:00
caternuson
125409fe95 add proximity and sound_level 2020-03-06 13:31:08 -08:00
TG-Techie
fec84054d9 ah 2020-03-06 15:03:37 -05:00
Dan Halbert
fdcdc1320b Make ParallelBus reset ping arg required 2020-03-06 14:30:30 -05:00
TG-Techie
7198056bc3
Merge pull request #2 from adafruit/5.0.x
5.0.x
2020-03-06 13:57:31 -05:00
TG-Techie
03dfd28121 trying to pull 5.0.x 2020-03-06 13:52:47 -05:00
Dan Halbert
127e6fa27e Revert "try actions/checkout@v2"
This reverts commit b492ea69cb.
2020-03-05 23:13:14 -05:00
Dan Halbert
b492ea69cb try actions/checkout@v2 2020-03-05 23:06:30 -05:00
Dan Halbert
210c3274e5 Merge remote-tracking branch 'adafruit/master' into assert_pin-and-mp_const_none-cleanup 2020-03-05 17:47:01 -05:00
Dan Halbert
817b5be320 rename routines to be clearer; fix wiznet arg types 2020-03-05 16:35:31 -05:00
Jeff Epler
4fa90261a3
Merge pull request #2657 from tannewt/builtin_package
Support importing native modules in native packages.
2020-03-05 14:28:46 -06:00