<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/stmhal/printf.c, branch v1.4.5</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.5</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.5'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-07-29T23:38:32+00:00</updated>
<entry>
<title>stmhal: Add STM32F7DISC and associated changes.</title>
<updated>2015-07-29T23:38:32+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2015-07-28T18:13:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=92d4b51ad5d828930334f87d9619a78b5877a384'/>
<id>urn:sha1:92d4b51ad5d828930334f87d9619a78b5877a384</id>
<content type='text'>
</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>
<entry>
<title>minimal: Allow to compile without defining MICROPY_HAL_H.</title>
<updated>2015-02-13T15:26:53+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-02-13T15:26:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=601c814603801ad3af78e37d26c87a4470156738'/>
<id>urn:sha1:601c814603801ad3af78e37d26c87a4470156738</id>
<content type='text'>
</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: 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>stmhal: Prefix includes with py/; remove need for -I../py.</title>
<updated>2015-01-01T21:06:20+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-01T21:06:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=2cf6dfa280a8149941aafc852fbaae8bdfc4999e'/>
<id>urn:sha1:2cf6dfa280a8149941aafc852fbaae8bdfc4999e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Fix some macros defines; cleanup some includes.</title>
<updated>2014-11-05T21:16:41+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-11-05T21:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7860c2a68acd1ccd28cb4bb87819487fd6966a9e'/>
<id>urn:sha1:7860c2a68acd1ccd28cb4bb87819487fd6966a9e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow real memory errors (from locked gc) to be reported with traceback.</title>
<updated>2014-10-07T15:07:49+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2014-10-07T07:50:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3556e45711c3b7ec712748d013e678d035185bdd'/>
<id>urn:sha1:3556e45711c3b7ec712748d013e678d035185bdd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stmhal: Use mp_uint_t where appropriate.</title>
<updated>2014-10-05T20:51:54+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-10-05T20:51:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d03c6816083c8ce8a35d278ede48c4089012b055'/>
<id>urn:sha1:d03c6816083c8ce8a35d278ede48c4089012b055</id>
<content type='text'>
Found these by compiling stmhal with mp_uint_t of type uint32_t instead
of unsigned int.  This actually makes a difference to the code, but just
a curiosity.
</content>
</entry>
<entry>
<title>stmhal: Fix REPL printing by cooking output sent to stdout_obj.</title>
<updated>2014-07-20T12:57:43+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-07-20T12:57:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=951ed9d02ffc826c68ee3af26c3530477e7e6156'/>
<id>urn:sha1:951ed9d02ffc826c68ee3af26c3530477e7e6156</id>
<content type='text'>
Recent changes to builtin print meant that print was printing to the
mp_sys_stdout_obj, which was sending data raw to the USB CDC device.
The data should be cooked so that \n turns into \r\n.
</content>
</entry>
</feed>
