Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-01-21 | stmhal: Add support for FEZ Cerb40 II board from ghielectronics.com. | Dave Hylands | |
2015-01-20 | docs: Fix frequency info for DAC.triangle. | Damien George | |
2015-01-20 | py: Prevent segfault for operations on closed StringIO. | stijn | |
Addresses issue #1067. | |||
2015-01-21 | modffi: Support open own executable using open(None). | Paul Sokolovsky | |
2015-01-20 | py: Use mp_arg_check_num in some _make_new functions. | Damien George | |
Reduces stmhal code size by about 250 bytes. | |||
2015-01-20 | py, unix: Allow to compile with -Wunused-parameter. | Damien George | |
See issue #699. | |||
2015-01-20 | py, unix, stmhal: Allow to compile with -Wshadow. | Damien George | |
See issue #699. | |||
2015-01-20 | py: Implement very simple frozen modules support. | Paul Sokolovsky | |
Only modules (not packages) supported now. Source modules can be converted to frozen module structures using tools/make-frozen.py script. | |||
2015-01-18 | esp8266: Add missing hard_reset qstr. | Paul Sokolovsky | |
2015-01-18 | esp8266:modpyb: Implement hard_reset(). | Paul Sokolovsky | |
2015-01-16 | unix: Update .gitignore for "fast" and "minimal" builds. | Damien George | |
2015-01-16 | unix: Add target to build "minimal" uPy interpreter. | Damien George | |
2015-01-16 | py, unix: Allow to compile with -Wsign-compare. | Damien George | |
See issue #699. | |||
2015-01-16 | esp8266: Implement task-based, event-driven interface with UART. | Paul Sokolovsky | |
This enables proper interfacing with underlying OS - MicroPython doesn't run the main loop, OS does, MicroPython just gets called when some event takes place. | |||
2015-01-16 | py: Remove unnecessary id_flags argument from emitter's load_fast. | Damien George | |
Saves 24 bytes in bare-arm. | |||
2015-01-16 | minimal: Make #if indent consistent. | Paul Sokolovsky | |
2015-01-16 | minimal: Support even-driven REPL. | Paul Sokolovsky | |
2015-01-16 | pyexec: Add event-driven variant pyexec_friendly_repl(). | Paul Sokolovsky | |
pyexec_friendly_repl_process_char() and friends, useful for ports which integrate into existing cooperative multitasking system. Unlike readline() refactor before, this was implemented in less formal, trial&error process, minor functionality regressions are still known (like soft&hard reset support). So, original loop-based pyexec_friendly_repl() is left intact, specific implementation selectable by config setting. | |||
2015-01-15 | esp8266: Use dedicated heap allocated as static array. | Paul Sokolovsky | |
We cannot assume that all memory belongs to us - it actually belongs to ESP8266 OS. | |||
2015-01-14 | py: Add "default" to switches to allow better code flow analysis. | Damien George | |
This helps compiler produce smaller code. Saves 124 bytes on stmhal and bare-arm. | |||
2015-01-14 | py: Only allocate strings/bytes once for load_const_obj. | Damien George | |
2015-01-14 | unix, windows: Don't call mp_unix_mark_exec on windows. | Damien George | |
2015-01-14 | py: Allocate memory for assembled code at start of PASS_EMIT. | Damien George | |
Previously was allocating at end of PASS_COMPUTE, and this pass was being run twice, so memory was being allocated twice. | |||
2015-01-14 | travis, minimal: Install gcc-multilib for -m32; use /bin/echo for test. | Damien George | |
2015-01-14 | py: Reluctantly add an extra pass to bytecode compiler. | Damien George | |
Bytecode also needs a pass to compute the stack size. This is because the state size of the bytecode function is encoded as a variable uint, so we must know the value of this uint before we encode it (otherwise the size of the generated code changes from one pass to the next). Having an entire pass for this seems wasteful (in time). Alternative is to allocate fixed space for the state size (would need 3-4 bytes to be general, when 1 byte is usually sufficient) which uses a bit of extra RAM per bytecode function, and makes the code less elegant in places where this uint is encoded/decoded. So, for now, opt for an extra pass. | |||
2015-01-14 | py, unix: Trace root pointers with native emitter under unix port. | Damien George | |
Native code has GC-heap pointers in it so it must be scanned. But on unix port memory for native functions is mmap'd, and so it must have explicit code to scan it for root pointers. | |||
2015-01-13 | py: Make compiler not crash when default except is not last. | Damien George | |
2015-01-13 | py/showbc.c: Handle new LOAD_CONST_OBJ opcode, and opcodes with cache. | Damien George | |
2015-01-13 | py: Never intern data of large string/bytes object; add relevant tests. | Damien George | |
Previously to this patch all constant string/bytes objects were interned by the compiler, and this lead to crashes when the qstr was too long (noticeable now that qstr length storage defaults to 1 byte). With this patch, long string/bytes objects are never interned, and are referenced directly as constant objects within generated code using load_const_obj. | |||
2015-01-13 | py: Add load_const_obj to emitter, add LOAD_CONST_OBJ to bytecode. | Damien George | |
This allows to directly load a Python object to the Python stack. See issue #722 for background. | |||
2015-01-13 | minimal: Add simple test; build and run minimal test on Travis CI. | Damien George | |
2015-01-13 | minimal/Makefile: Remove unnecessary -I of py/ dir. | Damien George | |
2015-01-13 | minimal: Add "run" make target to run emulated build with suitable tty config. | Paul Sokolovsky | |
2015-01-13 | minimal: Convert "bare-arm" port to "minimal" port. | Paul Sokolovsky | |
This enable libc functions, GC, and line-editing function. Also, UART emulation for POSIX systems is added. Emulation build is set as default. | |||
2015-01-13 | minimal: New port, intended to represent minimal working code. | Paul Sokolovsky | |
Unlike bare-arm, which is mostly intended to show raw interpreter size, without library and support code dependencies. This port is intended to be a better base to start new ports, and also will include emulation build to allow debug some aspects of embedded targets on POSIX systems. This initial commit is verbatim copy of bare-arm code. | |||
2015-01-12 | py: Allow to compile with -Wstrict-prototypes. | Damien George | |
2015-01-12 | py: Allow to compile with -Wredundant-decls. | Damien George | |
2015-01-12 | py, unix, lib: Allow to compile with -Wold-style-definition. | Damien George | |
2015-01-12 | py: Can compile with -Wmissing-declarations and -Wmissing-prototypes. | Damien George | |
2015-01-12 | py: Make a function static and comment out those not used. | Damien George | |
2015-01-12 | py, unix: Allow to compile with -Wdouble-promotion. | Damien George | |
Ref issue #699. | |||
2015-01-12 | qemu-arm: Disable basics/memoryerror.py test. | Damien George | |
2015-01-12 | stmhal: Add MICROPY_HW_USB_OTG_ID_PIN config, set for relevant boards. | Damien George | |
This config option is for the USB OTG pin, pin A10. This is used on some boards but not others. Eg PYBv3 uses PA10 for LED(2), so it shouldn't be used for OTG ID (actually PA10 is multiplexed on this board, but defaults to LED(2)). Partially addresses issue #1059. | |||
2015-01-12 | travis: grep for failure in qemu-arm output if tests fail. | Damien George | |
2015-01-12 | windows: Enable MICROPY_STACK_CHECK. | Damien George | |
2015-01-12 | qemu-arm: Enable GC and native code-gen; enable more tests. | Damien George | |
2015-01-12 | lib/mp-readline: Refactor to support coroutine/event-driven usage. | Paul Sokolovsky | |
readline_process_char() can be fed character by character, for example, received from external event loop. This will allow to integrate MicroPython into cooperative multitasking systems. | |||
2015-01-12 | teensy: Update for readline module moved to lib/. | Paul Sokolovsky | |
2015-01-12 | esp8266: Update for readline module moved to lib/. | Paul Sokolovsky | |
2015-01-12 | stmhal: Move readline code to lib/mp-readline/. | Paul Sokolovsky | |