summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-03py: Implement closures in native code generator.Damien George
Currently supports only x64 and Thumb2 archs.
2015-04-03py: Implement (non-compliant) support for delete_fast in native emitter.Damien George
This implementation is smaller (in code size) than #1024.
2015-04-03README: Add note about pic16bit port.Damien George
2015-04-03pic16bit: Initial version of port to 16-bit PIC family.Damien George
Reference MCU is dsPIC33J256GP506 with 256k ROM and 8k RAM, on the dsPIC DSC Starter Kit board. The REPL works, GC works, pyb module has LED and Switch objects. It passes some tests from the test suite (most it can't run because it doesn't have the Python features enabled).
2015-04-03py: Make heap printing compatible with 16-bit word size.Damien George
2015-04-03py: Allow MPZ_DIG_SIZE to be optionally configured by a port.Damien George
2015-04-03py: Allow configurable object representation, with 2 different options.Damien George
2015-04-02py: Add finer configuration of static funcs when not in stackless mode.Damien George
Also rename call_args_t to mp_call_args_t.
2015-04-03unix: Add stackless config settings, for easy access.Paul Sokolovsky
2015-04-03vm: Support strict stackless mode, with proper exception reporting.Paul Sokolovsky
I.e. in this mode, C stack will never be used to call a Python function, but if there's no free heap for a call, it will be reported as RuntimeError (as expected), not MemoryError.
2015-04-03vm: Implement stackless for CALL_FUNCTION_VAR_KW & CALL_METHOD_VAR_KW.Paul Sokolovsky
2015-04-03runtime: Split mp_call_prepare_args_n_kw_var() from mp_call_method_n_kw_var().Paul Sokolovsky
Allow for reuse for stackless design, where preparing args is separate from calling.
2015-04-03vm: Stackless support for MP_BC_CALL_METHOD.Paul Sokolovsky
2015-04-03vm: If there's no heap to call function in stackless manner, call via C stack.Paul Sokolovsky
2015-04-03vm: Initial support for calling bytecode functions w/o C stack ("stackless").Paul Sokolovsky
2015-04-02makeqstrdata.py: Add support for strings with backslash escapes.Paul Sokolovsky
2015-04-01py: Fix emitnative's creation of small ints so it uses the macro.Damien George
2015-03-31cc3200: Add specific version file for the CC3200 port.Daniel Campora
Current version has been numbered as 0.9.0 since Timers/PWM support is still missing.
2015-03-31cc3200: Remove duplicated code from moduos.Daniel Campora
Error reporting is also changed from detailed to terse, as with the rest of the CC3200's modules. All this combined saves ~200 bytes.
2015-03-31docs: uctypes: Bullet list formatting fixes.Paul Sokolovsky
2015-03-31docs: uctypes: Describe how to instantiate struct objects.Paul Sokolovsky
2015-03-31objtype: Add special unary methods __pos__, __neg__, __invert__.Paul Sokolovsky
Conditional on MICROPY_PY_ALL_SPECIAL_METHODS.
2015-03-31modbuiltins: round(): Accept second arg, and at least support it to be 0.Paul Sokolovsky
Per https://docs.python.org/3/library/functions.html#round, 2-args format guaranteedly returns float.
2015-03-30docs: Add additional example/note for Timer's callback usage.Ivan Pejić
Add example: using named function for the Timer's callback. Add note: improving traceback inside interrupt timers.
2015-03-30docs: Provide initial documentation for micropython module.Damien George
2015-03-29lib: Update FatFs to R0.11.Daniel Campora
There are lots of cosmetic changes, but this release brings a very important bug fix: - Fixed f_unlink() does not remove cluster chain of the file. With R0.10c if you try to write a file that is too large to fit in the free space of the drive, the operation fails, you delete the incomplete file, and it seems to be erased, but the space is not really freed, because any subsequent write operations fail because the drive is "still" full. The only way to recover from this is by formatting the drive. I can confirm that R0.11 fixes the problem.
2015-03-29docs: Bump version to 1.4.v1.4Damien George
2015-03-28tests/class_descriptor.py: Fix line-endings (were CRLF).Paul Sokolovsky
2015-03-26py: Add optional support for descriptors' __get__ and __set__ methods.stijn
Disabled by default. Enabled on unix and windows ports.
2015-03-27docs: uctypes: Describe bytes_at(), bytearray_at().Paul Sokolovsky
2015-03-26cc3200: Remove unneeded SPI instruction in the simplelink driver.Daniel Campora
Setting the word count before a SPI transaction is only needed when using DMA.
2015-03-26cc3200: Increase main stack size to 2K.Daniel Campora
Increasing it from 1K to 2K gives more freedom to the callback handlers, before this, simply nesting a function call into a printf would cause a stack overflow.
2015-03-26py: Increase fixed size of stack-info in native emitter.Damien George
This is a temporary fix.
2015-03-26py, compiler: When just bytecode, make explicit calls instead of table.Damien George
When just the bytecode emitter is needed there is no need to have a dynamic method table for the emitter back-end, and we can instead directly call the mp_emit_bc_XXX functions. This gives a significant reduction in code size and a very slight performance boost for the compiler. This patch saves 1160 bytes code on Thumb2 and 972 bytes on x86, when native emitters are disabled. Overall savings in code over the last 3 commits are: bare-arm: 1664 bytes. minimal: 2136 bytes. stmhal: 584 bytes (it has native emitter enabled). cc3200: 1736 bytes.
2015-03-26py, compiler: Remove emit_pass1 code, using emit_bc to do its job.Damien George
First pass for the compiler is computing the scope (eg if an identifier is local or not) and originally had an entire table of methods dedicated to this, most of which did nothing. With changes from previous commit, this set of methods can be removed and the methods from the bytecode emitter used instead, with very little modification -- this is what is done in this commit. This factoring has little to no impact on the speed of the compiler (tested by compiling 3763 Python scripts and timing it). This factoring reduces code size by about 270-300 bytes on Thumb2 archs, and 400 bytes on x86.
2015-03-26py, compiler: Refactor load/store/delete_id logic to reduce code size.Damien George
Saves around 230 bytes on Thumb2 and 750 bytes on x86.
2015-03-26cc3200: Minor refactorings on modwlan and pybsleep.Daniel Campora
2015-03-26cc3200: Reenable active interrupts when waking from suspended mode.Daniel Campora
2015-03-26objdict: Cast mp_obj_t to concrete types explicitly.Paul Sokolovsky
Continuation of refactoring applied previously to objlist.
2015-03-26cc3200: Add callback support to the UART for RX interrupts.Daniel Campora
2015-03-26cc3200: Remove superflous parameters from the SPI API.Daniel Campora
2015-03-25tests: Skip some new tests when testing native emitter.Damien George
2015-03-25tests: Add tests for SyntaxError, TypeError, and other missing things.Damien George
This is intended to improve coverage of the test suite.
2015-03-25py: Fix bug in compiler which allowed through illegal augmented assign.Damien George
It allowed such things as (a, b) += c.
2015-03-25py: Clean up some logic in VM to remove assert(0)'s.Damien George
Saves around 30 bytes code on Thumb2 archs.
2015-03-25py: Simplify some logic in compiler; add comments about CPython compat.Damien George
2015-03-25cc3200: Remove superflous params from the I2C API.Daniel Campora
2015-03-25cc3200: Add GPIO25 to the pins list of the WiPy and the WiPy-SD.Daniel Campora
This allows to properly initialize the system led and add it to the sleep module so that it can be restored when resuming from suspended mode.
2015-03-25cc3200: Rename the WiPy_SD to WiPy-SD.Daniel Campora
2015-03-25cc3200: Roll back to the previous telnet and ftp timeouts.Daniel Campora
Unfortunately, these timeouts are the only realiable way (for now), to be able to detect broken connections due to half-open sockets. Such a thing occurs when getting out of the WiFi coverage area or when disconnecting from the AP (sometimes the client doesn't send the disconnect packet).