Damien George
8f064e469d
py/emitbc: Fix bug with BC emitter computing Python stack size.
...
Previous to this patch the mp_emit_bc_adjust_stack_size function would
adjust the current stack size but would not increase the maximum stack size
if the current size went above it. This meant that certain Python code
(eg a try-finally block with no statements inside it) would not have enough
Python stack allocated to it.
This patch fixes the problem by always checking if the current stack size
goes above the maximum, and adjusting the latter if it does.
2017-05-25 20:42:30 +10:00
Damien George
04d05db27e
py/vm: Fix bug with unwind jump popping the iterator from a for loop.
...
This patch fixes a regression introduced by
088740ecc4
2017-05-25 20:39:08 +10:00
Damien George
68e71eacb8
py/vm: Fix bug with stackless mode and unwinding of exceptions.
...
This patch fixes a regression introduced by
71a3d6ec3b
Previous to this patch the n_state variable was referring to that computed
at the very start of the mp_execute_bytecode function. This patch fixes it
so that n_state is recomputed when the code_state changes.
2017-05-25 20:35:57 +10:00
Paul Sokolovsky
982e676902
zephyr/modusocket: getaddrinfo: Raise OSError on resolution timeout, etc.
2017-05-24 19:55:14 +03:00
Paul Sokolovsky
1c9ee49756
drivers: Replace deprecated Pin.high()/low() methods with .__call__(1/0).
2017-05-21 17:44:58 +03:00
Paul Sokolovsky
bcf31a3908
esp8266, stmhal, zephyr: Rename machine.Pin high/low methods to on/off.
...
For consistent Pin/Signal class hierarchy. With it, Signal is a proper
(while still ducktyped) subclass of a Pin, and any (direct) usage of Pin
can be replace with Signal.
As stmhal's class is reused both as machine.Pin and legacy pyb.Pin,
high/low methods actually retained there.
2017-05-21 17:44:58 +03:00
Paul Sokolovsky
299c0a3925
CODECONVENTIONS: Typo fix.
2017-05-21 15:58:03 +03:00
Paul Sokolovsky
3ebd67fc09
library/machine.Pin: Remove .id() method and .board class attr.
...
Both aren't part of generic Hardware API: It's impossible to implement
.id() method in a generic case (e.g., when Pin is instantiated by the
underlying OS/RTOS). .board attribute is an obvious space hog which
instead can be implemented on Python level if needed.
2017-05-21 15:50:16 +03:00
Paul Sokolovsky
19e065294d
cc3200/mods/pybpin: Remove toggle() method.
...
It's not part of MicroPython HW API and can be easily implemented on Python
level in case of need.
Saved 56 bytes of binary.
2017-05-21 15:39:27 +03:00
Damien George
338f0849d9
py/mkenv.mk: Use $(TOP) instead of ".." to reference tools, mpy-cross.
2017-05-19 15:53:55 +10:00
Damien George
436d97b3f9
docs/library/machine.UART: Update and improve uart.any() docs.
2017-05-19 15:48:22 +10:00
Damien George
aca898eeb0
esp8266/machine_uart: Add uart.any() method.
...
Returns 0 or 1, corresponding to no or at least 1 char waiting.
2017-05-19 15:48:22 +10:00
Damien George
218a876f97
tests/basics/builtin_range: Add tests for negative slicing of range.
2017-05-18 17:32:42 +10:00
Damien George
03659c51ca
py/objrange: Fix slicing of range when step of slice is negative.
2017-05-18 17:32:42 +10:00
Damien George
e1b0f2a16f
tests/basics/list_slice_3arg: Add more tests for negative slicing.
2017-05-18 17:32:42 +10:00
Damien George
eb4c37f7a4
py/sequence: Fix boundary errors when slicing with a negative step.
2017-05-18 17:32:42 +10:00
Damien George
d007351b33
docs/library/micropython: Document the newer micropython functions.
2017-05-18 00:25:09 +10:00
Damien George
55dd83a7ba
drivers/display/lcd160cr_test: Allow test to take orientation parameter.
2017-05-17 19:54:38 +10:00
Damien George
f351c6db5e
drivers/display/lcd160cr: Fix get_line method and enhance screen_dump.
...
The docs are updated and describe the new behaviour of these methods.
2017-05-17 19:53:13 +10:00
Damien George
e4a53570d0
docs: Change single occurrence of "Micropython" to "MicroPython".
2017-05-17 12:38:33 +10:00
Paul Sokolovsky
0af974b777
examples/hwapi/soft_pwm2_uasyncio: Update for call_later_ms().
...
Following finalized naming in uasyncio.
2017-05-17 00:44:00 +03:00
Paul Sokolovsky
0912334f54
zephyr/modusocket: getaddrinfo: Use RAISE_ERRNO for proper error decoding.
2017-05-17 00:21:22 +03:00
Paul Sokolovsky
5f648ff60e
zephyr/main: Check default netif before applying operations to it.
...
If no network driver is enabled (e.g., it doesn't exist for a particular
board), it will be NULL.
2017-05-17 00:17:53 +03:00
Paul Sokolovsky
aa9ce283c2
zephyr/modusocket: Get rid of cur_pkt object member.
...
Instead, just peek a packet at the head of the queue and work with it.
2017-05-16 13:46:54 +03:00
Paul Sokolovsky
a3008e447c
zephyr/modusocket: First step to switch to alternative FIFO processing.
...
Here we wait for non-empty FIFO, and then directly access/drop its head
element.
2017-05-16 13:43:06 +03:00
Damien George
88c51c3592
tools/mpy-tool.py: Fix regression with freezing floats in obj repr C.
...
Regression was introduced by ec534609f6
2017-05-16 18:53:02 +10:00
Damien George
a004554dc1
stmhal/modmachine: Remove TODO comment that is now implemented.
2017-05-16 17:44:14 +10:00
Damien George
37bd3b4f4c
stmhal/modmachine: Add machine.UART class, linking to pyb.UART.
...
pyb.UART has a superset of machine.UART functionality so can be used to
provide compatibility with other ports that also implement machine.UART.
2017-05-16 17:40:22 +10:00
puuu
4b235800a4
esp8266/modnetwork: In connect, fix potential buffer overflows.
2017-05-16 17:30:45 +10:00
Tom Collins
162a0f942b
tests/io/bytesio_ext: Test read() after seek() past end of BytesIO object.
2017-05-15 23:58:06 +03:00
Tom Collins
53461deb04
py/objstringio: Fix StringIO reads at or beyond EOF.
...
Existing code failed if seek() went past EOF (which is acceptable when writing).
2017-05-15 23:58:04 +03:00
Paul Sokolovsky
d5713c8618
docs/library/index: Add important summary of the intro section as warning.
...
To make them harder to miss.
2017-05-15 00:26:44 +03:00
Paul Sokolovsky
0ba136fbe9
docs/machine.Signal: Add initial draft description of Signal class.
2017-05-14 23:12:06 +03:00
Paul Sokolovsky
c19f07bd52
docs/machine.Pin: There's no toggle() method in MicroPython hardware API.
...
May be a port-specific method, not portable, not part of the official
specification.
2017-05-14 22:52:16 +03:00
Tom Collins
f06d0839bd
py/modsys: update conditionals for code referencing sys.stdout
...
Working on a build with PY_IO enabled (for PY_UJSON support) but PY_SYS_STDFILES disabled (no filesystem). There are multiple references to mp_sys_stdout_obj that should only be enabled if both PY_IO and PY_SYS_STDFILES are enabled.
2017-05-14 18:24:50 +03:00
Paul Sokolovsky
55491031be
tools/mpy_cross_all.py: Helper tool to run mpy-cross on the entire project.
2017-05-14 17:51:12 +03:00
Paul Sokolovsky
0c57979ce2
zephyr/modusocket: Implement getaddrinfo().
2017-05-13 16:42:35 +03:00
Paul Sokolovsky
86c4544ef9
zephyr/modusocket: If there're no packets in recv_q, cancel waiter.
...
This solves a case when socker_read() has blocked on fifo, and then peer
closed event arrives.
2017-05-13 16:22:14 +03:00
Paul Sokolovsky
69f0b4ad5b
zephyr/modusocket: Switch to net_pkt_append() returning length.
...
Requires patch in review.
2017-05-13 16:05:10 +03:00
Paul Sokolovsky
39d3335606
zephyr/modusocket: Update for net_pkt refactor.
2017-05-13 15:47:47 +03:00
Paul Sokolovsky
c022c9a2f0
zephyr/modusocket: Wrap pkt_get_info() call.
...
The most important info it returns are numbers of free buffers
in different pools (rx/tx packet headers, data fragments).
2017-05-13 15:23:31 +03:00
Paul Sokolovsky
054a381d7c
tests/extmod/vfs_fat_more: Make skippable is uos is not available.
...
Fixes Zephyr tests.
2017-05-13 14:13:53 +03:00
Damien George
cda09727b4
tests/extmod/vfs_fat: Add test for ilistdir of a non-existent directory.
2017-05-13 19:10:15 +10:00
Damien George
f95e4e7782
extmod/vfs_fat_misc: Remove dot-dirs filter since FatFS already does it.
2017-05-13 18:58:46 +10:00
Robert HH
71df60cf42
esp8266/ets_alt_task.c: Prevent spurious large increment of ticks_ms()
...
This happened when the overflow counter for ticks_ms() was interrupted
by an external hard interrupt (issue #3076 ).
2017-05-13 17:56:16 +10:00
Damien George
ec534609f6
tools/mpy-tool.py: Use MP_ROM_xxx macros to support nanbox builds.
2017-05-13 10:08:13 +10:00
Paul Sokolovsky
5383a50072
zephyr/README: Update to require Zephyr 1.8.
...
There're a lot of changes and fixes in 1.8 regarding IP stack,
incompatible with previous Zephyr versions, so supporting them
doesn't make sense.
This is the last commit which should build with Zephyr 1.7.
2017-05-12 22:05:07 +03:00
Paul Sokolovsky
d57c6564dc
zephyr/prj_qemu_x86.conf: Bump RAM size to 320K.
2017-05-12 21:58:51 +03:00
Paul Sokolovsky
50d7ed325a
zephyr/modusocket: Add SOL_SOCKET and SO_REUSEADDR constants.
2017-05-12 21:55:42 +03:00
Paul Sokolovsky
1659c0645d
zephyr/modusocket: Add dummy setsockopt() implementation.
2017-05-12 21:54:32 +03:00