- 22 Dec, 2015 2 commits
-
-
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 12 commits
-
-
Fabian authored
Changes USB clock from 50MHz to 48MHz which improves USB communication.
-
stijn authored
Appveyor is like Travis, but for Windows builds. The appveyor.yml configuration will build the msvc port in all configuration/platform conbinations, and run the tests for each of those.
-
Damien George authored
-
Damien George authored
Requires addition of software implementation of sqrtf function.
-
Paul Sokolovsky authored
-
Dave Hylands authored
This basically introduces the MICROPY_MACHINE_MEM_GET_READ_ADDR and MICROPY_MACHINE_MEM_GET_WRITE_ADDR macros. If one of them is not defined, then a default identity function is provided.
-
Damien George authored
Ideally we'd use %zu for size_t args, but that's unlikely to be supported by all runtimes, and we would then need to implement it in mp_printf. So simplest and most portable option is to use %u and cast the argument to uint(=unsigned int). Note: reason for the change is that UINT_FMT can be %llu (size suitable for mp_uint_t) which is wider than size_t and prints incorrect results.
-
Damien George authored
MICROPY_ENABLE_COMPILER can be used to enable/disable the entire compiler, which is useful when only loading of pre-compiled bytecode is supported. It is enabled by default. MICROPY_PY_BUILTINS_EVAL_EXEC controls support of eval and exec builtin functions. By default they are only included if MICROPY_ENABLE_COMPILER is enabled. Disabling both options saves about 40k of code size on 32-bit x86.
-
Damien George authored
-
Damien George authored
Saves 88 bytes on Thumb2, and 200 bytes on x86-64 archs.
-
Paul Sokolovsky authored
To let unix port implement "machine" functionality on Python level, and keep consistent naming in other ports (baremetal ports will use magic module "symlinking" to still load it on "import machine"). Fixes #1701.
-
- 17 Dec, 2015 17 commits
-
-
Paul Sokolovsky authored
Compiles with mingw32, tested to work erratically under Wine due to not fully implemented emulation in it.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Damien George authored
-
Paul Sokolovsky authored
This solves long-standing non-deterministic bug, which manifested itself on x86 32-bit (at least of reported cases) - segfault on Ctrl+C (i.e. SIGINT).
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
For builds where mp_uint_t is larger than size_t, it doesn't make sense to use such a wide type for qstrs. There can only be as many qstrs as there is address space on the machine, so size_t is the correct type to use. Saves about 3000 bytes of code size when building unix/ port with MICROPY_OBJ_REPR_D.
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Damien George authored
Only enabled for MICROPY_OBJ_REPR_D.
-
Damien George authored
size_t is the correct type to use to count things related to the size of the address space. Using size_t (instead of mp_uint_t) is important for the efficiency of ports that configure mp_uint_t to larger than the machine word size.
-
Damien George authored
-
Damien George authored
The GC should search for pointers within the heap. This patch makes a difference when an object is larger than a pointer (eg 64-bit NaN boxing).
-
Damien George authored
-