Damien George
27cc07721b
py: Add basic _thread module, with ability to start a new thread.
2016-06-28 11:28:48 +01:00
Damien George
330165a2cc
py: Add MP_STATE_THREAD to hold state specific to a given thread.
2016-06-28 11:09:31 +01:00
Paul Sokolovsky
c7fba524cb
py/objtype: Inherit protocol vtable from base class only if it exists.
2016-06-19 00:56:06 +03:00
Paul Sokolovsky
41167554e4
py/mphal.h: If virtpin API is used, automagically include its header.
2016-06-19 00:12:37 +03:00
Paul Sokolovsky
413c3e10b4
py/objtype: instance: Inherit protocol vtable from a base class.
...
This allows to define an abstract base class which would translate
C-level protocol to Python method calls, and any subclass inheriting
from it will support this feature. This in particular actually enables
recently introduced machine.PinBase class.
2016-06-19 00:01:59 +03:00
Paul Sokolovsky
3fecbb2462
extmod/machine_pinbase: Implementation of PinBase class.
...
Allows to translate C-level pin API to Python-level pin API. In other
words, allows to implement a pin class and Python which will be usable
for efficient C-coded algorithms, like bitbanging SPI/I2C, time_pulse,
etc.
2016-06-18 23:40:28 +03:00
Paul Sokolovsky
07209f8592
all: Rename mp_obj_type_t::stream_p to protocol.
...
It's now used for more than just stream protocol (e.g. pin protocol), so
don't use false names.
2016-06-18 18:44:57 +03:00
Paul Sokolovsky
f469c76442
py: Rename __QSTR_EXTRACT flag to NO_QSTR.
...
It has more usages than just qstr extraction, for example, embedding (where
people don't care about efficient predefined qstrs).
2016-06-16 01:42:48 +03:00
Paul Sokolovsky
230d5cda05
py/mkrules.mk: Define "lib" outside conditional block.
...
"lib" happened to be defined inside block conditional on $(PROG).
2016-06-16 01:11:24 +03:00
Paul Sokolovsky
dcb904416a
py/makeqstrdefs.py: Remove restriction that source path can't be absolute.
...
That's arbitrary restriction, in case of embedding, a source file path may
be absolute. For the purpose of filtering out system includes, checking
for ".c" suffix is enough.
2016-06-16 01:04:42 +03:00
Paul Sokolovsky
0f5bf1aafe
py/mpconfig.h: MP_NOINLINE is universally useful, move from unix port.
2016-06-15 23:52:00 +03:00
Paul Sokolovsky
337111ba9e
py: Support to build berkeley db 1.85 and "btree" module.
2016-06-15 00:52:45 +03:00
Mark Anthony Palomer
3131053e1a
py/objdict: Implemented OrderedDict equality check.
2016-06-12 17:33:48 +03:00
Damien George
b1533c4366
py/parse: Treat constants that start with underscore as private.
...
Assignments of the form "_id = const(value)" are treated as private
(following a similar CPython convention) and code is no longer emitted
for the assignment to a global variable.
See issue #2111 .
2016-06-06 17:28:32 +01:00
Damien George
33168081f4
extmod/machine: Add MICROPY_PY_MACHINE_PULSE config for time_pulse_us.
...
Since not all ports that enable the machine module have the pin HAL
functions.
2016-05-31 14:25:19 +01:00
Damien George
4940bee62a
extmod: Add machine time_pulse_us function (at C and Python level).
...
The C implementation is taken from the DHT driver.
2016-05-31 13:58:48 +01:00
Damien George
715ee9d925
py/modstruct: Allow to have "0s" in struct format.
2016-05-28 23:27:38 +01:00
Paul Sokolovsky
2ec0ee082a
py/moduerrno: Add ECONNREFUSED, one of frequent networking errors.
2016-05-28 00:17:19 +03:00
Paul Sokolovsky
751e3b7a82
extmod/virtpin: Initial implementation of open-ended C-level Pin interface.
...
Using usual method of virtual method tables. Single virtual method,
ioctl, is defined currently for all operations. This universal and
extensible vtable-based method is also defined as a default MPHAL
GPIO implementation, but a specific port may override it with its
own implementation (e.g. close-ended, but very efficient, e.g. avoiding
virtual method dispatch).
2016-05-27 01:08:43 +03:00
Paul Sokolovsky
c76acd8c23
py/moduerrno: Add EEXIST, EISDIR.
...
Useful to check file/dir operations result, in particular used by upip.
2016-05-25 01:23:57 +03:00
Antonin ENFRUN
ca41dc2750
py/objnamedtuple: Allow passing field names as a tuple.
...
So the documentation's example works. Besides, a tuple can be more
memory efficient.
2016-05-23 21:08:07 +01:00
Damien George
202d5acd06
py/makeqstrdata.py: Allow to have double-quote characters in qstrs.
...
When rendering the qstr for a C header file, the double-quate character
must be escaped.
2016-05-23 15:18:55 +01:00
Damien George
274952a117
py: Allow to stat and import frozen mpy files using new frozen "VFS".
...
Freezing mpy files using mpy-tool.py now works again.
2016-05-23 12:42:23 +01:00
Paul Sokolovsky
9dde6062cc
py/objstr: Fix mix-signed comparison in str.center().
2016-05-22 02:22:14 +03:00
Dave Hylands
6a60fb3cf4
py/objstr*: Properly ifdef str.center().
2016-05-22 01:54:41 +03:00