- 31 Dec, 2015 6 commits
-
-
Damien George authored
-
Damien George authored
This makes the code portable to non-32-bit architectures.
-
Dave Hylands authored
The USB REPL has been broken since commit 1be0fde4 This patch allows the STM32F429DISC board (which uses the USB_HS PHY)
-
Damien George authored
It's possible to have a fixed map that is properly hashed (ie not simply ordered).
-
Damien George authored
-
Peter Hinch authored
-
- 30 Dec, 2015 4 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 29 Dec, 2015 2 commits
-
-
Paul Sokolovsky authored
Any fields changed by asynchronous callbacks must be volatile.
-
Paul Sokolovsky authored
Polling once in 100ms means dismal performance. TODO: Propagate this pattern to other polling places.
-
- 28 Dec, 2015 1 commit
-
-
Dave Hylands authored
Otherwise build fails if uctypes is disabled.
-
- 27 Dec, 2015 4 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Previously, mark operation weren't logged at all, while it's quite useful to see cascade of marks in case of over-marking (and in other cases too). Previously, sweep was logged for each block of object in memory, but that doesn't make much sense and just lead to longer output, harder to parse by a human. Instead, log sweep only once per object. This is similar to other memory manager operations, e.g. an object is allocated, then freed. Or object is allocated, then marked, otherwise swept (one log entry per operation, with the same memory address in each case).
-
Paul Sokolovsky authored
-
- 26 Dec, 2015 6 commits
-
-
stijn authored
The default bahaviour for debug builds is to show dialog boxes for asserts and invalid parameter handling. This is not so nice in general and causes the Appveyor debug builds to hang because the io\file_seek.py test passes a closed file descriptor to lseek. Disable this behaviour by printing assert messages to the output instead of showing the dialog, and by disabling 'invalid' parameter handling which causes the affected functions to just return an error and set errno appropriately.
-
Damien George authored
Map indicies are most commonly a qstr, and adding a fast-path for hashing of a qstr increases overall performance of the runtime. On pyboard there is a 4% improvement in the pystone benchmark for a cost of 20 bytes of code size. It's about a 2% improvement on unix.
-
Damien George authored
-
Damien George authored
When looking up and extracting an attribute of an instance, some attributes must bind self as the first argument to make a working method call. Previously to this patch, any attribute that was callable had self bound as the first argument. But Python specs require the check to be more restrictive, and only functions, closures and generators should have self bound as the first argument Addresses issue #1675.
-
Damien George authored
This is a convenience function similar to pyexec_file. It should be used instead of raw mp_parse_compile_execute because the latter does not catch and report exceptions.
-
Paul Sokolovsky authored
This is extension to CPython, it allows to easily produce human-readable hex dump: >>> ubinascii.hexlify(b"\xaa\x55\xaa\x55", b" ") b'aa 55 aa 55'
-
- 25 Dec, 2015 1 commit
-
-
Paul Sokolovsky authored
-
- 24 Dec, 2015 2 commits
-
-
Damien George authored
-
Damien George authored
Addresses issue #1636.
-
- 23 Dec, 2015 1 commit
-
-
Damien George authored
-
- 22 Dec, 2015 3 commits
-
-
Paul Sokolovsky authored
POSIX doesn't guarantee something like that to work, but it works on any system with careful signal implementation. Roughly, the requirement is that signal handler is executed in the context of the process, its main thread, etc. This is true for Linux. Also tested to work without issues on MacOSX.
-
Damien George authored
-
Damien George authored
Adds a lot of code, makes IRQs a bit less efficient, but is very useful for debugging. Usage: pyb.irq_stats() returns a memory view that can be read and written, eg: list(pyb.irq_stats()) pyb.irq_stats()[0] pyb.irq_stats()[0] = 0 The patch provides general IRQ_ENTER() and IRQ_EXIT() macros that can be modified to provide further IRQ statistics if desired.
-
- 21 Dec, 2015 3 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
stijn authored
This builds upon the changes made in 21950463. Using signal() does not produce reliable results so SetConsoleCtrlHandler is used, and the handler is installed only once during initialization instead of removing it in mp_hal_set_interrupt_char when it is not strictly needed anymore, since removing it might lead to Ctrl-C events being missed because they are fired on a seperate thread which might only become alive after the handler was removed.
-
- 20 Dec, 2015 4 commits
-
-
Paul Sokolovsky authored
Everyone loves to names similar things the same, then there're conflicts between different libraries. The namespace prefix used is "CRYAL_", which is weird, and that's good, as that minimizes chance of another conflict.
-
Paul Sokolovsky authored
This requires CPython3.5, to not require switching to it, just use .exp file.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
I.e. the expected result for above is b"foo", whereas previously we got b"b'foo'".
-
- 19 Dec, 2015 2 commits
-
-
stijn authored
This makes all tests pass again for 64bit windows builds which would previously fail for anything printing ranges (builtin_range/unpack1) because they were printed as range( ld, ld ). This is done by reusing the mp_vprintf implementation for MICROPY_OBJ_REPR_D for 64bit windows builds (both msvc and mingw-w64) since the format specifier used for 64bit integers is also %lld, or %llu for the unsigned version. Note these specifiers used to be fetched from inttypes.h, which is the C99 way of working with printf/scanf in a portable way, but mingw-w64 wants to be backwards compatible with older MS C runtimes and uses the non-portable %I64i instead of %lld in inttypes.h, so remove the use of said header again in mpconfig.h and define the specifiers manually.
-
Dave Hylands authored
This uses the newly factored machine_mem functions.
-
- 18 Dec, 2015 1 commit
-
-
Fabian authored
Changes USB clock from 50MHz to 48MHz which improves USB communication.
-