Damien George
97abe22963
tests: Add tests to exercise lexer; and some more complex number tests.
2015-04-04 23:16:22 +01:00
Damien George
9dd3640464
tests: Add missing tests for builtins, and many other things.
2015-04-04 22:05:30 +01:00
Damien George
7e758b1cf8
stmhal, qemu-arm: Enable sys.maxsize attribute.
2015-04-04 22:04:53 +01:00
Daniel Campora
b9d850227d
cc3200: Add WLAN AP specific settings for each board.
2015-04-04 22:09:55 +02:00
Damien George
56606f3475
py: Implement delete for property and descriptors.
...
Without this patch deleting a property, or class with descriptor, will
call the setter with a NULL value and lead to a crash.
2015-04-04 20:15:31 +01:00
Damien George
0528c5a22a
py: In str unicode, str_subscr will never be passed a bytes object.
2015-04-04 19:42:03 +01:00
Damien George
0f6424efda
docs: Bump version to 1.4.1.
2015-04-04 17:41:11 +01:00
Damien George
40fc01f406
stmhal: Enable new str.splitlines() method.
2015-04-04 16:02:23 +01:00
Damien George
2801e6fad8
py: Some trivial cosmetic changes, for code style consistency.
2015-04-04 15:53:11 +01:00
Paul Sokolovsky
7f59b4b2ca
objstr: Fix bugs introduced by inability to have shadow variables.
...
Warnings lead to programming errors - as expected.
2015-04-04 01:55:40 +03:00
Paul Sokolovsky
acf6aec71c
objstr: Avoid variable shadowing.
2015-04-04 01:24:59 +03:00
Paul Sokolovsky
620058cc57
tests: Add test for str.splitlines().
2015-04-04 00:09:54 +03:00
Paul Sokolovsky
ac2f7a7f6a
objstr: Add .splitlines() method.
...
splitlines() occurs ~179 times in CPython3 standard library, so was
deemed worthy to implement. The method has subtle semantic differences
from just .split("\n"). It is also defined as working for any end-of-line
combination, but this is currently not implemented - it works only with
LF line-endings (which should be OK for text strings on any platforms,
but not OK for bytes).
2015-04-04 00:09:48 +03:00
Damien George
82f37bf0d1
tests: Add specific test for closures in native emitter.
2015-04-03 16:14:25 +01:00
Damien George
fa5950eb00
py: Fix bug in native emitter when closing over an argument.
2015-04-03 15:03:24 +00:00
Damien George
99957384ea
py: Get native emitter working again with x86 (now supports closures).
2015-04-03 14:38:41 +00:00
Damien George
4cd9ced8dc
py: Implement closures in native code generator.
...
Currently supports only x64 and Thumb2 archs.
2015-04-03 15:05:53 +01:00
Damien George
2cc5473021
py: Implement (non-compliant) support for delete_fast in native emitter.
...
This implementation is smaller (in code size) than #1024 .
2015-04-03 14:29:30 +01:00
Damien George
c0dcf6e878
README: Add note about pic16bit port.
2015-04-03 14:16:49 +01:00
Damien George
43ea73faa6
pic16bit: Initial version of port to 16-bit PIC family.
...
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-03 14:11:19 +01:00
Damien George
12ab9eda8d
py: Make heap printing compatible with 16-bit word size.
2015-04-03 14:11:13 +01:00
Damien George
3f327cc4c6
py: Allow MPZ_DIG_SIZE to be optionally configured by a port.
2015-04-03 14:11:13 +01:00
Damien George
567184e21e
py: Allow configurable object representation, with 2 different options.
2015-04-03 14:11:13 +01:00
Damien George
12a5e17afb
py: Add finer configuration of static funcs when not in stackless mode.
...
Also rename call_args_t to mp_call_args_t.
2015-04-02 22:56:58 +01:00
Paul Sokolovsky
dbc0191d5f
unix: Add stackless config settings, for easy access.
2015-04-03 00:27:14 +03:00
Paul Sokolovsky
7f1c98177b
vm: Support strict stackless mode, with proper exception reporting.
...
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-03 00:26:47 +03:00
Paul Sokolovsky
f0a8f21190
vm: Implement stackless for CALL_FUNCTION_VAR_KW & CALL_METHOD_VAR_KW.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
e6c6fe3275
runtime: Split mp_call_prepare_args_n_kw_var() from mp_call_method_n_kw_var().
...
Allow for reuse for stackless design, where preparing args is separate from
calling.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
390e92688c
vm: Stackless support for MP_BC_CALL_METHOD.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
332a909d44
vm: If there's no heap to call function in stackless manner, call via C stack.
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
2039757b85
vm: Initial support for calling bytecode functions w/o C stack ("stackless").
2015-04-03 00:03:07 +03:00
Paul Sokolovsky
f88eec0de2
makeqstrdata.py: Add support for strings with backslash escapes.
2015-04-02 01:10:11 +03:00
Damien George
2686f9b3e8
py: Fix emitnative's creation of small ints so it uses the macro.
2015-04-01 00:12:43 +01:00
Daniel Campora
d460a30711
cc3200: Add specific version file for the CC3200 port.
...
Current version has been numbered as 0.9.0 since Timers/PWM support
is still missing.
2015-03-31 14:34:09 +02:00
Daniel Campora
3f42f32648
cc3200: Remove duplicated code from moduos.
...
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-31 14:34:07 +02:00
Paul Sokolovsky
344057ac50
docs: uctypes: Bullet list formatting fixes.
2015-03-31 01:29:07 +03:00
Paul Sokolovsky
9d2c0c231c
docs: uctypes: Describe how to instantiate struct objects.
2015-03-31 01:16:14 +03:00
Paul Sokolovsky
1bc534247c
objtype: Add special unary methods __pos__, __neg__, __invert__.
...
Conditional on MICROPY_PY_ALL_SPECIAL_METHODS.
2015-03-31 01:05:03 +03:00
Paul Sokolovsky
fdaac1dbf8
modbuiltins: round(): Accept second arg, and at least support it to be 0.
...
Per https://docs.python.org/3/library/functions.html#round , 2-args format
guaranteedly returns float.
2015-03-31 01:02:44 +03:00
Ivan Pejić
e178ef2520
docs: Add additional example/note for Timer's callback usage.
...
Add example: using named function for the Timer's callback.
Add note: improving traceback inside interrupt timers.
2015-03-30 00:43:04 +01:00
Damien George
47098efbda
docs: Provide initial documentation for micropython module.
2015-03-30 00:32:29 +01:00
Daniel Campora
7b19e99edd
lib: Update FatFs to R0.11.
...
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-29 22:12:14 +01:00
Damien George
64e8b62291
docs: Bump version to 1.4.
2015-03-29 18:01:19 +01:00
Paul Sokolovsky
ad038ca101
tests/class_descriptor.py: Fix line-endings (were CRLF).
2015-03-28 01:07:00 +02:00
stijn
28fa84b445
py: Add optional support for descriptors' __get__ and __set__ methods.
...
Disabled by default. Enabled on unix and windows ports.
2015-03-26 23:55:14 +00:00
Paul Sokolovsky
c260836beb
docs: uctypes: Describe bytes_at(), bytearray_at().
2015-03-27 00:19:23 +02:00
Daniel Campora
1eba62cac9
cc3200: Remove unneeded SPI instruction in the simplelink driver.
...
Setting the word count before a SPI transaction is only needed when
using DMA.
2015-03-26 20:50:39 +01:00
Daniel Campora
1826036a83
cc3200: Increase main stack size to 2K.
...
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-26 20:50:38 +01:00
Damien George
51229afbde
py: Increase fixed size of stack-info in native emitter.
...
This is a temporary fix.
2015-03-26 17:54:12 +00:00
Damien George
4112590a60
py, compiler: When just bytecode, make explicit calls instead of table.
...
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-26 16:52:45 +00:00