Damien George
4300c7dba2
py: Remove dependency on printf/fwrite in mp_plat_print.
...
See issue #1500 .
2015-10-15 00:05:55 +01:00
Paul Sokolovsky
74d0df7324
unix: Allow to build against Android down to 1.5.
...
Bionic libc in Android 1.5 missed log2() and nan() functions.
2015-10-15 00:11:09 +03:00
Damien George
d7e3b36a09
py/compile: Remove unnecessary label in compilation of for statement.
2015-10-14 15:51:12 +01:00
Damien George
fcce1483fa
py: Fix build of ARM native emitter due to recent viper changes.
...
Addresses #1510 .
2015-10-14 12:40:54 +01:00
Paul Sokolovsky
2430dfac31
tests/jni: Start adding modjni tests.
...
These are currently not intended to run with the rest of testsuite, as
they require dependencies and special environment setup anyway (drafted
in tests/jni/README).
2015-10-14 00:56:01 +03:00
Paul Sokolovsky
fe29cc192d
unix/modjni: Add iteration support for Java List objects.
...
Using generic iteration-via-subscription support (TODO: factor it out for
reuse).
2015-10-14 00:36:03 +03:00
Paul Sokolovsky
41eb705477
unix/modjni: call_method: Check for Java exception after method return.
2015-10-14 00:25:10 +03:00
Damien George
2ec835f572
tests: Add more tests for viper 16/32-bit load/store, and ellipsis.
2015-10-13 18:24:36 +01:00
Damien George
59a41e8fcd
py/qstr: Fix calc of qstr memory usage, due to new qstr chunk allocation.
2015-10-13 15:52:06 +01:00
Damien George
d6442407f5
docs: Fix formatting of DAC code examples.
2015-10-13 14:44:00 +01:00
Damien George
b5c43be135
stmhal: Allow to set bits resolution for DAC; 8 is default, can have 12.
...
This patch allows to configure the DAC resolution in the constructor and
in the init function, eg:
dac = DAC(1, bits=12).
The default resolution is 8 bits for backwards compatibility. The bits
sets the maximum value accepted by write and write_timed methods, being
2**bits - 1.
When using write_timed with 12-bit resolution, the input buffer is
treated as an unsigned half-word array, typecode 'H'.
See PR #1130 for discussion.
2015-10-13 14:33:04 +01:00
Damien George
b8f9ac5411
py: Implement ptr32 load and store in viper emitter.
2015-10-13 00:50:17 +01:00
Paul Sokolovsky
21f43ba9b0
unix/modtermios: tcsetattr: If 0 passed for "when" param, treat as TCSANOW.
...
As we dn't export constants for TCSANOW, etc., zero makes a good "don't
care" param, and now it will work also under Android Bionic and any other
libc.
2015-10-13 00:37:55 +03:00
Damien George
3c9c3687d6
py: Add support to call __init__ from a builtin module on first import.
2015-10-12 13:46:01 +01:00
Paul Sokolovsky
408b74d74c
py: Allow to to build MicroPython as a static library.
...
The whole current port gets slurped into a static lib named
"libmicropython.a". Maybe that's not ideal, but at least something
to start with.
2015-10-12 15:32:06 +03:00
Damien George
fdfcee7b1e
py/parse: Make parser error handling cleaner, less spaghetti-like.
2015-10-12 12:59:18 +01:00
Damien George
64f2b213bb
py: Move constant folding from compiler to parser.
...
It makes much more sense to do constant folding in the parser while the
parse tree is being built. This eliminates the need to create parse
nodes that will just be folded away. The code is slightly simpler and a
bit smaller as well.
Constant folding now has a configuration option,
MICROPY_COMP_CONST_FOLDING, which is enabled by default.
2015-10-12 12:58:45 +01:00
Paul Sokolovsky
91fc075a33
py/objarray: Allow to create array of void pointers, as extension to CPython.
...
Using 'P' format specifier (matches struct module). This is another shortcut
for FFI, just as previously introduced "array of objects" ('O').
2015-10-12 10:13:51 +03:00
Damien George
3aa7dd23c9
unix: Add exit and paste-mode hints to shell startup banner.
...
Thanks to @nyov for the initial patch.
2015-10-12 00:19:00 +01:00
nyov
fccbe9aa4d
README.md: Document "Ctrl+D" shell exit.
2015-10-12 00:15:41 +01:00
Damien George
0334058fa4
Rename "Micro Python" to "MicroPython" in REPL, help, readme's and misc.
2015-10-12 00:06:25 +01:00
Damien George
6206f431cf
stmhal: Enable REPL auto indent; document paste mode in help().
2015-10-11 23:33:46 +01:00
Damien George
46a1102852
repl: Add paste mode to friendly REPL, entered via CTRL-E.
...
Use CTRL-E to enter paste mode. Prompt starts with "===" and accepts
all characters verbatim, echoing them back. Only control characters are
CTRL-C which cancels the input and returns to normal REPL, and CTRL-D
which ends the input and executes it. The input is executed as though
it were a file. The input is not added to the prompt history.
2015-10-11 23:30:22 +01:00
Paul Sokolovsky
1b586f3a73
py: Rename MP_BOOL() to mp_obj_new_bool() for consistency in naming.
2015-10-11 15:18:15 +03:00
Paul Sokolovsky
53ca6ae1f3
py/makeqstrdata.py: Catch and report case of empty input file.
...
The usual cause would be that a cross-compiler for a port is not in PATH.
2015-10-11 11:09:57 +03:00
Anmol Sarma
95b352064e
unix/modsocket: Fix usage of pointers to locals outside scope
2015-10-10 17:29:26 +05:30
Damien George
24652228af
drivers/sdcard: Allow up to 5 retries to initialise SD card.
...
Apparently some cards need more than 2 retries. See issue #1482 .
2015-10-10 00:07:40 +01:00
Damien George
845b5a2a58
docs: Describe properly how MCU can be woken from pyb.standby() state.
2015-10-10 00:03:14 +01:00
Paul Sokolovsky
7381b7ac71
unix/modjni: py2jvalue: Support bool and None values.
2015-10-10 01:20:48 +03:00
Peter Hinch
0e87bc7be6
tests: In pyb RTC tests, check wakeup register values.
2015-10-09 23:06:05 +01:00
Dave Hylands
01d64914c5
stmhal: Fix USB CDC-only mode under Windows.
...
This fix adds PIDs 9801 and 9802 to the pybcdc.inf file.
When in CDC only mode, it presents itself as a Communcations
device rather than as a composite device. Presenting as a
composite device with only the CDC interface seems to confuse
windows.
To test and make sure that the correct pybcdc.inf was being used,
I used USBDeview from http://www.nirsoft.net/utils/usb_devices_view.html
to uninstall any old pyboard drivers (Use Control-F and search
for pyboard). I found running USBDeview as administrator worked best.
Installing the driver in CDC+MSC mode first is recommended (since the
pybcdc.inf file in on the internal flash drive). Then when you switch
modes everything seems to work properly.
I used https://github.com/dhylands/upy-examples/blob/master/boot_switch.py
to easily switch the pyboard between the various USB modes for testing.
2015-10-09 00:18:01 +01:00
Damien George
366239b8b9
py/parse: Factor logic when creating parse node from and-rule.
2015-10-08 23:13:18 +01:00
Paul Sokolovsky
02041bf2e0
unix/modjni: jvalue2py() is currently not used.
...
Not remove so far, may be needed later.
2015-10-09 00:27:27 +03:00
Paul Sokolovsky
216b6a494e
unix/modjni: Allow to access fields of objects.
2015-10-08 16:57:02 +03:00
Damien George
b948de36fb
py: Don't generate unnecessary parse nodes for assignment or kwargs.
...
This patch eliminates the need for a nested parse node for assignments
and keyword arguments. It saves a little bit of RAM when parsing.
2015-10-08 14:26:01 +01:00
Damien George
4fb5ff86ee
tests: Add test for evaluation order of dictionary key/value pairs.
...
In Python 3.4 the value is evaluated before the key. In Python 3.5 it's
key then value.
2015-10-08 13:15:07 +01:00
Damien George
9f5f156b9d
py/emitnative: Raise ViperTypeError for unsupported unary ops.
2015-10-08 13:08:59 +01:00
Damien George
7e12a601b8
py/compile: Fix edge case when constant-folding negation of integer.
...
Also adds tests specifically for testing constant folding.
2015-10-08 13:02:00 +01:00
Damien George
2a8d7ee0f8
stmhal: Fix RTC.wakeup so it correctly calculates WUT for large periods.
...
Thanks to Peter Hinch. Addresses issue #1488 .
2015-10-08 12:41:12 +01:00
Paul Sokolovsky
fd38799049
unix/modjni: After Call*Method(), Java exception should always be checked.
...
OpenJDK seemed to return NULL in case of exception, but Dalvik returns
arbitrary value, so skip such "optimizations".
2015-10-07 07:40:29 +03:00
Damien George
fa391eed9d
stmhal: In RTC.wakeup, fix setting of wucksel to get correct period.
...
Thanks to Peter Hinch. See issue #1490 .
2015-10-06 23:39:57 +01:00
Radomir Dopieralski
37ab061f4d
docs: Update esp8266 documentation to match the code.
...
* Move the esp.status() to network module.
* Describe the wifi.isconnected() method.
* Describe esp.mac(), esp.wifi_mode(), esp.phy_mode(), esp.sleep_type(),
esp.deepsleep(), and esp.flash_id() functions.
2015-10-06 23:25:35 +01:00
Paul Sokolovsky
aaa8867d4a
modussl: SSL socket wrapper module based on axTLS.
2015-10-06 18:10:39 +03:00
Paul Sokolovsky
062bd81814
tests/basics/builtin_range: PEP8 fixes.
2015-10-05 20:02:52 +03:00
Paul Sokolovsky
f4d55c91fe
lib/axtls: Update submodule, adds .gitignore .
2015-10-04 15:55:37 +03:00
Paul Sokolovsky
326ff54649
unix: Add support for building axtls dependency lib.
2015-10-04 02:39:01 +03:00
Paul Sokolovsky
90a36942b4
lib/axtls: Add axtls git submodule, dependency of modussl.
...
From https://github.com/pfalcon/axtls , branch micropython.
2015-10-04 02:39:00 +03:00
Paul Sokolovsky
1ea4b77a9a
unix/modjni: jclass.__str__/__repr__: Return Java .toString() value.
2015-10-04 01:57:07 +03:00
Damien George
0496de26d3
py: Allow to enable inline assembler without native emitter.
2015-10-03 17:07:54 +01:00
Paul Sokolovsky
f22be4ebd9
unix/modjni: jobject.__str__/__repr__: Return Java .toString() value.
2015-10-03 08:58:46 -07:00