- 30 Apr, 2017 1 commit
-
-
Paul Sokolovsky authored
By making sure we don't add relative paths to sys.path.
-
- 22 Apr, 2017 1 commit
-
-
Damien George authored
This patch allows the following code to run without allocating on the heap: super().foo(...) Before this patch such a call would allocate a super object on the heap and then load the foo method and call it right away. The super object is only needed to perform the lookup of the method and not needed after that. This patch makes an optimisation to allocate the super object on the C stack and discard it right after use. Changes in code size due to this patch are: bare-arm: +128 minimal: +232 unix x64: +416 unix nanbox: +364 stmhal: +184 esp8266: +340 cc3200: +128
-
- 06 Apr, 2017 1 commit
-
-
Paul Sokolovsky authored
When trying to execute a command via raw REPL and expected "OK" reply not received, show what was received instead.
-
- 05 Apr, 2017 1 commit
-
-
Paul Sokolovsky authored
When working with a "virtual" port, like PTY. The issue described in http://stackoverflow.com/questions/34831131/pyserial-does-not-play-well-with-virtual-port
-
- 04 Apr, 2017 2 commits
-
-
Paul Sokolovsky authored
Without this, Zephyr's port "make test" doesn't work.
-
Paul Sokolovsky authored
This allows to execute a command and communicate with its stdin/stdout via pipes ("exec") or with command-created pseudo-terminal ("execpty"), to emulate serial access. Immediate usecase is controlling a QEMU process which emulates board's serial via normal console, but it could be used e.g. with helper binaries to access real board over other hadware protocols, etc. An example of device specification for these cases is: --device exec:../zephyr/qemu.sh --device execpty:../zephyr/qemu2.sh Where qemu.sh contains long-long qemu startup line, or calls another command. There's a special support in this patch for running the command in a new terminal session, to support shell wrappers like that (without new terminal session, only wrapper script would be terminated, but its child processes would continue to run).
-
- 02 Apr, 2017 1 commit
-
-
Paul Sokolovsky authored
Some "device" implementations may be sensitive to this.
-
- 06 Mar, 2017 1 commit
-
-
Paul Sokolovsky authored
-
- 02 Mar, 2017 1 commit
-
-
Damien George authored
-
- 27 Feb, 2017 1 commit
-
-
Krzysztof Blazewicz authored
-
- 22 Feb, 2017 1 commit
-
-
Damien George authored
-
- 20 Feb, 2017 1 commit
-
-
Rami Ali authored
This patch introduces the a small framework to track differences between uPy and CPython. The framework consists of: - A set of "tests" which test for an individual feature that differs between uPy and CPy. Each test is like a normal uPy test in the test suite, but has a special comment at the start with some meta-data: a category (eg syntax, core language), a human-readable description of the difference, a cause, and a workaround. Following the meta-data there is a short code snippet which demonstrates the difference. See tests/cpydiff directory for the initial set of tests. - A program (this patch) which runs all the tests (on uPy and CPy) and generates nicely-formated .rst documenting the differences. - Integration into the docs build so that everything is automatic, and the differences appear in a way that is easy for users to read/reference (see latter commits). The idea with using this new framework is: - When a new difference is found it's easy to write a short test for it, along with a description, and add it to the existing ones. It's also easy for contributors to submit tests for differences they find. - When something is no longer different the tool will give an error and difference can be removed (or promoted to a proper feature test).
-
- 16 Feb, 2017 1 commit
-
-
Damien George authored
-
- 10 Feb, 2017 1 commit
-
-
Paul Sokolovsky authored
-
- 27 Jan, 2017 1 commit
-
-
Damien George authored
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.
-
- 26 Jan, 2017 1 commit
-
-
Paul Sokolovsky authored
-
- 05 Jan, 2017 1 commit
-
-
Damien George authored
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).
-
- 15 Dec, 2016 1 commit
-
-
Damien George authored
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.
-
- 12 Nov, 2016 1 commit
-
-
Paul Sokolovsky authored
-
- 07 Nov, 2016 1 commit
-
-
Paul Sokolovsky authored
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.
-
- 03 Nov, 2016 1 commit
-
-
Damien George authored
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.
-
- 30 Oct, 2016 1 commit
-
-
Paul Sokolovsky authored
-
- 27 Oct, 2016 1 commit
-
-
Alex March authored
-
- 25 Oct, 2016 1 commit
-
-
Paul Sokolovsky authored
-
- 24 Oct, 2016 2 commits
-
-
Paul Sokolovsky authored
Deprecated for long time, pip-micropython now can't install packages optimized for low-heap ports (like whole of micropython-lib).
-
Alex March authored
-
- 22 Oct, 2016 1 commit
-
-
Paul Sokolovsky authored
Fix error on unix when installing to non-existing absolute path.
-
- 13 Oct, 2016 1 commit
-
-
Damien George authored
The qemu-arm port is used for testing of ARM Thumb architecture on a desktop so should have many features enabled.
-
- 12 Oct, 2016 1 commit
-
-
Paul Sokolovsky authored
Initial support for running on a baremetal, low-heap systems (like esp8266), using Python module interface.
-
- 04 Oct, 2016 1 commit
-
-
Paul Sokolovsky authored
Fully self-hosted release (without fallbacks), and uses stream gzip decompression (step towards support for limited-heap baremetal systems).
-
- 23 Sep, 2016 2 commits
-
-
Paul Sokolovsky authored
-
Damien George authored
LIST_APPEND, MAP_ADD and SET_ADD have been removed, and STORE_COMP has been added in adaf0d86.
-
- 02 Sep, 2016 3 commits
-
-
Damien George authored
-
Damien George authored
This makes it more efficient at runtime to hash str/bytes objects.
-
Damien George authored
Makes it easier to access them without passing around another dict of the config values.
-
- 10 Aug, 2016 1 commit
-
-
Damien George authored
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.
-
- 27 May, 2016 1 commit
-
-
Paul Sokolovsky authored
SSL certificate warning, switch to uerrno, and better usage message.
-
- 23 May, 2016 2 commits
-
-
Damien George authored
Directories are now supported by the frozen import system (to implement frozen packages) so we should keep them.
-
Damien George authored
So that it can be correctly stat'd when looking for frozen files.
-
- 21 May, 2016 1 commit
-
-
Paul Sokolovsky authored
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.
-