<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/minimal, branch v1.5</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.5</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.5'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-10-19T15:32:42+00:00</updated>
<entry>
<title>all: Make netutils.h available to all ports by default.</title>
<updated>2015-10-19T15:32:42+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-10-19T15:22:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e0f5df579b6cf0410b9693f9a75d9b50a0de350e'/>
<id>urn:sha1:e0f5df579b6cf0410b9693f9a75d9b50a0de350e</id>
<content type='text'>
Generally, ports should inherit INC from py.mk, append to it, not
overwrite it. TODO: Likely should do the same for other vars too.
</content>
</entry>
<entry>
<title>minimal: Tune parser chunk allocation policy for very small heap.</title>
<updated>2015-10-01T23:33:26+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-10-01T23:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=90b1cc51039b9a8e728fd5ac1b8f083449b6a589'/>
<id>urn:sha1:90b1cc51039b9a8e728fd5ac1b8f083449b6a589</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Allocate parse nodes in chunks to reduce fragmentation and RAM use.</title>
<updated>2015-10-01T23:11:11+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-09-23T09:50:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=58e0f4ac50b3dc732cbfe0d7b04bb41951ac1329'/>
<id>urn:sha1:58e0f4ac50b3dc732cbfe0d7b04bb41951ac1329</id>
<content type='text'>
With this patch parse nodes are allocated sequentially in chunks.  This
reduces fragmentation of the heap and prevents waste at the end of
individually allocated parse nodes.

Saves roughly 20% of RAM during parse stage.
</content>
</entry>
<entry>
<title>py: Add MICROPY_PY_BUILTINS_FILTER, disable for minimal ports.</title>
<updated>2015-08-19T22:05:11+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-08-19T22:01:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=22ff397fb11fac323607ef2e51d81a4ed96c2c50'/>
<id>urn:sha1:22ff397fb11fac323607ef2e51d81a4ed96c2c50</id>
<content type='text'>
Saves 320 bytes on x86.
</content>
</entry>
<entry>
<title>minimal: Use 1 byte for qstr hash, to make port more minimal.</title>
<updated>2015-08-02T19:54:58+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-08-02T19:54:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7a26e4f4843cfab3af1ab090f8c12aa7518e0bf6'/>
<id>urn:sha1:7a26e4f4843cfab3af1ab090f8c12aa7518e0bf6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bare-arm, minimal, qemu-arm: Make do_str() take parse-input-kind as arg.</title>
<updated>2015-06-22T21:38:47+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-06-22T21:38:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c4b592d3793bae6effe13a9b606083c9097d2779'/>
<id>urn:sha1:c4b592d3793bae6effe13a9b606083c9097d2779</id>
<content type='text'>
The do_str() function is provided essentially as documentation to show
how to compile and execute a string.  This patch makes do_str take an
extra arg to specify how the string should be interpreted: either as a
single line (ie from a REPL) or as multiple lines (ie from a file).
</content>
</entry>
<entry>
<title>py: Use a wrapper to explicitly check self argument of builtin methods.</title>
<updated>2015-06-20T15:39:39+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-06-19T12:49:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=06593fb0f23dfc12f482561fbec1717dca0d4db4'/>
<id>urn:sha1:06593fb0f23dfc12f482561fbec1717dca0d4db4</id>
<content type='text'>
Previous to this patch a call such as list.append(1, 2) would lead to a
seg fault.  This is because list.append is a builtin method and the first
argument to such methods is always assumed to have the correct type.

Now, when a builtin method is extracted like this it is wrapped in a
checker object which checks the the type of the first argument before
calling the builtin function.

This feature is contrelled by MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG and
is enabled by default.

See issue #1216.
</content>
</entry>
<entry>
<title>pyexec: Make raw REPL work with event-driven version of pyexec.</title>
<updated>2015-05-05T23:02:58+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-05-05T23:02:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c98c128fe885e539ecd73843756340f8950115c8'/>
<id>urn:sha1:c98c128fe885e539ecd73843756340f8950115c8</id>
<content type='text'>
esp8266 port now has working raw and friendly REPL, as well as working
soft reset (CTRL-D at REPL, or raise SystemExit).

tools/pyboard.py now works with esp8266 port.
</content>
</entry>
<entry>
<title>py: Add attrtuple object, for space-efficient tuples with attr access.</title>
<updated>2015-04-21T14:14:24+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-21T14:14:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5aa311d33084c24262780cae0a65d748990ce7e1'/>
<id>urn:sha1:5aa311d33084c24262780cae0a65d748990ce7e1</id>
<content type='text'>
If you need the functionality of a namedtuple but will only make 1 or a
few instances, then use an attrtuple instead.
</content>
</entry>
<entry>
<title>py: Overhaul and simplify printf/pfenv mechanism.</title>
<updated>2015-04-16T14:30:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-09T22:56:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7f9d1d6ab923096582622b700bedb6a571518eac'/>
<id>urn:sha1:7f9d1d6ab923096582622b700bedb6a571518eac</id>
<content type='text'>
Previous to this patch the printing mechanism was a bit of a tangled
mess.  This patch attempts to consolidate printing into one interface.

All (non-debug) printing now uses the mp_print* family of functions,
mainly mp_printf.  All these functions take an mp_print_t structure as
their first argument, and this structure defines the printing backend
through the "print_strn" function of said structure.

Printing from the uPy core can reach the platform-defined print code via
two paths: either through mp_sys_stdout_obj (defined pert port) in
conjunction with mp_stream_write; or through the mp_plat_print structure
which uses the MP_PLAT_PRINT_STRN macro to define how string are printed
on the platform.  The former is only used when MICROPY_PY_IO is defined.

With this new scheme printing is generally more efficient (less layers
to go through, less arguments to pass), and, given an mp_print_t*
structure, one can call mp_print_str for efficiency instead of
mp_printf("%s", ...).  Code size is also reduced by around 200 bytes on
Thumb2 archs.
</content>
</entry>
</feed>
