<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/teensy/main.c, branch v1.8.6</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.6</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.6'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-10-14T05:46:34+00:00</updated>
<entry>
<title>py/vstr: Combine vstr_new_size with vstr_new since they are rarely used.</title>
<updated>2016-10-14T05:46:34+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-10-14T05:46:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=824f5c5a32d740acad50d23b7ab1d69660dcf3ad'/>
<id>urn:sha1:824f5c5a32d740acad50d23b7ab1d69660dcf3ad</id>
<content type='text'>
Now there is just one function to allocate a new vstr, namely vstr_new
(in addition to vstr_init etc).  The caller of this function should know
what initial size to allocate for the buffer, or at least have some policy
or config option, instead of leaving it to a default (as it was before).
</content>
</entry>
<entry>
<title>teensy: Fix execution of frozen boot.py and main.py</title>
<updated>2016-08-22T02:31:33+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2016-08-20T04:09:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=253e1a6f6771c09db742c22a25ab53ffbd68eab2'/>
<id>urn:sha1:253e1a6f6771c09db742c22a25ab53ffbd68eab2</id>
<content type='text'>
</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>lib/utils: Add pyexec_frozen_module to load and execute frozen module.</title>
<updated>2015-12-26T12:32:33+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-12-26T12:32:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=84b245f187f9711357b1fd46bebc67266bd028e5'/>
<id>urn:sha1:84b245f187f9711357b1fd46bebc67266bd028e5</id>
<content type='text'>
This is a convenience function similar to pyexec_file.  It should be used
instead of raw mp_parse_compile_execute because the latter does not catch
and report exceptions.
</content>
</entry>
<entry>
<title>lib/pyexec: Move header pyexec.h from stmhal directory.</title>
<updated>2015-11-09T13:13:09+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-11-09T13:13:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=40274fec9c0f8e1ce06f999927f550106b9aa5e8'/>
<id>urn:sha1:40274fec9c0f8e1ce06f999927f550106b9aa5e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>teensy: Switch over to using frozen modules instead of memzip</title>
<updated>2015-11-04T14:21:21+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2015-11-01T05:55:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=53ea2b5ce2f7088c871c6c264899e4eae7973859'/>
<id>urn:sha1:53ea2b5ce2f7088c871c6c264899e4eae7973859</id>
<content type='text'>
I left memzip in for the time being, so you can choose in
the Makefile whether to USE_FROZEN or USE_MEMZIP.

It looks like using frozen saves about 2472 bytes (using my
set of 15 python files), mostly due to overheads in the
zip file format.
</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>stmhal: Make pybstdio usable by other ports, and use it.</title>
<updated>2015-02-13T15:04:53+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-02-13T15:04:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0b32e50365b6e36474e183a7240ccfc8fa56830a'/>
<id>urn:sha1:0b32e50365b6e36474e183a7240ccfc8fa56830a</id>
<content type='text'>
Now all ports can use pybstdio.c to provide sys.stdin/stdout/stderr, so
long as they implement mp_hal_stdin_* and mp_hal_stdout_* functions.
</content>
</entry>
<entry>
<title>py: Change vstr_null_terminate -&gt; vstr_null_terminated_str, returns str.</title>
<updated>2015-01-29T13:57:23+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-29T13:57:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=827b0f747b2aa4870ef8de90cb0c3a4151e5ce71'/>
<id>urn:sha1:827b0f747b2aa4870ef8de90cb0c3a4151e5ce71</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Change vstr so that it doesn't null terminate buffer by default.</title>
<updated>2015-01-28T23:43:01+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-28T23:43:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0d3cb6726ddc1bab9fdd11a0aaa259fb436da4b2'/>
<id>urn:sha1:0d3cb6726ddc1bab9fdd11a0aaa259fb436da4b2</id>
<content type='text'>
This cleans up vstr so that it's a pure "variable buffer", and the user
can decide whether they need to add a terminating null byte.  In most
places where vstr is used, the vstr did not need to be null terminated
and so this patch saves code size, a tiny bit of RAM, and makes vstr
usage more efficient.  When null termination is needed it must be
done explicitly using vstr_null_terminate.
</content>
</entry>
</feed>
