<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py, branch v1.3.2</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.3.2</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.3.2'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2014-09-25T16:35:56+00:00</updated>
<entry>
<title>py: Simplify JSON str printing (while still conforming to JSON spec).</title>
<updated>2014-09-25T16:35:56+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-25T16:35:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cde0ca21bf79420386c7cb31de29b0f799f16655'/>
<id>urn:sha1:cde0ca21bf79420386c7cb31de29b0f799f16655</id>
<content type='text'>
The JSON specs are relatively flexible and allow us to use one function
to print strings, be they ascii, bytes or utf-8 encoded.
</content>
</entry>
<entry>
<title>py: Tidy up exception matching; allow matching of tuple of exceptions.</title>
<updated>2014-09-25T14:49:26+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-24T13:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4bcd04bcaddeeb53779f2c067a4d1b533c888f9d'/>
<id>urn:sha1:4bcd04bcaddeeb53779f2c067a4d1b533c888f9d</id>
<content type='text'>
Addresses issue #864.
</content>
</entry>
<entry>
<title>py: For malloc and vstr functions, use size_t exclusively for int type.</title>
<updated>2014-09-25T14:49:26+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-23T17:10:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b0261341d3706329ea58d8fc1a5ff9c788c9ccf7'/>
<id>urn:sha1:b0261341d3706329ea58d8fc1a5ff9c788c9ccf7</id>
<content type='text'>
It seems most sensible to use size_t for measuring "number of bytes" in
malloc and vstr functions (since that's what size_t is for).  We don't
use mp_uint_t because malloc and vstr are not Micro Python specific.
</content>
</entry>
<entry>
<title>py: Free non-interned strings in the parser when not needed.</title>
<updated>2014-09-23T15:31:56+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-23T15:31:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=52b5d76a6b0c5e4c779211fdf7bca56d87a2f83e'/>
<id>urn:sha1:52b5d76a6b0c5e4c779211fdf7bca56d87a2f83e</id>
<content type='text'>
mp_parse_node_free now frees the memory associated with non-interned
strings.  And the parser calls mp_parse_node_free when discarding a
non-used node (such as a doc string).

Also, the compiler now frees the parse tree explicitly just before it
exits (as opposed to relying on the caller to do this).

Addresses issue #708 as best we can.
</content>
</entry>
<entry>
<title>py: Make native emitter handle multi-compare and not/is not/not in ops.</title>
<updated>2014-09-23T14:15:45+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-23T14:10:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d6230f62c785c6c1ef1797500617c33e24607980'/>
<id>urn:sha1:d6230f62c785c6c1ef1797500617c33e24607980</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stmhal: Initialise stack pointer correctly.</title>
<updated>2014-09-23T09:59:05+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-23T09:59:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=eaaebf3291a12ff65ca5c7f16e0d486fbde10efa'/>
<id>urn:sha1:eaaebf3291a12ff65ca5c7f16e0d486fbde10efa</id>
<content type='text'>
Stack is full descending and must be 8-byte aligned.  It must start off
pointing to just above the last byte of RAM.

Previously, stack started pointed to last byte of RAM (eg 0x2001ffff)
and so was not 8-byte aligned.  This caused a bug in combination with
alloca.

This patch also updates some debug printing code.

Addresses issue #872 (among many other undiscovered issues).
</content>
</entry>
<entry>
<title>extmod: Add loads to ujson module.</title>
<updated>2014-09-21T22:43:03+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-21T10:40:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=89e4657c69ecd27d3735a0589132426d610ef7cc'/>
<id>urn:sha1:89e4657c69ecd27d3735a0589132426d610ef7cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add 'builtins' module.</title>
<updated>2014-09-17T22:17:26+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-17T22:17:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3d61528fe7d38649335dee780110b3818a0ab94c'/>
<id>urn:sha1:3d61528fe7d38649335dee780110b3818a0ab94c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add native json printing using existing print framework.</title>
<updated>2014-09-17T21:56:34+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-17T21:56:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=612045f53f7e5edf9faa359ee9ee52d490d58000'/>
<id>urn:sha1:612045f53f7e5edf9faa359ee9ee52d490d58000</id>
<content type='text'>
Also add start of ujson module with dumps implemented.  Enabled in unix
and stmhal ports.  Test passes on both.
</content>
</entry>
<entry>
<title>py: Make dict use a bit less RAM when iterating; properly del values.</title>
<updated>2014-09-17T14:53:03+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-09-17T14:53:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8a9b999f1c9a0edf84b2507940efb8deaaa380b8'/>
<id>urn:sha1:8a9b999f1c9a0edf84b2507940efb8deaaa380b8</id>
<content type='text'>
Heap RAM was being allocated to print dicts and do some other types of
iterating.  Now these iterations use 1 word of state on the stack.

Deleting elements from a dict was not allowing the value to be reclaimed
by the GC.  This is now fixed.
</content>
</entry>
</feed>
