<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/qemu-arm, branch v1.8.1</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.1</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.1'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-03-15T13:45:32+00:00</updated>
<entry>
<title>qemu-arm: Enable builtin override feature, and enable more tests.</title>
<updated>2016-03-15T13:45:32+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-15T13:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=be989be861c05b64425267b62c2419e28e7a8cf1'/>
<id>urn:sha1:be989be861c05b64425267b62c2419e28e7a8cf1</id>
<content type='text'>
Hopefully these tests run reliably on Travis.
</content>
</entry>
<entry>
<title>qemu-arm: Reinitialise uPy heap and runtime at start of each test.</title>
<updated>2016-03-15T13:42:36+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-03-15T13:42:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1ded19d4b3c9710c123a65fd7f369e0022eac02d'/>
<id>urn:sha1:1ded19d4b3c9710c123a65fd7f369e0022eac02d</id>
<content type='text'>
Previous to this patch, all qemu-arm tests were running in the same
session, and global variables could be left over from the previous test.
This patch makes it so that the heap and runtime are reinitialised at
the start of each test.
</content>
</entry>
<entry>
<title>py/runtime: mp_stack_ctrl_init() should be called immediately on startup.</title>
<updated>2016-01-29T00:13:42+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-01-28T23:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d3b1f0b627ccc6705d9fe958549badb87a74ded1'/>
<id>urn:sha1:d3b1f0b627ccc6705d9fe958549badb87a74ded1</id>
<content type='text'>
Calling it from mp_init() is too late for some ports (like Unix), and leads
to incomplete stack frame being captured, with following GC issues. So, now
each port should call mp_stack_ctrl_init() on its own, ASAP after startup,
and taking special precautions so it really was called before stack variables
get allocated (because if such variable with a pointer is missed, it may lead
to over-collecting (typical symptom is segfaulting)).
</content>
</entry>
<entry>
<title>py: Change type signature of builtin funs that take variable or kw args.</title>
<updated>2016-01-11T00:49:27+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T14:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4b72b3a133ea87a1ef8b964508dc25c551ccf093'/>
<id>urn:sha1:4b72b3a133ea87a1ef8b964508dc25c551ccf093</id>
<content type='text'>
With this patch the n_args parameter is changed type from mp_uint_t to
size_t.
</content>
</entry>
<entry>
<title>py: Change struct and macro for builtin fun so they can be type checked.</title>
<updated>2016-01-03T11:53:44+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T11:53:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1b0aab621baf081bf1cbeb38a29bd37fbc135cc7'/>
<id>urn:sha1:1b0aab621baf081bf1cbeb38a29bd37fbc135cc7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: Add py/mphal.h and use it in all ports.</title>
<updated>2015-10-31T16:14:30+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-10-30T23:03:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=731f359292c0e2630873df1a19c5baac7287024f'/>
<id>urn:sha1:731f359292c0e2630873df1a19c5baac7287024f</id>
<content type='text'>
py/mphal.h contains declarations for generic mp_hal_XXX functions, such
as stdio and delay/ticks, which ports should provide definitions for.  A
port will also provide mphalport.h with further HAL declarations.
</content>
</entry>
<entry>
<title>Makefiles: Remove duplicate object files when linking.</title>
<updated>2015-10-24T12:46:53+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-10-23T23:26:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0dbd928ceefed09d65276211c70d0137b4734011'/>
<id>urn:sha1:0dbd928ceefed09d65276211c70d0137b4734011</id>
<content type='text'>
Scenario: module1 depends on some common file from lib/, so specifies it
in its SRC_MOD, and the same situation with module2, then common file
from lib/ eventually ends up listed twice in $(OBJ), which leads to link
errors.

Make is equipped to deal with such situation easily, quoting the manual:
"The value of $^ omits duplicate prerequisites, while $+ retains them and
preserves their order." So, just use $^ consistently in all link targets.
</content>
</entry>
<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>py: Remove dependency on printf/fwrite in mp_plat_print.</title>
<updated>2015-10-14T23:05:55+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-10-14T23:05:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4300c7dba2f500cd3b2a664c7491aa3ddb328011'/>
<id>urn:sha1:4300c7dba2f500cd3b2a664c7491aa3ddb328011</id>
<content type='text'>
See issue #1500.
</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>
</feed>
