<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/tools, branch 4.1.x</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=4.1.x</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=4.1.x'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2019-12-18T04:14:20+00:00</updated>
<entry>
<title>Increase stack size (Back-port #2393 to 4.x)</title>
<updated>2019-12-18T04:14:20+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2019-12-17T16:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=241988b3d198169067a0d291852af882ae092d3e'/>
<id>urn:sha1:241988b3d198169067a0d291852af882ae092d3e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>preprocess_frozen_modules: exclude subdirs of examples, docs, tests</title>
<updated>2019-12-17T16:01:33+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2019-12-17T16:01:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1719a14cf07866f3c86a4daac7f09124004d7eb9'/>
<id>urn:sha1:1719a14cf07866f3c86a4daac7f09124004d7eb9</id>
<content type='text'>
.. this reclaims several kB on CPX, where we really need it.
</content>
</entry>
<entry>
<title>Track a dirty area for in-memory bitmaps</title>
<updated>2019-07-18T23:47:28+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-07-18T23:47:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4a6bdb6fe471b3024b2ca1d977ef02bfd94cc12a'/>
<id>urn:sha1:4a6bdb6fe471b3024b2ca1d977ef02bfd94cc12a</id>
<content type='text'>
This fixes the bug that bitmap changes do not cause screen updates
and optimizes the refresh when the bitmap is simply shown on the
screen. If the bitmap is used in tiles, then changing it will
cause all TileGrids using it to do a full refresh.

Fixes #1981
</content>
</entry>
<entry>
<title>Use FONTBOUNDINGBOX for font metrics</title>
<updated>2019-06-29T23:10:47+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2019-06-29T23:10:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7c908b08ee3704a4784919e68b17e1a2f571fa17'/>
<id>urn:sha1:7c908b08ee3704a4784919e68b17e1a2f571fa17</id>
<content type='text'>
Instead of iterating over all the glyphs and calculating the maximum
width and height, use the FONTBOUNDINGBOX to determine the size of a
tile for terminalio.

This works better with fonts such as generated by FontForge, that don't
include the empty space in the glyph bitmap itself. It also lets the
font author specify vertical spacing they want.

I only tested this with the default font and with one I generated with
FontForge.
</content>
</entry>
<entry>
<title>Add partial display update support.</title>
<updated>2019-06-12T18:32:39+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-06-06T22:11:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=eb21fc3e31790cee094d5c11811b55a57625340a'/>
<id>urn:sha1:eb21fc3e31790cee094d5c11811b55a57625340a</id>
<content type='text'>
Different operations to the display tree have different costs. Be
aware of these costs when optimizing your code.
* Changing tiles indices in a TileGrid will update an area
covering them all.
* Changing a palette will refresh every object that references it.
* Moving a TileGrid will update both where it was and where it moved to.
* Adding something to a Group will refresh each individual area it
covers.
* Removing things from a Group will refresh one area that covers all
previous locations. (Not separate areas like add.)
* Setting a new top level Group will refresh the entire display.

Only TileGrid moves are optimized for overlap. All other overlaps
cause sending of duplicate pixels.

This also adds flip_x, flip_y and transpose_xy to TileGrid. They
change the direction of the pixels but not the location.

Fixes #1169. Fixes #1705. Fixes #1923.
</content>
</entry>
<entry>
<title>Merge latest 4.0.x fixes into master</title>
<updated>2019-06-11T20:16:29+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-06-11T20:16:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4fc189b60c800f097db55c16768fa8c73eb72ccf'/>
<id>urn:sha1:4fc189b60c800f097db55c16768fa8c73eb72ccf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>forgot tools/git-checkout-latest-tag.sh in PR #1909</title>
<updated>2019-06-11T19:22:32+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-06-11T19:22:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5164a6eb26ebc8f02a90081b610496e2517259ed'/>
<id>urn:sha1:5164a6eb26ebc8f02a90081b610496e2517259ed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement forced clean builds for boards so designated.</title>
<updated>2019-05-24T19:32:24+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-05-24T19:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4e85c1ef91683929df0afe105e92ce6e4291b445'/>
<id>urn:sha1:4e85c1ef91683929df0afe105e92ce6e4291b445</id>
<content type='text'>
Mark boards that set CFLAGS_INLINE_LIMIT for particular langauges as needing clean builds.

Fixes #1910.
</content>
</entry>
<entry>
<title>Rework the pixel computation to use areas</title>
<updated>2019-05-22T00:41:06+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-05-16T23:45:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3fad7de8db7f1f317ab6d00a00a82e406ec6fb33'/>
<id>urn:sha1:3fad7de8db7f1f317ab6d00a00a82e406ec6fb33</id>
<content type='text'>
This changes the displayio pixel computation from per-pixel to
per-area. This is precursor work to updating portions of the screen
(#1169). It should provide mild speedups because bounds checks are
done once per area rather than once per pixel. Filling by area also
allows TileGrid to maintain a row-associative fill pattern even when
the display's refresh is orthogonal to it.
</content>
</entry>
<entry>
<title>Update font location and shrink a bunch of builds</title>
<updated>2019-04-12T22:25:48+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-04-12T22:25:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=796fc3f5abd856848829fc58861c2a69d42c684f'/>
<id>urn:sha1:796fc3f5abd856848829fc58861c2a69d42c684f</id>
<content type='text'>
</content>
</entry>
</feed>
