<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/pfenv.h, branch encoding</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=encoding</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=encoding'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-04-16T14:30:16+00:00</updated>
<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>
<entry>
<title>py: Remove unnecessary and unused sgn argument from pfenv_print_mp_int.</title>
<updated>2015-03-14T22:32:40+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-03-14T22:32:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fa1edff006ced6f2e4b4ba4f899809c0d2a63de0'/>
<id>urn:sha1:fa1edff006ced6f2e4b4ba4f899809c0d2a63de0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Can compile with -Wmissing-declarations and -Wmissing-prototypes.</title>
<updated>2015-01-12T22:30:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-12T22:30:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cd3420740909b3b6a2140b613b591b7556b417a2'/>
<id>urn:sha1:cd3420740909b3b6a2140b613b591b7556b417a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Move to guarded includes, everywhere in py/ core.</title>
<updated>2015-01-01T20:32:09+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-01T20:27:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=51dfcb4bb7613ed164952712d9a5235a7b833cde'/>
<id>urn:sha1:51dfcb4bb7613ed164952712d9a5235a7b833cde</id>
<content type='text'>
Addresses issue #1022.
</content>
</entry>
<entry>
<title>modsys: Add sys.print_exception(exc, file=sys.stdout) function.</title>
<updated>2014-12-08T20:25:49+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-12-06T12:29:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=46c3ab20049af16e97863e90e5761fae329f872a'/>
<id>urn:sha1:46c3ab20049af16e97863e90e5761fae329f872a</id>
<content type='text'>
The function is modeled after traceback.print_exception(), but unbloated,
and put into existing module to save overhead on adding another module.
Compliant traceback.print_exception() is intended to be implemented in
micropython-lib in terms of sys.print_exception().

This change required refactoring mp_obj_print_exception() to take pfenv_t
interface arguments.

Addresses #751.
</content>
</entry>
<entry>
<title>py: Convert [u]int to mp_[u]int_t where appropriate.</title>
<updated>2014-10-03T17:44:14+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-03T17:44:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=42f3de924bc3e285490f5f293955bc6d7e5a0edf'/>
<id>urn:sha1:42f3de924bc3e285490f5f293955bc6d7e5a0edf</id>
<content type='text'>
Addressing issue #50.
</content>
</entry>
<entry>
<title>py: Make print() accept "file" argument, and actually print to stream.</title>
<updated>2014-07-19T18:27:22+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-07-13T20:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cb66f41ebc4980f4e6b7543bece19e3b9daac25c'/>
<id>urn:sha1:cb66f41ebc4980f4e6b7543bece19e3b9daac25c</id>
<content type='text'>
And not system printf(), like it was before. For this, move pfenv_printf()
from stmhal port to py/.
</content>
</entry>
<entry>
<title>Rename machine_(u)int_t to mp_(u)int_t.</title>
<updated>2014-07-03T12:25:24+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-07-03T12:25:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=40f3c026823f8951a2fa04e9c7fc93c75bc27bec'/>
<id>urn:sha1:40f3c026823f8951a2fa04e9c7fc93c75bc27bec</id>
<content type='text'>
See discussion in issue #50.
</content>
</entry>
<entry>
<title>Fix str.modulo when precision is specified.</title>
<updated>2014-06-06T06:09:02+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2014-06-06T06:09:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b69f9fa31f976cac4cdcb441612c8a72b10af457'/>
<id>urn:sha1:b69f9fa31f976cac4cdcb441612c8a72b10af457</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename bultins config variables to MICROPY_PY_BUILTINS_*.</title>
<updated>2014-06-01T12:32:54+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-06-01T12:32:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fb510b3bf90eccc8e0d400c6622b2e94c2bfa8e9'/>
<id>urn:sha1:fb510b3bf90eccc8e0d400c6622b2e94c2bfa8e9</id>
<content type='text'>
This renames:
MICROPY_PY_FROZENSET -&gt; MICROPY_PY_BUILTINS_FROZENSET
MICROPY_PY_PROPERTY -&gt; MICROPY_PY_BUILTINS_PROPERTY
MICROPY_PY_SLICE -&gt; MICROPY_PY_BUILTINS_SLICE
MICROPY_ENABLE_FLOAT -&gt; MICROPY_PY_BUILTINS_FLOAT

See issue #35 for discussion.
</content>
</entry>
</feed>
