Damien George
6a11048af1
py/persistentcode: Bump .mpy version due to change in bytecode.
2017-02-17 00:19:34 +11:00
Paul Sokolovsky
aac2db9aaf
tools/upip: Update to 1.1.5. Better and more user-friendly error handling.
2017-02-10 20:18:05 +03:00
Damien George
f1db8a3097
qemu-arm: Don't compile tests in "REPL" mode.
...
Previous to this patch the qemu-arm tests were compiled with is_relp=true
meaning that the __repl_print__ function was called for all lines of code
in the outer scope. This is not the right behaviour for scripts that are
executed as though they were a file (eg tests).
With this fix the micropython/heapalloc_str.py test now works so it is
removed from the test blacklist.
2017-01-27 12:35:46 +11:00
Paul Sokolovsky
4614403f63
tools/tinytest-codegen.py: Blacklist heapalloc_str.py test for qemu-arm.
2017-01-27 01:19:36 +03:00
Damien George
98458a46ec
tools/mpy-tool.py: Add support for OPT_CACHE_MAP_LOOKUP_IN_BYTECODE.
...
With caching of map lookups in the bytecode, frozen bytecode can still
work but must be stored in RAM, not ROM. This patch allows mpy-tool.py to
generate code that works with this optimisation, but it's not recommended
to use it on embedded targets (because of lack of RAM).
2017-01-05 15:52:52 +11:00
Damien George
29b5879613
tools/pyboard.py: Refactor so target is not reset between scripts/cmd.
...
Previous to this patch pyboard.py would open a new serial connection to
the target for each script that was run, and for any command that was run.
Apart from being inefficient, this meant that the board was soft-reset
between scripts/commands, which precludes scripts from accessing variables
set in a previous one.
This patch changes the behaviour of pyboard.py so that the connection to
the target is created only once, and it's not reset between scripts or any
command that is sent with the -c option.
2016-12-15 11:29:33 +11:00
Paul Sokolovsky
30cfdc29ed
tools/tinytest-codegen: Blacklist recently added uheapq_timeq test (qemu-arm).
2016-11-12 03:24:36 +03:00
Paul Sokolovsky
61d74fdef8
tools, unix: Replace upip tarball with just source files.
...
To make its inclusion as frozen modules in multiple ports less magic.
Ports are just expected to symlink 2 files into their scripts/modules
subdirs.
Unix port updated to use this and in general follow frozen modules setup
tested and tried on baremetal ports, where there's "scripts" predefined
dir (overridable with FROZEN_DIR make var), and a user just drops Python
files there.
2016-11-07 18:39:41 +03:00
Damien George
ca973bd308
qemu-arm: Enable software floating point support, and float tests.
...
This helps to test floating point code on Cortex-M hardware.
As part of this patch the link-time-optimisation was disabled because it
wasn't compatible with software FP support. In particular, the linker
could not find the __aeabi_f2d, __aeabi_d2f etc functions even though they
were provided by lib/libm/math.c.
2016-11-03 12:28:31 +11:00
Paul Sokolovsky
796b720dbc
tools/tinytest-codegen: Exclude ticks_diff test for qemu-arm port.
2016-10-30 22:24:07 +03:00
Alex March
52aa532050
qemu-arm: Exclude new vfs_fat tests.
2016-10-27 12:25:28 +11:00
Paul Sokolovsky
f7aa692093
tools/check_code_size.sh: Code size validation script for CI.
2016-10-25 11:43:55 +03:00
Paul Sokolovsky
b78144c64d
tools/pip-micropython: Remove deprecated wrapper tool.
...
Deprecated for long time, pip-micropython now can't install packages
optimized for low-heap ports (like whole of micropython-lib).
2016-10-24 16:52:15 +03:00
Alex March
06e7032906
qemu-arm: Exclude extmod/vfs_fat_fileio.py test.
2016-10-24 12:49:19 +11:00
Paul Sokolovsky
197a5724d8
tools: Upgrade upip to 1.1.4.
...
Fix error on unix when installing to non-existing absolute path.
2016-10-22 21:14:58 +03:00
Damien George
b0a15aa735
qemu-arm: Enable lots of extmods and enable tests for them.
...
The qemu-arm port is used for testing of ARM Thumb architecture on a
desktop so should have many features enabled.
2016-10-14 00:08:19 +11:00
Paul Sokolovsky
cdbeee0c50
tools: Upgrade upip to 1.1.3.
...
Initial support for running on a baremetal, low-heap systems (like esp8266),
using Python module interface.
2016-10-12 18:55:31 +03:00
Paul Sokolovsky
cecf6bee97
tools: Upgrade upip to 1.0.
...
Fully self-hosted release (without fallbacks), and uses stream gzip
decompression (step towards support for limited-heap baremetal systems).
2016-10-05 00:34:09 +03:00
Paul Sokolovsky
4c63986101
tools: Update upip to 0.8. Fixes IPv6 support.
2016-09-23 15:35:06 +03:00
Damien George
7df9291b6c
py: Update opcode format table because 3 opcodes were removed, 1 added.
...
LIST_APPEND, MAP_ADD and SET_ADD have been removed, and STORE_COMP has
been added in adaf0d865c
.
2016-09-23 12:48:57 +10:00
Damien George
c51c883cc8
tools/mpy-tool.py: Support freezing of complex numbers.
2016-09-03 00:19:02 +10:00
Damien George
b6bdf18deb
tools/mpy-tool.py: Compute the hash value for str/bytes objects.
...
This makes it more efficient at runtime to hash str/bytes objects.
2016-09-02 15:10:45 +10:00
Damien George
b4790afdaf
tools/mpy-tool.py: Store qstr config values in global config object.
...
Makes it easier to access them without passing around another dict of the
config values.
2016-09-02 15:09:21 +10:00
Damien George
72ae3c72c7
tools/mpy-tool.py: Support freezing float literals with obj-repr C.
...
The tool now generates code for freezing floats in obj-repr A, B or C,
with the specific representation detected at compile time using macros.
2016-08-10 13:26:11 +10:00
Paul Sokolovsky
cbe544a76d
tools: Upgrade upip to 0.7.
...
SSL certificate warning, switch to uerrno, and better usage message.
2016-05-28 02:57:53 +03:00
Damien George
25a42fb6ef
tools/mpy-tool.py: Don't strip directories from the frozen source name.
...
Directories are now supported by the frozen import system (to implement
frozen packages) so we should keep them.
2016-05-23 13:29:03 +01:00
Damien George
9b4c013823
tools/mpy-tool.py: Include .py extension in frozen filename.
...
So that it can be correctly stat'd when looking for frozen files.
2016-05-23 12:46:02 +01:00
Paul Sokolovsky
daa4793578
tools/make-frozen: Update for latest changes in frozen modules support.
...
Frozen modules are now stored with extensions and with '/' as path
separator. In other words, frozen modules paths stored as they are
in normal filesystem.
2016-05-21 21:39:27 +03:00
Damien George
99b4719357
tools/mpy-tool.py: Add checks for critical configuration vars.
...
When an mpy file is frozen it must know the values of certain
configuration variables. This patch provides an explicit check in the
generated C file that the configuration variables are what they are
supposed to be.
2016-05-16 23:13:30 +01:00
Paul Sokolovsky
7b1bf0c308
tools/make-frozen.py: Quick fix to support package-modules.
...
It allows to "import foo.bar", but not "from foo import bar".
2016-05-14 16:30:02 +03:00
Damien George
5985e41afc
tools/make-frozen.py: Properly escape hex chars when making C strings.
2016-05-13 13:12:01 +01:00
Damien George
02fd83bcbc
tools/mpy-tool: Make sure that all C-level variables are unique.
...
Fixes issue #2023 .
2016-05-03 12:24:39 +01:00
Damien George
c3beb16db3
tools/mpy-tool.py: Add support for Python 2.7.
2016-04-15 11:56:10 +01:00
Damien George
0a2e9650f5
py: Add ability to have frozen persistent bytecode from .mpy files.
...
The config variable MICROPY_MODULE_FROZEN is now made of two separate
parts: MICROPY_MODULE_FROZEN_STR and MICROPY_MODULE_FROZEN_MPY. This
allows to have none, either or both of frozen strings and frozen mpy
files (aka frozen bytecode).
2016-04-13 16:07:47 +01:00
Damien George
0699c6bf9e
tools: Add mpy-tool.py, to work with .mpy files.
...
Currently it can freeze .mpy files.
2016-04-13 16:05:43 +01:00
Damien George
be989be861
qemu-arm: Enable builtin override feature, and enable more tests.
...
Hopefully these tests run reliably on Travis.
2016-03-15 13:45:32 +00:00
Paul Sokolovsky
17f324b836
py/frozenmod: Store frozen module names together, to quickly scan them.
2016-01-03 18:08:45 +02:00
Paul Sokolovsky
0992588811
py/frozenmod: Make frozen module content be 0-terminated.
...
To allow simple zero-terminated lexers.
2016-01-01 07:51:07 +02:00
Damien George
4bd95f8b44
tools: Add C middle-processor to make builtin tables proper hash tables.
2015-12-31 00:24:33 +00:00
Paul Sokolovsky
bb7f5b5501
tools: Upgrade upip to 0.6.3.
...
Updated for _os -> uos builtin module rename.
2015-12-12 00:20:10 +02:00
Damien George
bbe2e22fcb
tools: Fix pyboard.py to work under Python 3.
2015-12-08 12:55:28 +00:00
Peter Hinch
f4fcc14cfb
tools: Add option to pyboard.py to wait for serial device to be ready.
...
Also prints a nicer error message if the serial connection could not be
established.
2015-12-08 11:10:09 +00:00
Dave Hylands
519cef813e
tools: Allow pyboard.py to work when boot.py prints things.
2015-12-06 21:45:10 +00:00
Paul Sokolovsky
f8bc3f6964
tools: Update to upip 0.6.2. Fixes issue due to MacOSX undocumented behavior.
2015-11-15 00:04:18 +02:00
Paul Sokolovsky
3862ef9a9f
tools: Update upip to 0.6.1. Fixes normal installs without -p switch.
2015-11-14 17:54:30 +02:00
Paul Sokolovsky
0aff87b808
tools: Update upip to 0.6.
...
Removes FFI dependency, instead uses builtin os module. Thus can work on
systems where dynamic library loading is not available.
2015-11-14 00:05:24 +02:00
Paul Sokolovsky
89f2ddd2d0
tools/pyboard.py: Don't add terminating \x04 character to stdout output.
2015-11-07 13:48:35 +00:00
Paul Sokolovsky
e6dccaf18e
tools/pyboard.py: Make -c (inline Python code) option compatible with python2.
2015-11-07 12:16:11 +03:00
Tom Soulanille
a787467569
tools/pyboard: Add -c argument to run a program passed as a string.
2015-10-19 23:20:59 +01:00
Paul Sokolovsky
6a515b95a8
tools/upip: Update to 0.5.9.
...
MICROPYPATH environment variable is now honored, package are installed to
first path specified in it.
2015-10-17 20:16:41 +03:00