<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/pic16bit, branch v1.7</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.7</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.7'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-01-16T21:07:26+00:00</updated>
<entry>
<title>pic16bit: Minor updates to types to allow port to compile again.</title>
<updated>2016-01-16T21:07:26+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-16T21:07:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e7bee6b35ea4c9e622209902456be64559b94d17'/>
<id>urn:sha1:e7bee6b35ea4c9e622209902456be64559b94d17</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pic16bit: Use global MICROPY_NO_ALLOCA setting.</title>
<updated>2015-11-26T21:11:38+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-11-26T21:10:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=61e85a8ce00a81421e6eb948e98f55ad39b3c1ec'/>
<id>urn:sha1:61e85a8ce00a81421e6eb948e98f55ad39b3c1ec</id>
<content type='text'>
</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>stmhal: pyexec.c is common module, move to lib/utils/ .</title>
<updated>2015-10-31T16:35:10+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-10-31T16:35:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0ec51441de4db3fc776b1f2013005391caa910d3'/>
<id>urn:sha1:0ec51441de4db3fc776b1f2013005391caa910d3</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>pic16bit: Add basic unistd.h file since it's not provided by tool chain.</title>
<updated>2015-09-15T15:24:13+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-09-15T15:24:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0d6b2341b8f8e2723d1856ea129b8116e294ff3f'/>
<id>urn:sha1:0d6b2341b8f8e2723d1856ea129b8116e294ff3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>pic16bit: Add readinto and readlines to qstrs.</title>
<updated>2015-05-20T22:12:43+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-05-20T22:12:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a3c96c925229909535e81c7596e03b66af328a4d'/>
<id>urn:sha1:a3c96c925229909535e81c7596e03b66af328a4d</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>
</feed>
