Paul Sokolovsky
9ffc3ae0e7
tests/heapalloc_str: Test for alloc-free string operations.
...
Starts with concatenation with an empty string.
2017-01-27 00:49:39 +03:00
Paul Sokolovsky
e2e663291d
py/objstr: Optimize string concatenation with empty string.
...
In this, don't allocate copy, just return non-empty string. This helps
with a standard pattern of buffering data in case of short reads:
buf = b""
while ...:
s = f.read(...)
buf += s
...
For a typical case when single read returns all data needed, there won't
be extra allocation. This optimization helps uasyncio.
2017-01-27 00:49:39 +03:00
Damien George
221f88d1f3
tests/extmod: Add test for ure debug printing when compiling a regex.
2017-01-26 23:45:51 +11:00
Damien George
e9cb1f8077
py/objmodule: Move module init/deinit code into runtime functions.
...
They are one-line functions and having them inline in mp_init/mp_deinit
eliminates the overhead of a function call, and matches how other state
is initialised in mp_init.
2017-01-26 23:30:38 +11:00
Damien George
bf51200bc1
tests/extmod/framebuf1: Fix test for framebuf invalid constructor.
2017-01-25 23:23:50 +11:00
Oleg Korsak
406fb3cb60
tests/extmod/framebuf4: Add tests for GS4_HMSB framebuf format.
2017-01-25 23:20:19 +11:00
Oleg Korsak
fd99690f18
extmod/modframebuf: Add GS4_HMSB format.
2017-01-25 23:19:28 +11:00
Damien George
eaa77455c3
py/objint: Fix left-shift overflow in checking for large int.
2017-01-25 14:39:13 +11:00
Damien George
b32a38e373
esp8266: Factor out common linker code to esp8266_common.ld.
2017-01-25 09:49:55 +11:00
Damien George
246f607a92
stmhal/mpconfigport.h: Reorganise the config options into groups.
...
The order now follows that in py/mpconfig.h and is a bit cleaner and easier
to maintain. No options were changed/added/removed with this patch, it's
just a reordering.
2017-01-24 23:51:54 +11:00
Damien George
f8a022bc11
stmhal/boards/STM32L476DISC: Use external SPI flash for filesystem.
2017-01-24 17:01:53 +11:00
Damien George
d6a2d00167
stmhal: Add ability to have filesystem stored on external SPI flash.
...
To use this feature a port should define MICROPY_HW_SPIFLASH_SIZE_BITS
along with x_CS, x_SCK, x_MOSI, x_MISO (x=MICROPY_HW_SPIFLASH). This will
then use external SPI flash on those pins instead of the internal flash.
The SPI is done using the software implementation. There is currently only
support for standard SPI (ie not dual or quad mode).
2017-01-24 16:58:50 +11:00
Damien George
784e023a26
drivers/memory: Add SPI flash driver, written in C.
2017-01-24 16:56:03 +11:00
Pavol Rusnak
bdcca42390
stmhal: Fix examples in openocd configs to include addresses.
2017-01-24 00:34:36 +11:00
stijn
533129f835
tests: Make sure special tests can be skipped as well.
...
Fixes #2806 .
2017-01-24 00:30:55 +11:00
Damien George
c707668d9e
docs/library/lcd160cr: Fix set_brightness range, should be 0..31.
2017-01-24 00:17:39 +11:00
Damien George
7d08bc27e2
docs/pyboard/tutorial: Add tutorial for LCD160CR.
2017-01-23 15:50:37 +11:00
Damien George
cffe00d6ab
stmhal: Add default frozen-bytecode directory and link lcd160cr driver.
...
stmhal will now be built by default with frozen bytecode from scripts
stored in the stmhal/modules/ directory. This can be disabled or
changed to another directory by overridding the make variable
FROZEN_MPY_DIR.
2017-01-23 14:37:49 +11:00
Damien George
e72e343908
docs: Add documentation for lcd160cr module.
2017-01-23 14:37:10 +11:00
Damien George
43d9f9916a
drivers/display: Add driver and test for uPy LCD160CR display.
2017-01-23 14:36:19 +11:00
Damien George
e2d13d934a
extmod/modframebuf: Clip pixels drawn by line method.
2017-01-23 14:35:00 +11:00
Damien George
211244d1f3
lib/utils/pyexec: Only print help prompt if HELP feature is enabled.
2017-01-22 12:33:19 +11:00
Damien George
c594cf12ed
stmhal: Enable help('modules') feature.
2017-01-22 12:30:53 +11:00
Damien George
20fc620327
tests/basics/builtin_help: Add test for help('modules').
2017-01-22 12:14:56 +11:00
Damien George
1abaf74293
unix: Enable MICROPY_PY_BUILTINS_HELP_MODULES in coverage build.
2017-01-22 12:14:26 +11:00
Damien George
f5172af1c4
py/builtinhelp: Implement help('modules') to list available modules.
...
This is how CPython does it, and it's very useful to help users discover
the available modules for a given port, especially built-in and frozen
modules. The function does not list modules that are in the filesystem
because this would require a fair bit of work to do correctly, and is very
port specific (depending on the filesystem).
2017-01-22 12:12:54 +11:00
Damien George
9de91914fb
py: Move weak-link map to objmodule.c, and expose module maps as public.
2017-01-22 11:59:29 +11:00
Damien George
1864f90e9a
tests: Add test for builtin help function.
2017-01-22 11:56:16 +11:00
Damien George
51c89e4f4e
unix: Enable builtin help function in coverage build.
2017-01-22 11:56:16 +11:00
Damien George
895807137e
lib/utils: Remove old pyhelp helper, replaced with py/builtinhelp.c.
...
Ports should no longer use pyhelp_print_obj but instead should define
MICROPY_PY_BUILTINS_HELP to 1 and then specify their help text using
MICROPY_PY_BUILTINS_HELP_TEXT.
2017-01-22 11:56:16 +11:00
Damien George
77e0cee49e
zephyr: Convert to use builtin help function.
2017-01-22 11:56:16 +11:00
Damien George
739465c04f
teensy: Convert to use builtin help function.
2017-01-22 11:56:16 +11:00
Damien George
4d7fba83a6
cc3200: Convert to use builtin help function.
2017-01-22 11:56:16 +11:00
Damien George
4ccd899e65
esp8266: Convert to use builtin help function.
2017-01-22 11:56:16 +11:00
Damien George
8678e3edfd
stmhal: Convert to use builtin help function.
2017-01-22 11:56:16 +11:00
Damien George
9f04dfb568
py: Add builtin help function to core, with default help msg.
...
This builtin is configured using MICROPY_PY_BUILTINS_HELP, and is disabled
by default.
2017-01-22 11:56:16 +11:00
Paul Sokolovsky
bd3dd9296b
tests/heapalloc_int_from_bytes: Test that int.from_bytes() can work w/o alloc.
...
For a small number of bytes, it's expected to return a small int without
allocation.
2017-01-21 20:15:56 +03:00
Paul Sokolovsky
3b09dca046
tests: Add test for int.from_bytes() for arbitrary-precision integer.
...
This test works only for MICROPY_LONGINT_IMPL == MICROPY_LONGINT_IMPL_MPZ
and needs a way of skipping in other cases.
2017-01-21 20:15:31 +03:00
Paul Sokolovsky
e6ab43e2c0
py/objint_longlong: Add stub for mp_obj_int_from_bytes_impl().
...
To be implemented later.
2017-01-21 20:15:05 +03:00
Paul Sokolovsky
bec7bfb29d
py/objint: from_bytes(): Implement "byteorder" param and arbitrary precision.
...
If result guaranteedly fits in a small int, it is handled in objint.c.
Otherwise, it is delegated to mp_obj_int_from_bytes_impl(), which should
be implemented by individual objint_*.c, similar to
mp_obj_int_to_bytes_impl().
2017-01-21 20:14:18 +03:00
Paul Sokolovsky
1b42f5251f
py/mpz: Implement mpz_set_from_bytes() as a foundation for int.from_bytes().
2017-01-21 20:07:50 +03:00
Paul Sokolovsky
5298472fee
zephyr: Enable SLIP networking for the default build.
...
This makes MicroPython app running in QEMU be pingable from the host (by
following QEMU networking setup instructions,
https://www.zephyrproject.org/doc/samples/net/qemu_setup.html ).
2017-01-21 17:16:35 +03:00
Paul Sokolovsky
1459f81429
zephyr: Add separate Zephyr config for "minimal" build.
...
In anticipation of enabling more features in the default build. Also, fix
compilation of minimal build.
2017-01-21 16:13:32 +03:00
Paul Sokolovsky
f1f2a3cebf
zephyr: Remove deprecated .mdef file.
2017-01-21 00:26:03 +03:00
Paul Sokolovsky
58722103e1
zephyr/help: Update n_args param type to size_t.
2017-01-20 23:58:42 +03:00
Damien George
1639200e57
tests/basics: Add test for assignment of attribute to bound method.
2017-01-20 13:17:22 +11:00
Damien George
4d1ba482f5
travis: Unconditionally run coveralls analysis, even if others failed.
...
If, for example, the code-size check failed we would still like to run the
coveralls coverage analysis.
2017-01-20 13:12:23 +11:00
Damien George
7314ebae8a
tests/misc/non_compliant: Add test for inability to assign func attrs.
2017-01-19 23:38:53 +11:00
Damien George
fb5838041b
tests/micropython/opt_level: Add test for opt_level 3.
2017-01-19 23:38:11 +11:00
Damien George
4c4f586e2c
tests/extmod/framebuf1: Add test for no-op fill_rect.
2017-01-19 23:37:44 +11:00